This commit is contained in:
parent
b8acfaa783
commit
135a2ae31b
10 changed files with 135 additions and 187 deletions
|
@ -46,6 +46,10 @@ FX
|
||||||
#include "gfx\actor.h"
|
#include "gfx\actor.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __GFX_FADER_H__
|
||||||
|
#include "gfx\fader.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Std Lib
|
/* Std Lib
|
||||||
------- */
|
------- */
|
||||||
|
@ -160,112 +164,11 @@ typedef struct
|
||||||
CFmaScene FmaScene;
|
CFmaScene FmaScene;
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
// Ch1 FMA
|
|
||||||
int s_testScript[]=
|
|
||||||
{
|
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_00_DAT,
|
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_01_DAT,
|
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_02_DAT,
|
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_03_DAT,
|
|
||||||
|
|
||||||
// Scene 1 - Shade Shoals
|
|
||||||
SC_SNAP_CAMERA_TO, 4*16,16*16,
|
|
||||||
SC_WAIT_ON_TIMER, 30,
|
|
||||||
|
|
||||||
// Scene 2 - SB arrives outside Shady Shoals
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
|
|
||||||
SC_SET_ACTOR_POSITION, FMA_ACTOR_SPONGEBOB,40*16,30*16,
|
|
||||||
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,1,
|
|
||||||
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_SPONGEBOB,true,
|
|
||||||
|
|
||||||
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,16*16,30*16,96,
|
|
||||||
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
|
|
||||||
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH6_00_DAT,
|
|
||||||
|
|
||||||
// Scene 3 - SB Fixing TV
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_MM,FMA_ANIM_IDLE,
|
|
||||||
SC_SET_ACTOR_POSITION, FMA_ACTOR_MM,224*16,30*16,
|
|
||||||
SC_SET_ACTOR_FACING, FMA_ACTOR_MM,1,
|
|
||||||
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_MM,true,
|
|
||||||
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_BB,FMA_ANIM_IDLE,
|
|
||||||
SC_SET_ACTOR_POSITION, FMA_ACTOR_BB,220*16,30*16,
|
|
||||||
SC_SET_ACTOR_FACING, FMA_ACTOR_BB,1,
|
|
||||||
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_BB,true,
|
|
||||||
|
|
||||||
SC_SET_ACTOR_POSITION, FMA_ACTOR_SPONGEBOB,208*16,30*16,
|
|
||||||
|
|
||||||
SC_SNAP_CAMERA_TO, 197*16,16*16,
|
|
||||||
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
|
|
||||||
SC_WAIT_ON_TIMER, 10,
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
|
|
||||||
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0,
|
|
||||||
SC_WAIT_ON_TIMER, 10,
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
|
|
||||||
SC_WAIT_ON_TIMER, 10,
|
|
||||||
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,1,
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
|
|
||||||
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH6_01_DAT,
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
|
|
||||||
SC_WAIT_ON_TIMER, 10,
|
|
||||||
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0,
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
|
|
||||||
SC_WAIT_ON_TIMER, 10,
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
|
|
||||||
SC_WAIT_ON_TIMER, 10,
|
|
||||||
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,1,
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
|
|
||||||
|
|
||||||
|
|
||||||
// Scene 4 - Goes to BB, and collects his prize
|
|
||||||
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,216*16,30*16,16,
|
|
||||||
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0,
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
|
|
||||||
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,
|
|
||||||
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH6_02_DAT,
|
|
||||||
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,240*16,30*16,154,
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
|
|
||||||
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
|
|
||||||
|
|
||||||
// Scene 5 - SB leaves Shady Shoals
|
|
||||||
SC_SNAP_CAMERA_TO, 4*16,16*16,
|
|
||||||
SC_WAIT_ON_TIMER, 30,
|
|
||||||
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_WALK,
|
|
||||||
SC_SET_ACTOR_POSITION, FMA_ACTOR_SPONGEBOB,4*16,30*16,
|
|
||||||
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,0,
|
|
||||||
|
|
||||||
SC_WALK_ACTOR_TO_POSITION, FMA_ACTOR_SPONGEBOB,40*16,30*16,144,
|
|
||||||
SC_WAIT_ON_ACTOR_STOP, FMA_ACTOR_SPONGEBOB,
|
|
||||||
|
|
||||||
// Scene 6 - Back in shady
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_MM,FMA_ANIM_IDLE,
|
|
||||||
SC_SET_ACTOR_POSITION, FMA_ACTOR_MM,207*16,30*16,
|
|
||||||
SC_SET_ACTOR_FACING, FMA_ACTOR_MM,0,
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_BB,FMA_ANIM_IDLE,
|
|
||||||
SC_SET_ACTOR_POSITION, FMA_ACTOR_BB,212*16,30*16,
|
|
||||||
SC_SET_ACTOR_FACING, FMA_ACTOR_BB,1,
|
|
||||||
SC_SNAP_CAMERA_TO, 197*16,16*16,
|
|
||||||
SC_WAIT_ON_TIMER, 60,
|
|
||||||
|
|
||||||
// Scene 7 - TV goes pop
|
|
||||||
|
|
||||||
// Scene 8 - Outside, MM & BB SCREEEEEEEEEEEEEEEAM
|
|
||||||
SC_SNAP_CAMERA_TO, 4*16,16*16,
|
|
||||||
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_CH6_03_DAT,
|
|
||||||
|
|
||||||
SC_STOP
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*** Intro FMA ***************************************************************/
|
/*** Intro FMA ***************************************************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
int s_FMAIntroScript[]=
|
static const int s_FMAIntroScript[]=
|
||||||
{
|
{
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH1_00_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH1_00_DAT,
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH1_01_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH1_01_DAT,
|
||||||
|
@ -350,7 +253,7 @@ int s_FMAIntroScript[]=
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*** C1 End FMA **************************************************************/
|
/*** C1 End FMA **************************************************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
int s_FMAC1EndScript[]=
|
static const int s_FMAC1EndScript[]=
|
||||||
{
|
{
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH2_00_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH2_00_DAT,
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH2_01_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH2_01_DAT,
|
||||||
|
@ -423,7 +326,7 @@ int s_FMAC1EndScript[]=
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*** C2 End FMA **************************************************************/
|
/*** C2 End FMA **************************************************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
int s_FMAC2EndScript[]=
|
static const int s_FMAC2EndScript[]=
|
||||||
{
|
{
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH3_00_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH3_00_DAT,
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH3_01_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH3_01_DAT,
|
||||||
|
@ -484,7 +387,7 @@ int s_FMAC2EndScript[]=
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*** C3 End FMA **************************************************************/
|
/*** C3 End FMA **************************************************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
int s_FMAC3EndScript[]=
|
static const int s_FMAC3EndScript[]=
|
||||||
{
|
{
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH4_00_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH4_00_DAT,
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH4_01_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH4_01_DAT,
|
||||||
|
@ -556,7 +459,7 @@ int s_FMAC3EndScript[]=
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*** C4 End FMA **************************************************************/
|
/*** C4 End FMA **************************************************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
int s_FMAC4EndScript[]=
|
static const int s_FMAC4EndScript[]=
|
||||||
{
|
{
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH5_00_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH5_00_DAT,
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH5_01_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH5_01_DAT,
|
||||||
|
@ -632,7 +535,7 @@ int s_FMAC4EndScript[]=
|
||||||
/*** C5 End FMA **************************************************************/
|
/*** C5 End FMA **************************************************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
int s_FMAC5EndScript[]=
|
static const int s_FMAC5EndScript[]=
|
||||||
{
|
{
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_00_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_00_DAT,
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_01_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_01_DAT,
|
||||||
|
@ -731,37 +634,9 @@ int s_FMAC5EndScript[]=
|
||||||
SC_STOP
|
SC_STOP
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
// A test script..
|
|
||||||
/*
|
|
||||||
int s_testScriptold[]=
|
|
||||||
{
|
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_CH1L1_01_DAT,
|
|
||||||
SC_SNAP_CAMERA_TO, 0,0,
|
|
||||||
SC_SET_ACTOR_VISIBILITY, ACTOR_SPONGEBOB,true,
|
|
||||||
SC_SET_ACTOR_POSITION, ACTOR_SPONGEBOB,100,100,
|
|
||||||
|
|
||||||
SC_MOVE_CAMERA_TO, 100,100,150+(60*2),
|
|
||||||
SC_WALK_ACTOR_TO_POSITION, ACTOR_SPONGEBOB,200,100,10,
|
|
||||||
SC_WAIT_ON_CAMERA_STOP,
|
|
||||||
|
|
||||||
SC_WAIT_ON_CONVERSATION, SCRIPTS_CH1L1_01_DAT,
|
|
||||||
|
|
||||||
SC_WAIT_ON_TIMER, 60,
|
|
||||||
|
|
||||||
SC_SET_ACTOR_ANIM_STATE, ACTOR_SPONGEBOB,ANIM_WALK,
|
|
||||||
SC_SET_ACTOR_FACING, ACTOR_SPONGEBOB,1,
|
|
||||||
SC_WALK_ACTOR_TO_POSITION, ACTOR_SPONGEBOB,250,200,5,
|
|
||||||
SC_WAIT_ON_ACTOR_STOP, ACTOR_SPONGEBOB,
|
|
||||||
|
|
||||||
SC_WAIT_ON_TIMER, 60*5,
|
|
||||||
|
|
||||||
SC_STOP
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Actor graphics data
|
// Actor graphics data
|
||||||
const ACTOR_GRAPHICS_DATA s_actorGraphicsData[FMA_NUM_ACTORS]=
|
static const ACTOR_GRAPHICS_DATA s_actorGraphicsData[FMA_NUM_ACTORS]=
|
||||||
{
|
{
|
||||||
{ ACTORS_SPONGEBOB_SBK, { ANIM_SPONGEBOB_IDLEBREATH, ANIM_SPONGEBOB_RUN } }, // ACTOR_SPONGEBOB
|
{ ACTORS_SPONGEBOB_SBK, { ANIM_SPONGEBOB_IDLEBREATH, ANIM_SPONGEBOB_RUN } }, // ACTOR_SPONGEBOB
|
||||||
{ ACTORS_MERMAIDMAN_SBK, { ANIM_MERMAIDMAN_IDLEBREATHE, ANIM_MERMAIDMAN_IDLEBREATHE } }, // ACTOR_MM
|
{ ACTORS_MERMAIDMAN_SBK, { ANIM_MERMAIDMAN_IDLEBREATHE, ANIM_MERMAIDMAN_IDLEBREATHE } }, // ACTOR_MM
|
||||||
|
@ -773,6 +648,20 @@ const ACTOR_GRAPHICS_DATA s_actorGraphicsData[FMA_NUM_ACTORS]=
|
||||||
ACTOR_DATA m_actorData[FMA_NUM_ACTORS];
|
ACTOR_DATA m_actorData[FMA_NUM_ACTORS];
|
||||||
|
|
||||||
|
|
||||||
|
static const int *s_fmaScripts[CFmaScene::NUM_FMA_SCRIPTS]=
|
||||||
|
{
|
||||||
|
s_FMAIntroScript,
|
||||||
|
s_FMAC1EndScript,
|
||||||
|
s_FMAC2EndScript,
|
||||||
|
s_FMAC3EndScript,
|
||||||
|
s_FMAC4EndScript,
|
||||||
|
s_FMAC5EndScript,
|
||||||
|
};
|
||||||
|
|
||||||
|
static CFmaScene::FMA_SCRIPT_NUMBER s_chosenScript=CFmaScene::FMA_SCRIPT__INTRO;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "pad\pads.h"
|
#include "pad\pads.h"
|
||||||
#include "gfx\font.h"
|
#include "gfx\font.h"
|
||||||
|
|
||||||
|
@ -820,7 +709,9 @@ void CFmaScene::init()
|
||||||
m_frameCount=0;
|
m_frameCount=0;
|
||||||
|
|
||||||
m_scriptRunning=true;
|
m_scriptRunning=true;
|
||||||
m_pc=s_testScript;
|
m_pc=s_fmaScripts[s_chosenScript];
|
||||||
|
|
||||||
|
CFader::setFadingIn();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -916,7 +807,7 @@ void CFmaScene::think(int _frames)
|
||||||
m_cameraPos.vx+=16;
|
m_cameraPos.vx+=16;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if(m_scriptRunning==false&&PadGetDown(0)&(PAD_CROSS|PAD_START))
|
if(m_scriptRunning==false&&!m_readyToShutdown)
|
||||||
{
|
{
|
||||||
startShutdown();
|
startShutdown();
|
||||||
}
|
}
|
||||||
|
@ -1021,7 +912,19 @@ void CFmaScene::think(int _frames)
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
int CFmaScene::readyToShutdown()
|
int CFmaScene::readyToShutdown()
|
||||||
{
|
{
|
||||||
return m_readyToShutdown;
|
return m_readyToShutdown&&!CFader::isFading();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Function:
|
||||||
|
Purpose:
|
||||||
|
Params:
|
||||||
|
Returns:
|
||||||
|
---------------------------------------------------------------------- */
|
||||||
|
void CFmaScene::selectFma(FMA_SCRIPT_NUMBER _fma)
|
||||||
|
{
|
||||||
|
s_chosenScript=_fma;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1033,6 +936,7 @@ int CFmaScene::readyToShutdown()
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CFmaScene::startShutdown()
|
void CFmaScene::startShutdown()
|
||||||
{
|
{
|
||||||
|
CFader::setFadingOut();
|
||||||
GameState::setNextScene(&MapScene);
|
GameState::setNextScene(&MapScene);
|
||||||
m_readyToShutdown=true;
|
m_readyToShutdown=true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,9 +38,22 @@
|
||||||
Structure defintions
|
Structure defintions
|
||||||
-------------------- */
|
-------------------- */
|
||||||
|
|
||||||
class CFmaScene: public CScene
|
class CFmaScene : public CScene
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
FMA_SCRIPT__INTRO,
|
||||||
|
FMA_SCRIPT__CH1FINISHED,
|
||||||
|
FMA_SCRIPT__CH2FINISHED,
|
||||||
|
FMA_SCRIPT__CH3FINISHED,
|
||||||
|
FMA_SCRIPT__CH4FINISHED,
|
||||||
|
FMA_SCRIPT__CH5FINISHED,
|
||||||
|
NUM_FMA_SCRIPTS,
|
||||||
|
FMA_SCRIPT__NONE,
|
||||||
|
}FMA_SCRIPT_NUMBER;
|
||||||
|
|
||||||
|
|
||||||
void init();
|
void init();
|
||||||
void shutdown();
|
void shutdown();
|
||||||
void render();
|
void render();
|
||||||
|
@ -48,6 +61,8 @@ public:
|
||||||
int readyToShutdown();
|
int readyToShutdown();
|
||||||
char *getSceneName() {return"FMA";}
|
char *getSceneName() {return"FMA";}
|
||||||
|
|
||||||
|
static void selectFma(FMA_SCRIPT_NUMBER _fma);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void startShutdown();
|
void startShutdown();
|
||||||
|
|
||||||
|
@ -66,7 +81,7 @@ private:
|
||||||
int m_endCameraFrame;
|
int m_endCameraFrame;
|
||||||
DVECTOR m_endCameraPos;
|
DVECTOR m_endCameraPos;
|
||||||
|
|
||||||
int *m_pc;
|
int const *m_pc;
|
||||||
int m_scriptRunning;
|
int m_scriptRunning;
|
||||||
int m_stillProcessingCommand;
|
int m_stillProcessingCommand;
|
||||||
int m_doOtherProcessing;
|
int m_doOtherProcessing;
|
||||||
|
|
|
@ -70,6 +70,10 @@
|
||||||
#include "game\gameslot.h"
|
#include "game\gameslot.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __FMA_FMA_H__
|
||||||
|
#include "fma\fma.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Std Lib
|
/* Std Lib
|
||||||
------- */
|
------- */
|
||||||
|
@ -278,10 +282,23 @@ void CFrontEndScene::setMode(FrontEndMode _newMode)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Open new mode
|
// Open new mode
|
||||||
if(_newMode==MODE__EXIT_TO_MAP)
|
if(_newMode==MODE__EXIT_TO_GAME)
|
||||||
{
|
{
|
||||||
|
CGameSlotManager::GameSlot *gameSlot;
|
||||||
|
gameSlot=CGameSlotManager::getSlotData();
|
||||||
|
|
||||||
|
if(gameSlot->m_hasSeenOpeningFMA)
|
||||||
|
{
|
||||||
|
GameState::setNextScene(&MapScene);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CFmaScene::selectFma(CFmaScene::FMA_SCRIPT__INTRO);
|
||||||
|
GameState::setNextScene(&FmaScene);
|
||||||
|
gameSlot->m_hasSeenOpeningFMA=true;
|
||||||
|
}
|
||||||
|
|
||||||
m_exitToGame=true;
|
m_exitToGame=true;
|
||||||
GameState::setNextScene(&MapScene);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -55,7 +55,7 @@ public:
|
||||||
|
|
||||||
MODE__NONE,
|
MODE__NONE,
|
||||||
|
|
||||||
MODE__EXIT_TO_MAP,
|
MODE__EXIT_TO_GAME,
|
||||||
} FrontEndMode;
|
} FrontEndMode;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
|
|
|
@ -555,7 +555,7 @@ int CFrontEndStart::isReadyToExit()
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
CFrontEndScene::FrontEndMode CFrontEndStart::getNextMode()
|
CFrontEndScene::FrontEndMode CFrontEndStart::getNextMode()
|
||||||
{
|
{
|
||||||
return m_state==STATE_EXITING_TO_GAME?CFrontEndScene::MODE__EXIT_TO_MAP:CFrontEndScene::MODE__MAIN_TITLES;
|
return m_state==STATE_EXITING_TO_GAME?CFrontEndScene::MODE__EXIT_TO_GAME:CFrontEndScene::MODE__MAIN_TITLES;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*===========================================================================
|
/*===========================================================================
|
||||||
|
|
|
@ -429,8 +429,11 @@ void CGameScene::think_playing(int _frames)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Level finished - go to map or fma
|
// Level finished - go to map or fma
|
||||||
if(level==4)
|
CFmaScene::FMA_SCRIPT_NUMBER fma;
|
||||||
|
fma=Level.getFMAToFollow();
|
||||||
|
if(fma!=CFmaScene::FMA_SCRIPT__NONE)
|
||||||
{
|
{
|
||||||
|
FmaScene.selectFma(fma);
|
||||||
GameState::setNextScene(&FmaScene);
|
GameState::setNextScene(&FmaScene);
|
||||||
}
|
}
|
||||||
else if(level==5)
|
else if(level==5)
|
||||||
|
|
|
@ -156,6 +156,8 @@ void CGameSlotManager::eraseGameSlot(unsigned int _slot)
|
||||||
slot->m_isInUse=false;
|
slot->m_isInUse=false;
|
||||||
slot->m_lives=INITIAL_LIVES;
|
slot->m_lives=INITIAL_LIVES;
|
||||||
slot->m_continues=INITIAL_CONTINUES;
|
slot->m_continues=INITIAL_CONTINUES;
|
||||||
|
slot->m_hasSeenOpeningFMA=false;
|
||||||
|
|
||||||
|
|
||||||
// Clear spatula and kelp token flags
|
// Clear spatula and kelp token flags
|
||||||
for(i=0;i<NUM_CHAPTERS*NUM_LEVELS_WITH_SPATULAS;i++)
|
for(i=0;i<NUM_CHAPTERS*NUM_LEVELS_WITH_SPATULAS;i++)
|
||||||
|
|
|
@ -68,6 +68,7 @@ public:
|
||||||
unsigned char m_isInUse;
|
unsigned char m_isInUse;
|
||||||
unsigned char m_lives;
|
unsigned char m_lives;
|
||||||
unsigned char m_continues;
|
unsigned char m_continues;
|
||||||
|
unsigned char m_hasSeenOpeningFMA;
|
||||||
unsigned char m_spatulaCollectedCounts[NUM_CHAPTERS*NUM_LEVELS_WITH_SPATULAS];
|
unsigned char m_spatulaCollectedCounts[NUM_CHAPTERS*NUM_LEVELS_WITH_SPATULAS];
|
||||||
unsigned char m_kelpTokenCollectedFlags[NUM_CHAPTERS][16]; // Enuf space for 128 tokens per level
|
unsigned char m_kelpTokenCollectedFlags[NUM_CHAPTERS][16]; // Enuf space for 128 tokens per level
|
||||||
unsigned char m_kelpTokensHeld;
|
unsigned char m_kelpTokensHeld;
|
||||||
|
|
|
@ -132,38 +132,38 @@
|
||||||
sLvlTab LvlTable[]=
|
sLvlTab LvlTable[]=
|
||||||
{
|
{
|
||||||
// C1
|
// C1
|
||||||
{1,1, CHAPTER01_LEVEL01_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER01_LEVEL01_LVL,LEVELS_CHAPTER01_LEVEL01_TEX, CSoundMediator::SONG_CHAPTER1_LEVEL1, STR__CHAPTER_1,STR__CHAPTER_1_LEVEL_1 },
|
{1,1, CHAPTER01_LEVEL01_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER01_LEVEL01_LVL,LEVELS_CHAPTER01_LEVEL01_TEX, CSoundMediator::SONG_CHAPTER1_LEVEL1, STR__CHAPTER_1,STR__CHAPTER_1_LEVEL_1, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{1,2, CHAPTER01_LEVEL02_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER01_LEVEL02_LVL,LEVELS_CHAPTER01_LEVEL02_TEX, CSoundMediator::SONG_CHAPTER1_LEVEL2, STR__CHAPTER_1,STR__CHAPTER_1_LEVEL_2 },
|
{1,2, CHAPTER01_LEVEL02_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER01_LEVEL02_LVL,LEVELS_CHAPTER01_LEVEL02_TEX, CSoundMediator::SONG_CHAPTER1_LEVEL2, STR__CHAPTER_1,STR__CHAPTER_1_LEVEL_2, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{1,3, CHAPTER01_LEVEL03_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER01_LEVEL03_LVL,LEVELS_CHAPTER01_LEVEL03_TEX, CSoundMediator::SONG_CHAPTER1_LEVEL3, STR__CHAPTER_1,STR__CHAPTER_1_LEVEL_3 },
|
{1,3, CHAPTER01_LEVEL03_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER01_LEVEL03_LVL,LEVELS_CHAPTER01_LEVEL03_TEX, CSoundMediator::SONG_CHAPTER1_LEVEL3, STR__CHAPTER_1,STR__CHAPTER_1_LEVEL_3, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{1,4, CHAPTER01_LEVEL04_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER01_LEVEL04_LVL,LEVELS_CHAPTER01_LEVEL04_TEX, CSoundMediator::SONG_CHAPTER1_LEVEL4, STR__CHAPTER_1,STR__CHAPTER_1_LEVEL_4 },
|
{1,4, CHAPTER01_LEVEL04_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER01_LEVEL04_LVL,LEVELS_CHAPTER01_LEVEL04_TEX, CSoundMediator::SONG_CHAPTER1_LEVEL4, STR__CHAPTER_1,STR__CHAPTER_1_LEVEL_4, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{1,5, CHAPTER06_LEVEL01_INF_TOTAL_ITEM_KELP_TOKEN, LEVELS_CHAPTER06_LEVEL01_LVL,LEVELS_CHAPTER06_LEVEL01_TEX, CSoundMediator::SONG_CHAPTER6_ROLLERCOASTER, STR__KELP_WORLD,STR__CHAPTER_6_LEVEL_1 },
|
{1,5, CHAPTER06_LEVEL01_INF_TOTAL_ITEM_KELP_TOKEN, LEVELS_CHAPTER06_LEVEL01_LVL,LEVELS_CHAPTER06_LEVEL01_TEX, CSoundMediator::SONG_CHAPTER6_ROLLERCOASTER, STR__KELP_WORLD,STR__CHAPTER_6_LEVEL_1, CFmaScene::FMA_SCRIPT__CH1FINISHED },
|
||||||
// C2
|
// C2
|
||||||
{2,1, CHAPTER02_LEVEL01_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER02_LEVEL01_LVL,LEVELS_CHAPTER02_LEVEL01_TEX, CSoundMediator::SONG_CHAPTER2_LEVEL1, STR__CHAPTER_2,STR__CHAPTER_2_LEVEL_1 },
|
{2,1, CHAPTER02_LEVEL01_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER02_LEVEL01_LVL,LEVELS_CHAPTER02_LEVEL01_TEX, CSoundMediator::SONG_CHAPTER2_LEVEL1, STR__CHAPTER_2,STR__CHAPTER_2_LEVEL_1, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{2,2, CHAPTER02_LEVEL02_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER02_LEVEL02_LVL,LEVELS_CHAPTER02_LEVEL02_TEX, CSoundMediator::SONG_CHAPTER2_LEVEL2, STR__CHAPTER_2,STR__CHAPTER_2_LEVEL_2 },
|
{2,2, CHAPTER02_LEVEL02_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER02_LEVEL02_LVL,LEVELS_CHAPTER02_LEVEL02_TEX, CSoundMediator::SONG_CHAPTER2_LEVEL2, STR__CHAPTER_2,STR__CHAPTER_2_LEVEL_2, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{2,3, CHAPTER02_LEVEL03_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER02_LEVEL03_LVL,LEVELS_CHAPTER02_LEVEL03_TEX, CSoundMediator::SONG_CHAPTER2_LEVEL3, STR__CHAPTER_2,STR__CHAPTER_2_LEVEL_3 },
|
{2,3, CHAPTER02_LEVEL03_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER02_LEVEL03_LVL,LEVELS_CHAPTER02_LEVEL03_TEX, CSoundMediator::SONG_CHAPTER2_LEVEL3, STR__CHAPTER_2,STR__CHAPTER_2_LEVEL_3, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{2,4, CHAPTER02_LEVEL04_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER02_LEVEL04_LVL,LEVELS_CHAPTER02_LEVEL04_TEX, CSoundMediator::SONG_CHAPTER2_LEVEL4, STR__CHAPTER_2,STR__CHAPTER_2_LEVEL_4 },
|
{2,4, CHAPTER02_LEVEL04_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER02_LEVEL04_LVL,LEVELS_CHAPTER02_LEVEL04_TEX, CSoundMediator::SONG_CHAPTER2_LEVEL4, STR__CHAPTER_2,STR__CHAPTER_2_LEVEL_4, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{2,5, CHAPTER06_LEVEL02_INF_TOTAL_ITEM_KELP_TOKEN, LEVELS_CHAPTER06_LEVEL02_LVL,LEVELS_CHAPTER06_LEVEL02_TEX, CSoundMediator::SONG_CHAPTER6_SNAILRACE, STR__KELP_WORLD,STR__CHAPTER_6_LEVEL_2 },
|
{2,5, CHAPTER06_LEVEL02_INF_TOTAL_ITEM_KELP_TOKEN, LEVELS_CHAPTER06_LEVEL02_LVL,LEVELS_CHAPTER06_LEVEL02_TEX, CSoundMediator::SONG_CHAPTER6_SNAILRACE, STR__KELP_WORLD,STR__CHAPTER_6_LEVEL_2, CFmaScene::FMA_SCRIPT__CH2FINISHED },
|
||||||
// C3
|
// C3
|
||||||
{3,1, CHAPTER03_LEVEL01_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER03_LEVEL01_LVL,LEVELS_CHAPTER03_LEVEL01_TEX, CSoundMediator::SONG_CHAPTER3_LEVEL1, STR__CHAPTER_3,STR__CHAPTER_3_LEVEL_1 },
|
{3,1, CHAPTER03_LEVEL01_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER03_LEVEL01_LVL,LEVELS_CHAPTER03_LEVEL01_TEX, CSoundMediator::SONG_CHAPTER3_LEVEL1, STR__CHAPTER_3,STR__CHAPTER_3_LEVEL_1, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{3,2, CHAPTER03_LEVEL02_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER03_LEVEL02_LVL,LEVELS_CHAPTER03_LEVEL02_TEX, CSoundMediator::SONG_CHAPTER3_LEVEL2, STR__CHAPTER_3,STR__CHAPTER_3_LEVEL_2 },
|
{3,2, CHAPTER03_LEVEL02_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER03_LEVEL02_LVL,LEVELS_CHAPTER03_LEVEL02_TEX, CSoundMediator::SONG_CHAPTER3_LEVEL2, STR__CHAPTER_3,STR__CHAPTER_3_LEVEL_2, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{3,3, CHAPTER03_LEVEL03_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER03_LEVEL03_LVL,LEVELS_CHAPTER03_LEVEL03_TEX, CSoundMediator::SONG_CHAPTER3_LEVEL3, STR__CHAPTER_3,STR__CHAPTER_3_LEVEL_3 },
|
{3,3, CHAPTER03_LEVEL03_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER03_LEVEL03_LVL,LEVELS_CHAPTER03_LEVEL03_TEX, CSoundMediator::SONG_CHAPTER3_LEVEL3, STR__CHAPTER_3,STR__CHAPTER_3_LEVEL_3, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{3,4, CHAPTER03_LEVEL04_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER03_LEVEL04_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, CSoundMediator::SONG_CHAPTER3_LEVEL4, STR__CHAPTER_3,STR__CHAPTER_3_LEVEL_4 },
|
{3,4, CHAPTER03_LEVEL04_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER03_LEVEL04_LVL,LEVELS_CHAPTER03_LEVEL04_TEX, CSoundMediator::SONG_CHAPTER3_LEVEL4, STR__CHAPTER_3,STR__CHAPTER_3_LEVEL_4, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{3,5, CHAPTER06_LEVEL03_INF_TOTAL_ITEM_KELP_TOKEN, LEVELS_CHAPTER06_LEVEL03_LVL,LEVELS_CHAPTER06_LEVEL03_TEX, CSoundMediator::SONG_CHAPTER6_BIGWHEEL, STR__KELP_WORLD,STR__CHAPTER_6_LEVEL_3 },
|
{3,5, CHAPTER06_LEVEL03_INF_TOTAL_ITEM_KELP_TOKEN, LEVELS_CHAPTER06_LEVEL03_LVL,LEVELS_CHAPTER06_LEVEL03_TEX, CSoundMediator::SONG_CHAPTER6_BIGWHEEL, STR__KELP_WORLD,STR__CHAPTER_6_LEVEL_3, CFmaScene::FMA_SCRIPT__CH3FINISHED },
|
||||||
// C4
|
// C4
|
||||||
{4,1, CHAPTER04_LEVEL01_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER04_LEVEL01_LVL,LEVELS_CHAPTER04_LEVEL01_TEX, CSoundMediator::SONG_CHAPTER4_LEVEL1, STR__CHAPTER_4,STR__CHAPTER_4_LEVEL_1 },
|
{4,1, CHAPTER04_LEVEL01_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER04_LEVEL01_LVL,LEVELS_CHAPTER04_LEVEL01_TEX, CSoundMediator::SONG_CHAPTER4_LEVEL1, STR__CHAPTER_4,STR__CHAPTER_4_LEVEL_1, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{4,2, CHAPTER04_LEVEL02_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER04_LEVEL02_LVL,LEVELS_CHAPTER04_LEVEL02_TEX, CSoundMediator::SONG_CHAPTER4_LEVEL2, STR__CHAPTER_4,STR__CHAPTER_4_LEVEL_2 },
|
{4,2, CHAPTER04_LEVEL02_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER04_LEVEL02_LVL,LEVELS_CHAPTER04_LEVEL02_TEX, CSoundMediator::SONG_CHAPTER4_LEVEL2, STR__CHAPTER_4,STR__CHAPTER_4_LEVEL_2, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{4,3, CHAPTER04_LEVEL03_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER04_LEVEL03_LVL,LEVELS_CHAPTER04_LEVEL03_TEX, CSoundMediator::SONG_CHAPTER4_LEVEL3, STR__CHAPTER_4,STR__CHAPTER_4_LEVEL_3 },
|
{4,3, CHAPTER04_LEVEL03_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER04_LEVEL03_LVL,LEVELS_CHAPTER04_LEVEL03_TEX, CSoundMediator::SONG_CHAPTER4_LEVEL3, STR__CHAPTER_4,STR__CHAPTER_4_LEVEL_3, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{4,4, CHAPTER04_LEVEL04_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER04_LEVEL04_LVL,LEVELS_CHAPTER04_LEVEL04_TEX, CSoundMediator::SONG_CHAPTER4_LEVEL4, STR__CHAPTER_4,STR__CHAPTER_4_LEVEL_4 },
|
{4,4, CHAPTER04_LEVEL04_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER04_LEVEL04_LVL,LEVELS_CHAPTER04_LEVEL04_TEX, CSoundMediator::SONG_CHAPTER4_LEVEL4, STR__CHAPTER_4,STR__CHAPTER_4_LEVEL_4, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{4,5, CHAPTER06_LEVEL04_INF_TOTAL_ITEM_KELP_TOKEN, LEVELS_CHAPTER06_LEVEL04_LVL,LEVELS_CHAPTER06_LEVEL04_TEX, CSoundMediator::SONG_CHAPTER6_TUNNELOFLOVE, STR__KELP_WORLD,STR__CHAPTER_6_LEVEL_4 },
|
{4,5, CHAPTER06_LEVEL04_INF_TOTAL_ITEM_KELP_TOKEN, LEVELS_CHAPTER06_LEVEL04_LVL,LEVELS_CHAPTER06_LEVEL04_TEX, CSoundMediator::SONG_CHAPTER6_TUNNELOFLOVE, STR__KELP_WORLD,STR__CHAPTER_6_LEVEL_4, CFmaScene::FMA_SCRIPT__CH4FINISHED },
|
||||||
// C5
|
// C5
|
||||||
{5,1, CHAPTER05_LEVEL01_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER05_LEVEL01_LVL,LEVELS_CHAPTER05_LEVEL01_TEX, CSoundMediator::SONG_CHAPTER5_LEVEL1, STR__CHAPTER_5,STR__CHAPTER_5_LEVEL_1 },
|
{5,1, CHAPTER05_LEVEL01_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER05_LEVEL01_LVL,LEVELS_CHAPTER05_LEVEL01_TEX, CSoundMediator::SONG_CHAPTER5_LEVEL1, STR__CHAPTER_5,STR__CHAPTER_5_LEVEL_1, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{5,2, CHAPTER05_LEVEL02_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER05_LEVEL02_LVL,LEVELS_CHAPTER05_LEVEL02_TEX, CSoundMediator::SONG_CHAPTER5_LEVEL2, STR__CHAPTER_5,STR__CHAPTER_5_LEVEL_2 },
|
{5,2, CHAPTER05_LEVEL02_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER05_LEVEL02_LVL,LEVELS_CHAPTER05_LEVEL02_TEX, CSoundMediator::SONG_CHAPTER5_LEVEL2, STR__CHAPTER_5,STR__CHAPTER_5_LEVEL_2, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{5,3, CHAPTER05_LEVEL03_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER05_LEVEL03_LVL,LEVELS_CHAPTER05_LEVEL03_TEX, CSoundMediator::SONG_CHAPTER5_LEVEL3, STR__CHAPTER_5,STR__CHAPTER_5_LEVEL_3 },
|
{5,3, CHAPTER05_LEVEL03_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER05_LEVEL03_LVL,LEVELS_CHAPTER05_LEVEL03_TEX, CSoundMediator::SONG_CHAPTER5_LEVEL3, STR__CHAPTER_5,STR__CHAPTER_5_LEVEL_3, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{5,4, CHAPTER05_LEVEL04_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER05_LEVEL04_LVL,LEVELS_CHAPTER05_LEVEL04_TEX, CSoundMediator::SONG_CHAPTER5_LEVEL4, STR__CHAPTER_5,STR__CHAPTER_5_LEVEL_4 },
|
{5,4, CHAPTER05_LEVEL04_INF_TOTAL_ITEM_GOLDEN_SPATULA, LEVELS_CHAPTER05_LEVEL04_LVL,LEVELS_CHAPTER05_LEVEL04_TEX, CSoundMediator::SONG_CHAPTER5_LEVEL4, STR__CHAPTER_5,STR__CHAPTER_5_LEVEL_4, CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{5,5, CHAPTER06_LEVEL05_INF_TOTAL_ITEM_KELP_TOKEN, LEVELS_CHAPTER06_LEVEL05_LVL,LEVELS_CHAPTER06_LEVEL05_TEX, CSoundMediator::SONG_CHAPTER6_TUNNELOFLOVE, STR__KELP_WORLD,STR__CHAPTER_6_LEVEL_5 },
|
{5,5, CHAPTER06_LEVEL05_INF_TOTAL_ITEM_KELP_TOKEN, LEVELS_CHAPTER06_LEVEL05_LVL,LEVELS_CHAPTER06_LEVEL05_TEX, CSoundMediator::SONG_CHAPTER6_TUNNELOFLOVE, STR__KELP_WORLD,STR__CHAPTER_6_LEVEL_5, CFmaScene::FMA_SCRIPT__CH5FINISHED },
|
||||||
// FMA
|
// FMA
|
||||||
{6,0, 0, LEVELS_FMA_SHADYSHOALS_LVL,LEVELS_FMA_SHADYSHOALS_TEX, CSoundMediator::SONG_TITLE, STR__NOW_LOADING,STR__NOW_LOADING },
|
{6,0, 0, LEVELS_FMA_SHADYSHOALS_LVL,LEVELS_FMA_SHADYSHOALS_TEX, CSoundMediator::SONG_TITLE, STR__NOW_LOADING,STR__NOW_LOADING , CFmaScene::FMA_SCRIPT__NONE },
|
||||||
{6,0, 0, LEVELS_FMA_CONTROLROOM_LVL,LEVELS_FMA_CONTROLROOM_TEX, CSoundMediator::SONG_TITLE, STR__NOW_LOADING,STR__NOW_LOADING },
|
{6,0, 0, LEVELS_FMA_CONTROLROOM_LVL,LEVELS_FMA_CONTROLROOM_TEX, CSoundMediator::SONG_TITLE, STR__NOW_LOADING,STR__NOW_LOADING , CFmaScene::FMA_SCRIPT__NONE },
|
||||||
|
|
||||||
};
|
};
|
||||||
const int LvlTableSize=sizeof(LvlTable)/sizeof(sLvlTab);
|
const int LvlTableSize=sizeof(LvlTable)/sizeof(sLvlTab);
|
||||||
|
|
|
@ -5,6 +5,10 @@
|
||||||
#ifndef __LEVEL_LEVEL_H__
|
#ifndef __LEVEL_LEVEL_H__
|
||||||
#define __LEVEL_LEVEL_H__
|
#define __LEVEL_LEVEL_H__
|
||||||
|
|
||||||
|
#ifndef __FMA_FMA_H__
|
||||||
|
#include "fma\fma.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "system\global.h"
|
#include "system\global.h"
|
||||||
#include "level/layertile.h"
|
#include "level/layertile.h"
|
||||||
#include "level/layercollision.h"
|
#include "level/layercollision.h"
|
||||||
|
@ -12,11 +16,12 @@
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
struct sLvlTab
|
struct sLvlTab
|
||||||
{
|
{
|
||||||
u16 Chapter,Level;
|
u16 Chapter,Level;
|
||||||
u8 totalSpatCount;
|
u8 totalSpatCount;
|
||||||
FileEquate LevelFilename,TexFilename;
|
FileEquate LevelFilename,TexFilename;
|
||||||
int songId;
|
int songId;
|
||||||
u16 ChapterLoadingText,LevelLoadingText;
|
u16 ChapterLoadingText,LevelLoadingText;
|
||||||
|
CFmaScene::FMA_SCRIPT_NUMBER FMAToFollow;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -39,11 +44,12 @@ public:
|
||||||
static DVECTOR const &getCameraPos() {return MapPos;}
|
static DVECTOR const &getCameraPos() {return MapPos;}
|
||||||
static DVECTOR const &getPlayerSpawnPos() {return s_playerSpawnPos;}
|
static DVECTOR const &getPlayerSpawnPos() {return s_playerSpawnPos;}
|
||||||
|
|
||||||
static int getCurrentChapter() {return LvlTable[s_globalLevelSelectThing].Chapter;}
|
static int getCurrentChapter() {return LvlTable[s_globalLevelSelectThing].Chapter;}
|
||||||
static int getCurrentChapterLevel() {return LvlTable[s_globalLevelSelectThing].Level;}
|
static int getCurrentChapterLevel() {return LvlTable[s_globalLevelSelectThing].Level;}
|
||||||
static int getTotalSpatCount() {return LvlTable[s_globalLevelSelectThing].totalSpatCount;}
|
static int getTotalSpatCount() {return LvlTable[s_globalLevelSelectThing].totalSpatCount;}
|
||||||
static int getChapterLoadingText() {return LvlTable[s_globalLevelSelectThing].ChapterLoadingText;}
|
static int getChapterLoadingText() {return LvlTable[s_globalLevelSelectThing].ChapterLoadingText;}
|
||||||
static int getLevelLoadingText() {return LvlTable[s_globalLevelSelectThing].LevelLoadingText;}
|
static int getLevelLoadingText() {return LvlTable[s_globalLevelSelectThing].LevelLoadingText;}
|
||||||
|
static CFmaScene::FMA_SCRIPT_NUMBER getFMAToFollow() {return LvlTable[s_globalLevelSelectThing].FMAToFollow;}
|
||||||
|
|
||||||
void destroyMapArea(DVECTOR const &Pos);
|
void destroyMapArea(DVECTOR const &Pos);
|
||||||
void destroyMapTile(DVECTOR const &Pos);
|
void destroyMapTile(DVECTOR const &Pos);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue