/*========================================================================= psduck.cpp Author: PKG Created: Project: Spongebob Purpose: Copyright (c) 2001 Climax Development Ltd ===========================================================================*/ /*---------------------------------------------------------------------- Includes -------- */ #include "player\psduck.h" #ifndef __PLAYER_PLAYER_H__ #include "player\player.h" #endif #ifndef __PAD_PADS_H__ #include "pad\pads.h" #endif /* Std Lib ------- */ /* Data ---- */ #ifndef __ANIM_PLAYER_ANIM_HEADER__ #include #endif /*---------------------------------------------------------------------- Tyepdefs && Defines ------------------- */ /*---------------------------------------------------------------------- Structure defintions -------------------- */ /*---------------------------------------------------------------------- Function Prototypes ------------------- */ /*---------------------------------------------------------------------- Vars ---- */ /*---------------------------------------------------------------------- Function: Purpose: Params: Returns: ---------------------------------------------------------------------- */ void CPlayerStateDuck::enter(CPlayer *_player) { setAnimNo(_player,ANIM_PLAYER_ANIM_SOAKUP); } /*---------------------------------------------------------------------- Function: Purpose: Params: Returns: ---------------------------------------------------------------------- */ void CPlayerStateDuck::think(CPlayer *_player) { slowdown(_player); if(advanceAnimFrameAndCheckForEndOfAnim(_player)) { setState(_player,STATE_SOAKUP); } } /*---------------------------------------------------------------------- Function: Purpose: Params: Returns: ---------------------------------------------------------------------- */ void CPlayerStateSoakUp::enter(CPlayer *_player) { DVECTOR move; move=getMoveVelocity(_player); move.vx=0; setMoveVelocity(_player,&move); setAnimNo(_player,ANIM_PLAYER_ANIM_GETUP); } /*---------------------------------------------------------------------- Function: Purpose: Params: Returns: ---------------------------------------------------------------------- */ void CPlayerStateSoakUp::think(CPlayer *_player) { int controlHeld; controlHeld=getPadInputHeld(_player); if(!(controlHeld&CPadConfig::getButton(CPadConfig::PAD_CFG_DOWN))) { setState(_player,STATE_GETUP); } } /*---------------------------------------------------------------------- Function: Purpose: Params: Returns: ---------------------------------------------------------------------- */ void CPlayerStateGetUp::enter(CPlayer *_player) { setAnimNo(_player,ANIM_PLAYER_ANIM_GETUP); } /*---------------------------------------------------------------------- Function: Purpose: Params: Returns: ---------------------------------------------------------------------- */ void CPlayerStateGetUp::think(CPlayer *_player) { if(advanceAnimFrameAndCheckForEndOfAnim(_player)) { setState(_player,STATE_IDLE); } } /*=========================================================================== end */