This commit is contained in:
Paul 2001-06-25 20:25:28 +00:00
parent 916cdef0aa
commit a5e3a138c2
14 changed files with 464 additions and 70 deletions

View file

@ -299,7 +299,7 @@ PLAYER_ADDONS s_addonNumbers[NUM_PLAYERMODES]=
NO_ADDON, // PLAYER_MODE_CART
};
static s8 s_animMapNet[NUM_PLAYER_ADDONS][NUM_ANIM_SPONGEBOB]=
s8 s_animMapNet[NUM_PLAYER_ADDONS][NUM_ANIM_SPONGEBOB]=
{
// PLAYER_ADDON_NET,
{
@ -498,7 +498,7 @@ static s8 s_animMapNet[NUM_PLAYER_ADDONS][NUM_ANIM_SPONGEBOB]=
-1, // ANIM_SPONGEBOB_BLOWBUBBLE,
-1, // ANIM_SPONGEBOB_FIREEND,
-1, // ANIM_SPONGEBOB_FIRESTART,
-1, // ANIM_SPONGEBOB_IDLEWEAPON,
ANIM_SPONGEBOB_JELLYFISH_IDLEWEAPON, // ANIM_SPONGEBOB_IDLEWEAPON,
-1, // ANIM_SPONGEBOB_WALK,
-1, // ANIM_SPONGEBOB_KARATE,
ANIM_SPONGEBOB_JELLYFISH_GETHIT, // ANIM_SPONGEBOB_GETHIT
@ -513,7 +513,7 @@ static s8 s_animMapNet[NUM_PLAYER_ADDONS][NUM_ANIM_SPONGEBOB]=
-1, // ANIM_SPONGEBOB_IDLEMATURE,
-1, // ANIM_SPONGEBOB_IDLEMOUSTACHE,
-1, // ANIM_SPONGEBOB_IDLENOFACE,
-1, // ANIM_SPONGEBOB_IDLENET,
ANIM_SPONGEBOB_JELLYFISH_IDLENET, // ANIM_SPONGEBOB_IDLENET,
-1, // ANIM_SPONGEBOB_IDLEZORRO,
},

View file

@ -25,7 +25,59 @@
#include "gfx\font.h"
#endif
#include "game/game.h"
#ifndef __GAME_GAME_H__
#include "game/game.h"
#endif
// States
#ifndef __PLAYER__PSLOOK_H__
#include "player\pslook.h"
#endif
#ifndef __PLAYER__PSJUMP_H__
#include "player\psjump.h"
#endif
#ifndef __PLAYER__PSJMPBCK_H__
#include "player\psjmpbck.h"
#endif
#ifndef __PLAYER__PSRUN_H__
#include "player\psrun.h"
#endif
#ifndef __PLAYER__PSFALL_H__
#include "player\psfall.h"
#endif
#ifndef __PLAYER__PSHITGND_H__
#include "player\pshitgnd.h"
#endif
#ifndef __PLAYER__PSIDLE_H__
#include "player\psidle.h"
#endif
#ifndef __PLAYER__PSBUTT_H__
#include "player\psbutt.h"
#endif
#ifndef __PLAYER__PSDUCK_H__
#include "player\psduck.h"
#endif
#ifndef __PLAYER__PSSPRING_H__
#include "player\psspring.h"
#endif
#ifndef __PLAYER_PSCART_H__
#include "player\pscart.h"
#endif
#ifndef __PLAYER_PSFLOAT_H__
#include "player\psfloat.h"
#endif
/* Std Lib
------- */
@ -58,6 +110,32 @@
Vars
---- */
static CPlayerState *s_stateTable[]=
{
&s_stateNoAnimIdle, // STATE_IDLE
&s_stateTeeterIdle, // STATE_IDLETEETER
&s_stateJump, // STATE_JUMP
&s_stateSpring, // STATE_SPRINGUP
&s_stateRun, // STATE_RUN
&s_stateFall, // STATE_FALL
&s_stateFallFar, // STATE_FALLFAR
&s_stateHitGround, // STATE_HITGROUND
&s_stateButtBounce, // STATE_BUTTBOUNCE
&s_stateButtBounceFall, // STATE_BUTTFALL
&s_stateButtBounceLand, // STATE_BUTTLAND
&s_stateButtBounceUp, // STATE_BUTTBOUNCEUP
&s_stateSoakUp, // STATE_SOAKUP
&s_stateGetUp, // STATE_GETUP
&s_stateLookDown, // STATE_LOOKDOWN
&s_stateLookDownRelax, // STATE_LOOKDOWNRELAX
&s_stateLookUp, // STATE_LOOKUP
&s_stateLookUpRelax, // STATE_LOOKUPRELAX
&s_stateJumpBack, // STATE_JUMPBACK
&s_stateCart, // STATE_CART
&s_stateFloat, // STATE_FLOAT
};
/*----------------------------------------------------------------------
Function:
Purpose:
@ -217,5 +295,16 @@ int CPlayerModeBubbleMixture::canBlowBubbleFromThisState()
return ret;
}
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
CPlayerState **CPlayerModeBubbleMixture::getStateTable()
{
return s_stateTable;
}
/*===========================================================================
end */

View file

@ -57,6 +57,9 @@ private:
int m_blowing;
int m_bubbleDelay;
protected:
virtual class CPlayerState **getStateTable();
};

View file

