This commit is contained in:
Paul 2001-07-02 22:57:52 +00:00
parent 39f3e1a5d5
commit 91ae454d7f
37 changed files with 753 additions and 122 deletions

View file

@ -26,6 +26,14 @@
#include "player\pmodes.h"
#endif
#ifndef __GAME_CONVO_H__
#include "game\convo.h"
#endif
#ifndef __GAME_GAME_H__
#include "game\game.h"
#endif
/* Std Lib
------- */
@ -33,6 +41,10 @@
/* Data
---- */
#ifndef __FILE_EQUATES_H__
#include <biglump.h>
#endif
#ifndef __ANIM_SPONGEBOB_HEADER__
#include <ACTOR_SPONGEBOB_ANIM.h>
#endif
@ -57,6 +69,18 @@
CPlayerStateDance s_stateDance;
static const FileEquate s_celebrationScripts[5][4]=
{
{ SCRIPTS_C1L1_CELEBRATE_DAT, SCRIPTS_C1L2_CELEBRATE_DAT, SCRIPTS_C1L3_CELEBRATE_DAT, SCRIPTS_C1L4_CELEBRATE_DAT },
{ SCRIPTS_C2L1_CELEBRATE_DAT, SCRIPTS_C2L2_CELEBRATE_DAT, SCRIPTS_C2L3_CELEBRATE_DAT, SCRIPTS_C2L4_CELEBRATE_DAT },
{ SCRIPTS_C3L1_CELEBRATE_DAT, SCRIPTS_C3L2_CELEBRATE_DAT, SCRIPTS_C3L3_CELEBRATE_DAT, SCRIPTS_C3L4_CELEBRATE_DAT },
{ SCRIPTS_C4L1_CELEBRATE_DAT, SCRIPTS_C4L2_CELEBRATE_DAT, SCRIPTS_C4L3_CELEBRATE_DAT, SCRIPTS_C4L4_CELEBRATE_DAT },
{ SCRIPTS_C5L1_CELEBRATE_DAT, SCRIPTS_C5L2_CELEBRATE_DAT, SCRIPTS_C5L3_CELEBRATE_DAT, SCRIPTS_C5L4_CELEBRATE_DAT },
};
/*----------------------------------------------------------------------
Function:
Purpose:
@ -65,7 +89,8 @@ CPlayerStateDance s_stateDance;
---------------------------------------------------------------------- */
void CPlayerStateDance::enter(CPlayerModeBase *_playerMode)
{
_playerMode->setAnimNo(ANIM_SPONGEBOB_CELEBRATE);
_playerMode->setAnimNo(ANIM_SPONGEBOB_JUMP);
m_hitGround=false;
}
@ -77,9 +102,28 @@ void CPlayerStateDance::enter(CPlayerModeBase *_playerMode)
---------------------------------------------------------------------- */
void CPlayerStateDance::think(CPlayerModeBase *_playerMode)
{
_playerMode->advanceAnimFrameAndCheckForEndOfAnim();
_playerMode->slowdown();
_playerMode->fall();
if(!m_hitGround)
{
if(_playerMode->getHeightFromGound()==0)
{
_playerMode->setAnimNo(ANIM_SPONGEBOB_CELEBRATE);
m_hitGround=true;
}
else
{
_playerMode->fallToDance();
}
}
else
{
if(_playerMode->advanceAnimFrameAndCheckForEndOfAnim())
{
CConversation::trigger(s_celebrationScripts[GameScene.getChapterNumber()-1][GameScene.getLevelNumber()-1]);
// GameScene.getPlayer()->setCanExitLevelNow();
_playerMode->setState(STATE_IDLE);
}
}
}