@ -33,7 +33,59 @@
#include "gfx\font.h"
#endif
#include "game/game.h"
#ifndef __GAME_GAME_H__
#include "game/game.h"
#endif
// States
#ifndef __PLAYER__PSLOOK_H__
#include "player\pslook.h"
#endif
#ifndef __PLAYER__PSJUMP_H__
#include "player\psjump.h"
#endif
#ifndef __PLAYER__PSJMPBCK_H__
#include "player\psjmpbck.h"
#endif
#ifndef __PLAYER__PSRUN_H__
#include "player\psrun.h"
#endif
#ifndef __PLAYER__PSFALL_H__
#include "player\psfall.h"
#endif
#ifndef __PLAYER__PSHITGND_H__
#include "player\pshitgnd.h"
#endif
#ifndef __PLAYER__PSIDLE_H__
#include "player\psidle.h"
#endif
#ifndef __PLAYER__PSBUTT_H__
#include "player\psbutt.h"
#endif
#ifndef __PLAYER__PSDUCK_H__
#include "player\psduck.h"
#endif
#ifndef __PLAYER__PSSPRING_H__
#include "player\psspring.h"
#endif
#ifndef __PLAYER_PSCART_H__
#include "player\pscart.h"
#endif
#ifndef __PLAYER_PSFLOAT_H__
#include "player\psfloat.h"
#endif
/* Std Lib
------- */
@ -66,6 +118,32 @@
Vars
---- */
static CPlayerState *s_stateTable[]=
{
&s_stateWeaponIdle, // STATE_IDLE
&s_stateTeeterIdle, // STATE_IDLETEETER
&s_stateJump, // STATE_JUMP
&s_stateSpring, // STATE_SPRINGUP
&s_stateRun, // STATE_RUN
&s_stateFall, // STATE_FALL
&s_stateFallFar, // STATE_FALLFAR
&s_stateHitGround, // STATE_HITGROUND
&s_stateButtBounce, // STATE_BUTTBOUNCE
&s_stateButtBounceFall, // STATE_BUTTFALL
&s_stateButtBounceLand, // STATE_BUTTLAND
&s_stateButtBounceUp, // STATE_BUTTBOUNCEUP
&s_stateSoakUp, // STATE_SOAKUP
&s_stateGetUp, // STATE_GETUP
&s_stateLookDown, // STATE_LOOKDOWN
&s_stateLookDownRelax, // STATE_LOOKDOWNRELAX
&s_stateLookUp, // STATE_LOOKUP
&s_stateLookUpRelax, // STATE_LOOKUPRELAX
&s_stateJumpBack, // STATE_JUMPBACK
&s_stateCart, // STATE_CART
&s_stateFloat, // STATE_FLOAT
};
/*----------------------------------------------------------------------
Function:
Purpose:
@ -326,5 +404,16 @@ void CPlayerModeJellyLauncher::launchProjectile()
}
}
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
CPlayerState **CPlayerModeJellyLauncher::getStateTable()
{
return s_stateTable;
}
/*===========================================================================
end */

View file

@ -66,6 +66,9 @@ private:
FIRING_STATE m_firingState;
int m_firingTime;
protected:
virtual class CPlayerState **getStateTable();
};

View file

@ -56,6 +56,7 @@
CPlayerStateUnarmedIdle s_stateUnarmedIdle;
CPlayerStateTeeterIdle s_stateTeeterIdle;
CPlayerStateNoAnimIdle s_stateNoAnimIdle;
CPlayerStateWeaponIdle s_stateWeaponIdle;
CPlayerStateNetIdle s_stateNetIdle;
@ -136,6 +137,31 @@ void CPlayerStateTeeterIdle::think(CPlayerModeBase *_playerMode)
}
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
void CPlayerStateNoAnimIdle::enter(CPlayerModeBase *_playerMode)
{
_playerMode->setAnimNo(ANIM_SPONGEBOB_IDLEBREATH);
}
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
void CPlayerStateNoAnimIdle::think(CPlayerModeBase *_playerMode)
{
_playerMode->advanceAnimFrameAndCheckForEndOfAnim();
thinkControl(_playerMode);
}
/*----------------------------------------------------------------------
Function:
Purpose:
@ -296,9 +322,9 @@ int CPlayerStateUnarmedIdle::getNumIdleAnims()
static IdleAnims s_weaponIdleAnims[]=
{
// start frame loop frame end frame loop count
{ -1, ANIM_SPONGEBOB_IDLEBREATH, -1, 10*60 }, // default
{ -1, ANIM_SPONGEBOB_IDLEBREATH, -1, 5*60 },
{ -1, ANIM_SPONGEBOB_IDLEBREATH, -1, 5*60 },
{ -1, ANIM_SPONGEBOB_IDLEBREATH, -1, 10*6 }, // default
{ -1, ANIM_SPONGEBOB_IDLEBREATH, -1, 5*6 },
{ -1, ANIM_SPONGEBOB_IDLEBREATH, -1, 5*6 },
{ -1, ANIM_SPONGEBOB_IDLEWEAPON, -1, 1 },
};
static int s_numWeaponIdleAnims=sizeof(s_weaponIdleAnims)/sizeof(IdleAnims);

View file

@ -49,6 +49,14 @@ public:
};
class CPlayerStateNoAnimIdle : public CPlayerStateBaseIdle
{
public:
virtual void enter(class CPlayerModeBase *_playerMode);
virtual void think(class CPlayerModeBase *_playerMode);
};
////
typedef struct
{
@ -118,6 +126,7 @@ private:
extern CPlayerStateUnarmedIdle s_stateUnarmedIdle;
extern CPlayerStateTeeterIdle s_stateTeeterIdle;
extern CPlayerStateNoAnimIdle s_stateNoAnimIdle;
extern CPlayerStateWeaponIdle s_stateWeaponIdle;
extern CPlayerStateNetIdle s_stateNetIdle;