This commit is contained in:
parent
994ee1a7ae
commit
d17e6c0d29
13 changed files with 530 additions and 171 deletions
|
@ -48,6 +48,8 @@ scripts/fma_ch6_01.dat
|
||||||
scripts/fma_ch6_02.dat
|
scripts/fma_ch6_02.dat
|
||||||
scripts/fma_ch6_03.dat
|
scripts/fma_ch6_03.dat
|
||||||
|
|
||||||
|
scripts/fma_party.dat
|
||||||
|
|
||||||
scripts/fma_plankton.dat
|
scripts/fma_plankton.dat
|
||||||
|
|
||||||
scripts/c1l1_celebrate.dat
|
scripts/c1l1_celebrate.dat
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
#include data/scripts/defs/defs.scr
|
#include data/scripts/defs/defs.scr
|
||||||
|
|
||||||
#include data/scripts/defs/charanim.scr
|
#include data/scripts/defs/charanim.scr
|
||||||
#include data/scripts/defs/items.scr
|
|
||||||
#include data/scripts/defs/response.scr
|
#include data/scripts/defs/response.scr
|
||||||
#include data/scripts/defs/trans.scr
|
#include data/scripts/defs/trans.scr
|
||||||
|
|
||||||
|
|
||||||
_setText(CHAR_JACKCUSTARD,STR__INGAME__FMA_C1_INTRO0);
|
_setText(CHAR_SPONGEBOB,STR__INGAME__FMA_PARTY_SB0);
|
||||||
_setResponseOptions(QUESTION_OK);
|
_setResponseOptions(QUESTION_OK);
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
@ -14,7 +13,23 @@ do
|
||||||
}
|
}
|
||||||
while(_getResponse()==ANSWER_NONE);
|
while(_getResponse()==ANSWER_NONE);
|
||||||
|
|
||||||
_setText(CHAR_JACKCUSTARD,STR__INGAME__FMA_C1_INTRO1);
|
_setText(CHAR_PATRICK,STR__INGAME__FMA_PARTY_PAT0);
|
||||||
|
_setResponseOptions(QUESTION_OK);
|
||||||
|
do
|
||||||
|
{
|
||||||
|
pause;
|
||||||
|
}
|
||||||
|
while(_getResponse()==ANSWER_NONE);
|
||||||
|
|
||||||
|
_setText(CHAR_JACKCUSTARD,STR__INGAME__FMA_PARTY_VO0);
|
||||||
|
_setResponseOptions(QUESTION_OK);
|
||||||
|
do
|
||||||
|
{
|
||||||
|
pause;
|
||||||
|
}
|
||||||
|
while(_getResponse()==ANSWER_NONE);
|
||||||
|
|
||||||
|
_setText(CHAR_JACKCUSTARD,STR__INGAME__FMA_PARTY_ALL);
|
||||||
_setResponseOptions(QUESTION_OK);
|
_setResponseOptions(QUESTION_OK);
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
|
|
@ -282,11 +282,24 @@ eng=SpongeBob SqaurePants!!! Wait until I get my hands on that porous Freak!!!!
|
||||||
[STR__INGAME__FMA_PLANKTON]
|
[STR__INGAME__FMA_PLANKTON]
|
||||||
eng=Blast you SpongeBreath, you have found my secret time machine! Whatever you do make sure you fill it up before you bring it back!!!!
|
eng=Blast you SpongeBreath, you have found my secret time machine! Whatever you do make sure you fill it up before you bring it back!!!!
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------
|
; ---------------------------------------------------------------
|
||||||
[STR__INGAME__GENERIC__CHECK1]
|
; End party FMA
|
||||||
eng=Did that make sense..?
|
[STR__INGAME__FMA_PARTY_SB0]
|
||||||
|
eng=Happy Birthday Patrick from all your friends in Bikini Bottom!
|
||||||
|
[STR__INGAME__FMA_PARTY_PAT0]
|
||||||
|
eng=Today’s my birthday? Hmm. I thought I was born a long time ago in a hospital. Thanks for the signed photo of my favorite superheroes anyhow. This the best birthday ever!!
|
||||||
|
[STR__INGAME__FMA_PARTY_VO0]
|
||||||
|
eng=Stand Still while I take your picture
|
||||||
|
[STR__INGAME__FMA_PARTY_ALL]
|
||||||
|
eng=Happy Birthday!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------
|
||||||
|
; Ingame conversations
|
||||||
|
; ---------------------------------------------------------------
|
||||||
Chapter 1 - Level 1 - 01
|
Chapter 1 - Level 1 - 01
|
||||||
[STR__INGAME__CH1__L1__SPONGEY1]
|
[STR__INGAME__CH1__L1__SPONGEY1]
|
||||||
eng=Hi Squidward !!! Ready for another great day together, friend?
|
eng=Hi Squidward !!! Ready for another great day together, friend?
|
||||||
|
|
|
@ -605,7 +605,7 @@ SCRIPTS_LIST := ch1l1_01 ch1l1_02 ch1l2_01 ch1l2_02 ch1l2_03 ch1l4_01 ch1l4_02
|
||||||
fma_ch4_00 fma_ch4_01 fma_ch4_02 \
|
fma_ch4_00 fma_ch4_01 fma_ch4_02 \
|
||||||
fma_ch5_00 fma_ch5_01 fma_ch5_02 \
|
fma_ch5_00 fma_ch5_01 fma_ch5_02 \
|
||||||
fma_ch6_00 fma_ch6_01 fma_ch6_02 fma_ch6_03 \
|
fma_ch6_00 fma_ch6_01 fma_ch6_02 fma_ch6_03 \
|
||||||
fma_plankton \
|
fma_plankton fma_party \
|
||||||
c1l1_celebrate c1l2_celebrate c1l3_celebrate c1l4_celebrate \
|
c1l1_celebrate c1l2_celebrate c1l3_celebrate c1l4_celebrate \
|
||||||
c2l1_celebrate c2l2_celebrate c2l3_celebrate c2l4_celebrate \
|
c2l1_celebrate c2l2_celebrate c2l3_celebrate c2l4_celebrate \
|
||||||
c3l1_celebrate c3l2_celebrate c3l3_celebrate c3l4_celebrate \
|
c3l1_celebrate c3l2_celebrate c3l3_celebrate c3l4_celebrate \
|
||||||
|
|
|
@ -18,26 +18,10 @@
|
||||||
|
|
||||||
#include "backend\party.h"
|
#include "backend\party.h"
|
||||||
|
|
||||||
#ifndef __PAD_PADS_H__
|
|
||||||
#include "pad\pads.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __GAME_GAME_H__
|
|
||||||
#include "game\game.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __GAME_GAMESLOT_H__
|
#ifndef __GAME_GAMESLOT_H__
|
||||||
#include "game\gameslot.h"
|
#include "game\gameslot.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __FRONTEND_FRONTEND_H__
|
|
||||||
#include "frontend\frontend.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __GFX_FADER_H__
|
|
||||||
#include "gfx\fader.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _FILEIO_HEADER_
|
#ifndef _FILEIO_HEADER_
|
||||||
#include "fileio\fileio.h"
|
#include "fileio\fileio.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -54,14 +38,6 @@
|
||||||
#include "gfx\sprbank.h"
|
#include "gfx\sprbank.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __ACTOR_HEADER__
|
|
||||||
#include "gfx\actor.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __BACKEND_CREDITS_H__
|
|
||||||
#include "backend\credits.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __MATHTABLE_HEADER__
|
#ifndef __MATHTABLE_HEADER__
|
||||||
#include "utils\mathtab.h"
|
#include "utils\mathtab.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -104,10 +80,8 @@
|
||||||
|
|
||||||
static int s_leftBobSin,s_leftBob,s_rightBobSin,s_rightBob;
|
static int s_leftBobSin,s_leftBob,s_rightBobSin,s_rightBob;
|
||||||
|
|
||||||
CPartyScene PartyScene;
|
//CActorGfx *m_actorSpongebob;
|
||||||
|
//CActorGfx *m_actorPatrick;
|
||||||
CActorGfx *m_actorSpongebob;
|
|
||||||
CActorGfx *m_actorPatrick;
|
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
@ -122,29 +96,12 @@ void CPartyScene::init()
|
||||||
ASSERT(m_image);
|
ASSERT(m_image);
|
||||||
SetScreenImage((u8*)m_image);
|
SetScreenImage((u8*)m_image);
|
||||||
|
|
||||||
// m_font=new ("game over font") ScalableFontBank();
|
|
||||||
// m_font->initialise(&standardFont);
|
|
||||||
// m_font->setJustification(ScalableFontBank::JUST_CENTRE);
|
|
||||||
// m_font->setOt(5);
|
|
||||||
|
|
||||||
m_sprites=new ("Party sprites") SpriteBank();
|
m_sprites=new ("Party sprites") SpriteBank();
|
||||||
m_sprites->load(PARTY_PARTY_SPR);
|
m_sprites->load(PARTY_PARTY_SPR);
|
||||||
|
|
||||||
m_readyToExit=false;
|
|
||||||
CFader::setFadingIn();
|
|
||||||
|
|
||||||
CActorPool::Reset();
|
|
||||||
m_actorSpongebob=CActorPool::GetActor(ACTORS_SPONGEBOB_SBK);
|
|
||||||
m_actorSpongebob->SetOtPos(5);
|
|
||||||
m_actorPatrick=CActorPool::GetActor(ACTORS_PATRICK_SBK);
|
|
||||||
m_actorPatrick->SetOtPos(5);
|
|
||||||
CActorPool::SetUpCache();
|
|
||||||
CActorPool::CleanUpCache();
|
|
||||||
|
|
||||||
s_leftBobSin=s_leftBob=s_rightBobSin=s_rightBob=0;
|
s_leftBobSin=s_leftBob=s_rightBobSin=s_rightBob=0;
|
||||||
|
|
||||||
CSoundMediator::setSong(CSoundMediator::SONG_PARTY);
|
CSoundMediator::setSong(CSoundMediator::SONG_PARTY);
|
||||||
CSoundMediator::playSong();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -156,14 +113,7 @@ void CPartyScene::init()
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CPartyScene::shutdown()
|
void CPartyScene::shutdown()
|
||||||
{
|
{
|
||||||
CSoundMediator::dumpSong();
|
|
||||||
|
|
||||||
delete m_actorPatrick;
|
|
||||||
delete m_actorSpongebob;
|
|
||||||
CActorPool::Reset();
|
|
||||||
|
|
||||||
m_sprites->dump(); delete m_sprites;
|
m_sprites->dump(); delete m_sprites;
|
||||||
// m_font->dump(); delete m_font;
|
|
||||||
|
|
||||||
MemFree(m_image);
|
MemFree(m_image);
|
||||||
}
|
}
|
||||||
|
@ -260,10 +210,6 @@ static PARTY_IMAGE images[]=
|
||||||
};
|
};
|
||||||
static const int numimages=sizeof(images)/sizeof(PARTY_IMAGE);
|
static const int numimages=sizeof(images)/sizeof(PARTY_IMAGE);
|
||||||
|
|
||||||
DVECTOR sbpos={220,195};
|
|
||||||
int sbanim=5,sbfrm=1;
|
|
||||||
DVECTOR patpos={300,200};
|
|
||||||
int patanim=0,patfrm=0;
|
|
||||||
void CPartyScene::render()
|
void CPartyScene::render()
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -281,7 +227,7 @@ void CPartyScene::render()
|
||||||
for(i=0;i<numimages;i++)
|
for(i=0;i<numimages;i++)
|
||||||
{
|
{
|
||||||
ASSERT(pimage->m_fh<=FRM_TABLESIDE3);
|
ASSERT(pimage->m_fh<=FRM_TABLESIDE3);
|
||||||
if(gameSlot->isPartyItemHeld(pimage->m_itemId)&&!drawn[pimage->m_elementId])
|
// if(gameSlot->isPartyItemHeld(pimage->m_itemId)&&!drawn[pimage->m_elementId])
|
||||||
{
|
{
|
||||||
int x,y;
|
int x,y;
|
||||||
x=pimage->m_xOffsetBroken*256;
|
x=pimage->m_xOffsetBroken*256;
|
||||||
|
@ -298,14 +244,6 @@ void CPartyScene::render()
|
||||||
}
|
}
|
||||||
pimage++;
|
pimage++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Actors
|
|
||||||
m_actorSpongebob->Render(sbpos,sbanim,sbfrm,0,0);
|
|
||||||
sbfrm=0;
|
|
||||||
m_actorPatrick->Render(patpos,patanim,patfrm,0,0);
|
|
||||||
|
|
||||||
|
|
||||||
CActorPool::CleanUpCache();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -317,16 +255,6 @@ void CPartyScene::render()
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CPartyScene::think(int _frames)
|
void CPartyScene::think(int _frames)
|
||||||
{
|
{
|
||||||
if(!CFader::isFading())
|
|
||||||
{
|
|
||||||
if(PadGetDown(0)&(PAD_CROSS|PAD_START))
|
|
||||||
{
|
|
||||||
m_readyToExit=true;
|
|
||||||
CFader::setFadingOut();
|
|
||||||
GameState::setNextScene(&CreditsScene);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
s_leftBobSin=(s_leftBobSin+(_frames*20))&4095;
|
s_leftBobSin=(s_leftBobSin+(_frames*20))&4095;
|
||||||
s_rightBobSin=(s_rightBobSin+(_frames*16))&4095;
|
s_rightBobSin=(s_rightBobSin+(_frames*16))&4095;
|
||||||
s_leftBob=(msin(s_leftBobSin)*2)>>12;
|
s_leftBob=(msin(s_leftBobSin)*2)>>12;
|
||||||
|
@ -334,17 +262,5 @@ void CPartyScene::think(int _frames)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
|
||||||
Function:
|
|
||||||
Purpose:
|
|
||||||
Params:
|
|
||||||
Returns:
|
|
||||||
---------------------------------------------------------------------- */
|
|
||||||
int CPartyScene::readyToShutdown()
|
|
||||||
{
|
|
||||||
return m_readyToExit&&!CFader::isFading();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*===========================================================================
|
/*===========================================================================
|
||||||
end */
|
end */
|
|
@ -18,11 +18,6 @@
|
||||||
Includes
|
Includes
|
||||||
-------- */
|
-------- */
|
||||||
|
|
||||||
#ifndef __SYSTEM_GSTATE_H__
|
|
||||||
#include "system\gstate.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/* Std Lib
|
/* Std Lib
|
||||||
------- */
|
------- */
|
||||||
|
|
||||||
|
@ -34,20 +29,16 @@
|
||||||
Structure defintions
|
Structure defintions
|
||||||
-------------------- */
|
-------------------- */
|
||||||
|
|
||||||
class CPartyScene: public CScene
|
class CPartyScene
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
void init();
|
void init();
|
||||||
void shutdown();
|
void shutdown();
|
||||||
void render();
|
void render();
|
||||||
void think(int _frames);
|
void think(int _frames);
|
||||||
int readyToShutdown();
|
|
||||||
char *getSceneName() {return"Party";}
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
class SpriteBank *m_sprites;
|
class SpriteBank *m_sprites;
|
||||||
int m_readyToExit;
|
|
||||||
unsigned char *m_image;
|
unsigned char *m_image;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -57,9 +48,6 @@ private:
|
||||||
Globals
|
Globals
|
||||||
------- */
|
------- */
|
||||||
|
|
||||||
extern CPartyScene PartyScene;
|
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
Functions
|
Functions
|
||||||
--------- */
|
--------- */
|
||||||
|
|
|
@ -31,6 +31,10 @@ FX
|
||||||
#include "level\level.h"
|
#include "level\level.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __BACKEND_PARTY_H__
|
||||||
|
#include "backend\party.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef __THING_THING_H__
|
#ifndef __THING_THING_H__
|
||||||
#include "thing\thing.h"
|
#include "thing\thing.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -39,10 +43,6 @@ FX
|
||||||
#include "game\convo.h"
|
#include "game\convo.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __MAP_MAP_H__
|
|
||||||
#include "map\map.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __SOUND_SOUND_H__
|
#ifndef __SOUND_SOUND_H__
|
||||||
#include "sound\sound.h"
|
#include "sound\sound.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -65,6 +65,25 @@ FX
|
||||||
#include "fx\fx.h"
|
#include "fx\fx.h"
|
||||||
#include "fx\FXTvExplode.h"
|
#include "fx\FXTvExplode.h"
|
||||||
|
|
||||||
|
#ifndef __MATHTABLE_HEADER__
|
||||||
|
#include "utils\mathtab.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Game scenes..
|
||||||
|
#ifndef __MAP_MAP_H__
|
||||||
|
#include "map\map.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __FRONTEND_CREDITS_H__
|
||||||
|
#include "backend\credits.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __GAME_GAME_H__
|
||||||
|
#include "game\game.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Std Lib
|
/* Std Lib
|
||||||
------- */
|
------- */
|
||||||
|
|
||||||
|
@ -92,6 +111,21 @@ FX
|
||||||
#include "actor_plankton_anim.h"
|
#include "actor_plankton_anim.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __ANIM_PATRICK_HEADER__
|
||||||
|
#include "actor_patrick_anim.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __ANIM_KRUSTY_HEADER__
|
||||||
|
#include "actor_krusty_anim.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __ANIM_squidward_HEADER__
|
||||||
|
#include "actor_squidward_anim.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __ANIM_SANDY_HEADER__
|
||||||
|
#include "actor_sandy_anim.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define FRM__KELP_BAR FRM__C4_QUEST_ITEM_2
|
#define FRM__KELP_BAR FRM__C4_QUEST_ITEM_2
|
||||||
|
|
||||||
|
@ -107,6 +141,10 @@ enum
|
||||||
FMA_ACTOR_BB,
|
FMA_ACTOR_BB,
|
||||||
FMA_ACTOR_GARY,
|
FMA_ACTOR_GARY,
|
||||||
FMA_ACTOR_PLANKTON,
|
FMA_ACTOR_PLANKTON,
|
||||||
|
FMA_ACTOR_PATRICK,
|
||||||
|
FMA_ACTOR_KRABS,
|
||||||
|
FMA_ACTOR_SQUIDWARD,
|
||||||
|
FMA_ACTOR_SANDY,
|
||||||
|
|
||||||
FMA_NUM_ACTORS
|
FMA_NUM_ACTORS
|
||||||
};
|
};
|
||||||
|
@ -137,10 +175,24 @@ enum
|
||||||
FMA_NUM_ANIMS,
|
FMA_NUM_ANIMS,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Next scene types
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
FMA_NEXT_SCENE_MAP,
|
||||||
|
FMA_NEXT_SCENE_GAME,
|
||||||
|
FMA_NEXT_SCENE_CREDITS,
|
||||||
|
|
||||||
|
FMA_NUM_NEXT_SCENES
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// Available script commands
|
// Available script commands
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
|
SC_USE_LEVEL, // levelNumber
|
||||||
|
SC_USE_PARTY, //
|
||||||
|
SC_SET_NEXT_SCENE, // nextScene
|
||||||
|
|
||||||
SC_SNAP_CAMERA_TO, // x,y
|
SC_SNAP_CAMERA_TO, // x,y
|
||||||
SC_MOVE_CAMERA_TO, // x,y,frames
|
SC_MOVE_CAMERA_TO, // x,y,frames
|
||||||
|
|
||||||
|
@ -151,6 +203,7 @@ typedef enum
|
||||||
SC_WAIT_ON_ACTOR_ANIM, // actor (nonblocking)
|
SC_WAIT_ON_ACTOR_ANIM, // actor (nonblocking)
|
||||||
SC_WAIT_ON_CAMERA_STOP, // (nonblocking)
|
SC_WAIT_ON_CAMERA_STOP, // (nonblocking)
|
||||||
SC_WAIT_ON_CONVERSATION, // scriptId (nonblocking)
|
SC_WAIT_ON_CONVERSATION, // scriptId (nonblocking)
|
||||||
|
SC_WAIT_ON_THROWN_ITEM, // item
|
||||||
|
|
||||||
SC_SET_ACTOR_VISIBILITY, // actor,on/off
|
SC_SET_ACTOR_VISIBILITY, // actor,on/off
|
||||||
SC_SET_ACTOR_POSITION, // actor,x,y
|
SC_SET_ACTOR_POSITION, // actor,x,y
|
||||||
|
@ -161,9 +214,12 @@ typedef enum
|
||||||
SC_CREATE_FX, // FxNo, X,Y, FXType
|
SC_CREATE_FX, // FxNo, X,Y, FXType
|
||||||
SC_KILL_FX, // FxNo
|
SC_KILL_FX, // FxNo
|
||||||
|
|
||||||
SC_SET_ITEM, // item, Frame
|
SC_SET_ITEM, // item,frame
|
||||||
SC_CARRY_ITEM, // item, actor
|
SC_CARRY_ITEM, // item,actor
|
||||||
|
SC_HIDE_ITEM, // item
|
||||||
|
SC_THROW_ITEM_TO_ACTOR, // item,targetActor,arcHeight,frames
|
||||||
|
|
||||||
|
SC_START, //
|
||||||
SC_STOP, //
|
SC_STOP, //
|
||||||
} SCRIPT_COMMAND;
|
} SCRIPT_COMMAND;
|
||||||
|
|
||||||
|
@ -228,12 +284,19 @@ typedef struct
|
||||||
|
|
||||||
struct sItemData
|
struct sItemData
|
||||||
{
|
{
|
||||||
|
s8 m_visible;
|
||||||
|
|
||||||
DVECTOR m_Pos;
|
DVECTOR m_Pos;
|
||||||
s8 m_Actor;
|
s8 m_Actor;
|
||||||
u8 m_facing;
|
u8 m_facing;
|
||||||
u16 m_Frame;
|
u16 m_Frame;
|
||||||
|
|
||||||
s8 m_TargetActor;
|
s8 m_TargetActor;
|
||||||
|
DVECTOR m_startPos;
|
||||||
DVECTOR m_TargetPos;
|
DVECTOR m_TargetPos;
|
||||||
|
u16 m_startMoveFrame;
|
||||||
|
u16 m_endMoveFrame;
|
||||||
|
s8 m_throwArcHeight;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -254,6 +317,15 @@ CFmaScene FmaScene;
|
||||||
CFX *m_FXTable[FMA_FX_COUNT];
|
CFX *m_FXTable[FMA_FX_COUNT];
|
||||||
sItemData m_itemData[FMA_ITEM_MAX];
|
sItemData m_itemData[FMA_ITEM_MAX];
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
static CScene *s_nextGameSceneTable[FMA_NUM_NEXT_SCENES]=
|
||||||
|
{
|
||||||
|
&MapScene, // FMA_NEXT_SCENE_MAP
|
||||||
|
&GameScene, // FMA_NEXT_SCENE_GAME
|
||||||
|
&CreditsScene, // FMA_NEXT_SCENE_CREDITS
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
// Actor graphics data
|
// Actor graphics data
|
||||||
static const ACTOR_GRAPHICS_DATA s_actorGraphicsData[FMA_NUM_ACTORS]=
|
static const ACTOR_GRAPHICS_DATA s_actorGraphicsData[FMA_NUM_ACTORS]=
|
||||||
|
@ -366,6 +438,94 @@ static const ACTOR_GRAPHICS_DATA s_actorGraphicsData[FMA_NUM_ACTORS]=
|
||||||
/*FMA_ANIM_SIT*/ {0,-1},
|
/*FMA_ANIM_SIT*/ {0,-1},
|
||||||
/*FMA_ANIM_SITLOOKLEFT*/ {0,-1},
|
/*FMA_ANIM_SITLOOKLEFT*/ {0,-1},
|
||||||
/*FMA_ANIM_SITASLEEP*/ {0,-1},
|
/*FMA_ANIM_SITASLEEP*/ {0,-1},
|
||||||
|
/*FMA_ANIM_RUBHEAD*/ {0,-1},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ // Patrick
|
||||||
|
{ACTORS_PATRICK_SBK, (FileEquate)0},{0,0},
|
||||||
|
{
|
||||||
|
/*FMA_ANIM_IDLE*/ {0,ANIM_PATRICK_IDLEBREATHE},
|
||||||
|
/*FMA_ANIM_WALK*/ {0,-1},
|
||||||
|
/*FMA_ANIM_FIXTV*/ {0,-1},
|
||||||
|
/*FMA_ANIM_GIVEEND*/ {0,-1},
|
||||||
|
/*FMA_ANIM_GIVESTART*/ {0,-1},
|
||||||
|
/*FMA_ANIM_IDEA*/ {0,-1},
|
||||||
|
/*FMA_ANIM_QUICKEXIT*/ {0,-1},
|
||||||
|
/*FMA_ANIM_SHOUT*/ {0,-1},
|
||||||
|
/*FMA_ANIM_STUMBLE*/ {0,-1},
|
||||||
|
/*FMA_ANIM_THROW*/ {0,-1},
|
||||||
|
/*FMA_ANIM_HIDE*/ {0,-1},
|
||||||
|
/*FMA_ANIM_UNHIDE*/ {0,-1},
|
||||||
|
/*FMA_ANIM_UNHIDEIDLE*/ {0,-1},
|
||||||
|
/*FMA_ANIM_SIT*/ {0,-1},
|
||||||
|
/*FMA_ANIM_SITLOOKLEFT*/ {0,-1},
|
||||||
|
/*FMA_ANIM_SITASLEEP*/ {0,-1},
|
||||||
|
/*FMA_ANIM_RUBHEAD*/ {0,-1},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ // Krusty
|
||||||
|
{ACTORS_KRUSTY_SBK, (FileEquate)0},{0,0},
|
||||||
|
{
|
||||||
|
/*FMA_ANIM_IDLE*/ {0,ANIM_KRUSTY_IDLEBREATHE},
|
||||||
|
/*FMA_ANIM_WALK*/ {0,-1},
|
||||||
|
/*FMA_ANIM_FIXTV*/ {0,-1},
|
||||||
|
/*FMA_ANIM_GIVEEND*/ {0,-1},
|
||||||
|
/*FMA_ANIM_GIVESTART*/ {0,-1},
|
||||||
|
/*FMA_ANIM_IDEA*/ {0,-1},
|
||||||
|
/*FMA_ANIM_QUICKEXIT*/ {0,-1},
|
||||||
|
/*FMA_ANIM_SHOUT*/ {0,-1},
|
||||||
|
/*FMA_ANIM_STUMBLE*/ {0,-1},
|
||||||
|
/*FMA_ANIM_THROW*/ {0,-1},
|
||||||
|
/*FMA_ANIM_HIDE*/ {0,-1},
|
||||||
|
/*FMA_ANIM_UNHIDE*/ {0,-1},
|
||||||
|
/*FMA_ANIM_UNHIDEIDLE*/ {0,-1},
|
||||||
|
/*FMA_ANIM_SIT*/ {0,-1},
|
||||||
|
/*FMA_ANIM_SITLOOKLEFT*/ {0,-1},
|
||||||
|
/*FMA_ANIM_SITASLEEP*/ {0,-1},
|
||||||
|
/*FMA_ANIM_RUBHEAD*/ {0,-1},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ // Squidward
|
||||||
|
{ACTORS_SQUIDWARD_SBK, (FileEquate)0},{0,0},
|
||||||
|
{
|
||||||
|
/*FMA_ANIM_IDLE*/ {0,ANIM_SQUIDWARD_IDLEBREATHE},
|
||||||
|
/*FMA_ANIM_WALK*/ {0,-1},
|
||||||
|
/*FMA_ANIM_FIXTV*/ {0,-1},
|
||||||
|
/*FMA_ANIM_GIVEEND*/ {0,-1},
|
||||||
|
/*FMA_ANIM_GIVESTART*/ {0,-1},
|
||||||
|
/*FMA_ANIM_IDEA*/ {0,-1},
|
||||||
|
/*FMA_ANIM_QUICKEXIT*/ {0,-1},
|
||||||
|
/*FMA_ANIM_SHOUT*/ {0,-1},
|
||||||
|
/*FMA_ANIM_STUMBLE*/ {0,-1},
|
||||||
|
/*FMA_ANIM_THROW*/ {0,-1},
|
||||||
|
/*FMA_ANIM_HIDE*/ {0,-1},
|
||||||
|
/*FMA_ANIM_UNHIDE*/ {0,-1},
|
||||||
|
/*FMA_ANIM_UNHIDEIDLE*/ {0,-1},
|
||||||
|
/*FMA_ANIM_SIT*/ {0,-1},
|
||||||
|
/*FMA_ANIM_SITLOOKLEFT*/ {0,-1},
|
||||||
|
/*FMA_ANIM_SITASLEEP*/ {0,-1},
|
||||||
|
/*FMA_ANIM_RUBHEAD*/ {0,-1},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ // Sandy
|
||||||
|
{ACTORS_SANDY_SBK, (FileEquate)0},{0,0},
|
||||||
|
{
|
||||||
|
/*FMA_ANIM_IDLE*/ {0,ANIM_SANDY_IDLE},
|
||||||
|
/*FMA_ANIM_WALK*/ {0,-1},
|
||||||
|
/*FMA_ANIM_FIXTV*/ {0,-1},
|
||||||
|
/*FMA_ANIM_GIVEEND*/ {0,-1},
|
||||||
|
/*FMA_ANIM_GIVESTART*/ {0,-1},
|
||||||
|
/*FMA_ANIM_IDEA*/ {0,-1},
|
||||||
|
/*FMA_ANIM_QUICKEXIT*/ {0,-1},
|
||||||
|
/*FMA_ANIM_SHOUT*/ {0,-1},
|
||||||
|
/*FMA_ANIM_STUMBLE*/ {0,-1},
|
||||||
|
/*FMA_ANIM_THROW*/ {0,-1},
|
||||||
|
/*FMA_ANIM_HIDE*/ {0,-1},
|
||||||
|
/*FMA_ANIM_UNHIDE*/ {0,-1},
|
||||||
|
/*FMA_ANIM_UNHIDEIDLE*/ {0,-1},
|
||||||
|
/*FMA_ANIM_SIT*/ {0,-1},
|
||||||
|
/*FMA_ANIM_SITLOOKLEFT*/ {0,-1},
|
||||||
|
/*FMA_ANIM_SITASLEEP*/ {0,-1},
|
||||||
/*FMA_ANIM_RUBHEAD*/ {0,-1},
|
/*FMA_ANIM_RUBHEAD*/ {0,-1},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -384,6 +544,10 @@ static const int s_FMAIntroScript[]=
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH1_01_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH1_01_DAT,
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH1_02_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH1_02_DAT,
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH1_03_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH1_03_DAT,
|
||||||
|
SC_USE_LEVEL, 25,
|
||||||
|
SC_SET_NEXT_SCENE, FMA_NEXT_SCENE_MAP,
|
||||||
|
SC_START,
|
||||||
|
|
||||||
|
|
||||||
// Scene 1 - SB & Gary outside house
|
// Scene 1 - SB & Gary outside house
|
||||||
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,1,
|
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,1,
|
||||||
|
@ -468,6 +632,9 @@ static const int s_FMAC1EndScript[]=
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH2_01_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH2_01_DAT,
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH2_02_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH2_02_DAT,
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH2_03_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH2_03_DAT,
|
||||||
|
SC_USE_LEVEL, 25,
|
||||||
|
SC_SET_NEXT_SCENE, FMA_NEXT_SCENE_MAP,
|
||||||
|
SC_START,
|
||||||
|
|
||||||
// Scene 1 - Shade Shoals
|
// Scene 1 - Shade Shoals
|
||||||
SC_SNAP_CAMERA_TO, 4*16,18*16,
|
SC_SNAP_CAMERA_TO, 4*16,18*16,
|
||||||
|
@ -546,6 +713,9 @@ 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,
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH3_02_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH3_02_DAT,
|
||||||
|
SC_USE_LEVEL, 25,
|
||||||
|
SC_SET_NEXT_SCENE, FMA_NEXT_SCENE_MAP,
|
||||||
|
SC_START,
|
||||||
|
|
||||||
// Scene 1 - Shade Shoals
|
// Scene 1 - Shade Shoals
|
||||||
SC_SNAP_CAMERA_TO, 4*16,18*16,
|
SC_SNAP_CAMERA_TO, 4*16,18*16,
|
||||||
|
@ -612,6 +782,9 @@ 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,
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH4_02_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH4_02_DAT,
|
||||||
|
SC_USE_LEVEL, 25,
|
||||||
|
SC_SET_NEXT_SCENE, FMA_NEXT_SCENE_MAP,
|
||||||
|
SC_START,
|
||||||
|
|
||||||
// Scene 1 - Shade Shoals
|
// Scene 1 - Shade Shoals
|
||||||
SC_SNAP_CAMERA_TO, 4*16,18*16,
|
SC_SNAP_CAMERA_TO, 4*16,18*16,
|
||||||
|
@ -697,6 +870,9 @@ 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,
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH5_02_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH5_02_DAT,
|
||||||
|
SC_USE_LEVEL, 25,
|
||||||
|
SC_SET_NEXT_SCENE, FMA_NEXT_SCENE_MAP,
|
||||||
|
SC_START,
|
||||||
|
|
||||||
// Scene 1 - Shade Shoals
|
// Scene 1 - Shade Shoals
|
||||||
SC_SNAP_CAMERA_TO, 369*16,18*16,
|
SC_SNAP_CAMERA_TO, 369*16,18*16,
|
||||||
|
@ -750,6 +926,9 @@ static const int s_FMAC5EndScript[]=
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_01_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_01_DAT,
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_02_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_02_DAT,
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_03_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_CH6_03_DAT,
|
||||||
|
SC_USE_LEVEL, 25,
|
||||||
|
SC_SET_NEXT_SCENE, FMA_NEXT_SCENE_MAP,
|
||||||
|
SC_START,
|
||||||
|
|
||||||
// Scene 1 - Shade Shoals
|
// Scene 1 - Shade Shoals
|
||||||
SC_SNAP_CAMERA_TO, 4*16,18*16,
|
SC_SNAP_CAMERA_TO, 4*16,18*16,
|
||||||
|
@ -845,6 +1024,11 @@ static const int s_FMAC5EndScript[]=
|
||||||
static const int s_FMAPlanktonScript[]=
|
static const int s_FMAPlanktonScript[]=
|
||||||
{
|
{
|
||||||
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_PLANKTON_DAT,
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_PLANKTON_DAT,
|
||||||
|
SC_USE_LEVEL, 26,
|
||||||
|
SC_SET_NEXT_SCENE, FMA_NEXT_SCENE_GAME,
|
||||||
|
SC_START,
|
||||||
|
|
||||||
|
|
||||||
SC_SNAP_CAMERA_TO, 0*16,5*16,
|
SC_SNAP_CAMERA_TO, 0*16,5*16,
|
||||||
|
|
||||||
SC_WAIT_ON_TIMER, 60*2,
|
SC_WAIT_ON_TIMER, 60*2,
|
||||||
|
@ -887,6 +1071,84 @@ static const int s_FMAPlanktonScript[]=
|
||||||
SC_STOP
|
SC_STOP
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/*** Part FMA ****************************************************************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static const int s_FMAPartyScript[]=
|
||||||
|
{
|
||||||
|
// Init
|
||||||
|
SC_REGISTER_CONVERSATION, SCRIPTS_FMA_PARTY_DAT,
|
||||||
|
SC_USE_PARTY,
|
||||||
|
SC_SET_NEXT_SCENE, FMA_NEXT_SCENE_CREDITS,
|
||||||
|
SC_SNAP_CAMERA_TO, 0,0,
|
||||||
|
SC_START,
|
||||||
|
|
||||||
|
// Party scene
|
||||||
|
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SPONGEBOB,FMA_ANIM_IDLE,1,
|
||||||
|
SC_SET_ACTOR_POSITION, FMA_ACTOR_SPONGEBOB,150,150,
|
||||||
|
SC_SET_ACTOR_FACING, FMA_ACTOR_SPONGEBOB,1,
|
||||||
|
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_SPONGEBOB,true,
|
||||||
|
SC_SET_ITEM, 0,FRM__SANDWICH,
|
||||||
|
SC_CARRY_ITEM, 0,FMA_ACTOR_SPONGEBOB,
|
||||||
|
|
||||||
|
/*
|
||||||
|
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_MM,FMA_ANIM_IDLE,1,
|
||||||
|
SC_SET_ACTOR_POSITION, FMA_ACTOR_MM,175,150,
|
||||||
|
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,1,
|
||||||
|
SC_SET_ACTOR_POSITION, FMA_ACTOR_BB,300,200,
|
||||||
|
SC_SET_ACTOR_FACING, FMA_ACTOR_BB,1,
|
||||||
|
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_BB,true,
|
||||||
|
|
||||||
|
/*
|
||||||
|
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_GARY,FMA_ANIM_IDLE,1,
|
||||||
|
SC_SET_ACTOR_POSITION, FMA_ACTOR_GARY,225,150,
|
||||||
|
SC_SET_ACTOR_FACING, FMA_ACTOR_GARY,1,
|
||||||
|
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_GARY,true,
|
||||||
|
|
||||||
|
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_PLANKTON,FMA_ANIM_IDLE,1,
|
||||||
|
SC_SET_ACTOR_POSITION, FMA_ACTOR_PLANKTON,250,150,
|
||||||
|
SC_SET_ACTOR_FACING, FMA_ACTOR_PLANKTON,1,
|
||||||
|
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_PLANKTON,true,
|
||||||
|
|
||||||
|
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_PATRICK,FMA_ANIM_IDLE,1,
|
||||||
|
SC_SET_ACTOR_POSITION, FMA_ACTOR_PATRICK,250,200,
|
||||||
|
SC_SET_ACTOR_FACING, FMA_ACTOR_PATRICK,1,
|
||||||
|
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_PATRICK,true,
|
||||||
|
|
||||||
|
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_KRABS,FMA_ANIM_IDLE,1,
|
||||||
|
SC_SET_ACTOR_POSITION, FMA_ACTOR_KRABS,275,200,
|
||||||
|
SC_SET_ACTOR_FACING, FMA_ACTOR_KRABS,1,
|
||||||
|
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_KRABS,true,
|
||||||
|
|
||||||
|
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SQUIDWARD,FMA_ANIM_IDLE,1,
|
||||||
|
SC_SET_ACTOR_POSITION, FMA_ACTOR_SQUIDWARD,300,200,
|
||||||
|
SC_SET_ACTOR_FACING, FMA_ACTOR_SQUIDWARD,1,
|
||||||
|
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_SQUIDWARD,true,
|
||||||
|
|
||||||
|
SC_SET_ACTOR_ANIM_STATE, FMA_ACTOR_SANDY,FMA_ANIM_IDLE,1,
|
||||||
|
SC_SET_ACTOR_POSITION, FMA_ACTOR_SANDY,325,150,
|
||||||
|
SC_SET_ACTOR_FACING, FMA_ACTOR_SANDY,1,
|
||||||
|
SC_SET_ACTOR_VISIBILITY, FMA_ACTOR_SANDY,true,
|
||||||
|
*/
|
||||||
|
|
||||||
|
SC_WAIT_ON_TIMER, 240,
|
||||||
|
|
||||||
|
SC_THROW_ITEM_TO_ACTOR, 0,FMA_ACTOR_BB,0,120,
|
||||||
|
SC_WAIT_ON_THROWN_ITEM, 0,
|
||||||
|
|
||||||
|
SC_WAIT_ON_CONVERSATION, SCRIPTS_FMA_PARTY_DAT,
|
||||||
|
SC_HIDE_ITEM, 0,
|
||||||
|
SC_WAIT_ON_TIMER, 60*600,
|
||||||
|
|
||||||
|
SC_STOP
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
static const int *s_fmaScripts[CFmaScene::NUM_FMA_SCRIPTS]=
|
static const int *s_fmaScripts[CFmaScene::NUM_FMA_SCRIPTS]=
|
||||||
{
|
{
|
||||||
s_FMAIntroScript,
|
s_FMAIntroScript,
|
||||||
|
@ -896,9 +1158,10 @@ static const int *s_fmaScripts[CFmaScene::NUM_FMA_SCRIPTS]=
|
||||||
s_FMAC4EndScript,
|
s_FMAC4EndScript,
|
||||||
s_FMAC5EndScript,
|
s_FMAC5EndScript,
|
||||||
s_FMAPlanktonScript,
|
s_FMAPlanktonScript,
|
||||||
|
s_FMAPartyScript,
|
||||||
};
|
};
|
||||||
|
|
||||||
static CFmaScene::FMA_SCRIPT_NUMBER s_chosenScript=CFmaScene::FMA_SCRIPT__INTRO;
|
static CFmaScene::FMA_SCRIPT_NUMBER s_chosenScript=CFmaScene::FMA_SCRIPT__PARTY;//FMA_SCRIPT__INTRO;
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
Function:
|
Function:
|
||||||
|
@ -911,21 +1174,11 @@ void CFmaScene::init()
|
||||||
int i;
|
int i;
|
||||||
ACTOR_DATA *actor;
|
ACTOR_DATA *actor;
|
||||||
|
|
||||||
|
m_level=NULL;
|
||||||
|
|
||||||
CThingManager::init();
|
CThingManager::init();
|
||||||
CConversation::init();
|
CConversation::init();
|
||||||
|
|
||||||
m_level=new ("FMALevel") CLevel();
|
|
||||||
if (s_chosenScript==FMA_SCRIPT__PLANKTON)
|
|
||||||
{
|
|
||||||
m_level->init(26);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_level->init(25);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
m_cameraPos.vx=30;
|
m_cameraPos.vx=30;
|
||||||
m_cameraPos.vy=280;
|
m_cameraPos.vy=280;
|
||||||
m_cameraMoving=false;
|
m_cameraMoving=false;
|
||||||
|
@ -962,7 +1215,9 @@ void CFmaScene::init()
|
||||||
}
|
}
|
||||||
for (i=0; i<FMA_ITEM_MAX; i++)
|
for (i=0; i<FMA_ITEM_MAX; i++)
|
||||||
{
|
{
|
||||||
|
m_itemData[i].m_visible=false;
|
||||||
m_itemData[i].m_Actor=-1;
|
m_itemData[i].m_Actor=-1;
|
||||||
|
m_itemData[i].m_TargetActor=-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
CActorPool::SetUpCache();
|
CActorPool::SetUpCache();
|
||||||
|
@ -973,9 +1228,8 @@ void CFmaScene::init()
|
||||||
m_scriptRunning=true;
|
m_scriptRunning=true;
|
||||||
m_pc=s_fmaScripts[s_chosenScript];
|
m_pc=s_fmaScripts[s_chosenScript];
|
||||||
|
|
||||||
CFader::setFadingIn();
|
m_musicPlaying=false;
|
||||||
|
m_tuneLoaded=false;
|
||||||
CSoundMediator::playSong();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -996,7 +1250,17 @@ void CFmaScene::shutdown()
|
||||||
}
|
}
|
||||||
CActorPool::Reset();
|
CActorPool::Reset();
|
||||||
|
|
||||||
m_level->shutdown(); delete m_level;
|
if(m_level)
|
||||||
|
{
|
||||||
|
m_level->shutdown();
|
||||||
|
delete m_level;
|
||||||
|
}
|
||||||
|
if(m_party)
|
||||||
|
{
|
||||||
|
m_party->shutdown();
|
||||||
|
delete m_party;
|
||||||
|
}
|
||||||
|
|
||||||
CSoundMediator::dumpSong();
|
CSoundMediator::dumpSong();
|
||||||
|
|
||||||
CConversation::shutdown();
|
CConversation::shutdown();
|
||||||
|
@ -1019,7 +1283,15 @@ void CFmaScene::render()
|
||||||
|
|
||||||
CThingManager::renderAllThings();
|
CThingManager::renderAllThings();
|
||||||
CConversation::render();
|
CConversation::render();
|
||||||
|
|
||||||
|
if(m_level)
|
||||||
|
{
|
||||||
m_level->render();
|
m_level->render();
|
||||||
|
}
|
||||||
|
else if(m_party)
|
||||||
|
{
|
||||||
|
m_party->render();
|
||||||
|
}
|
||||||
|
|
||||||
actor=m_actorData;
|
actor=m_actorData;
|
||||||
for(i=0;i<FMA_NUM_ACTORS;i++)
|
for(i=0;i<FMA_NUM_ACTORS;i++)
|
||||||
|
@ -1040,9 +1312,18 @@ void CFmaScene::render()
|
||||||
for (i=0; i<FMA_ITEM_MAX; i++)
|
for (i=0; i<FMA_ITEM_MAX; i++)
|
||||||
{
|
{
|
||||||
sItemData *item=&m_itemData[i];
|
sItemData *item=&m_itemData[i];
|
||||||
if (item->m_Actor!=-1)
|
if(item->m_visible)
|
||||||
{
|
{
|
||||||
DVECTOR pos;
|
DVECTOR pos;
|
||||||
|
if(item->m_TargetActor!=-1)
|
||||||
|
{
|
||||||
|
// Being thrown to an actor
|
||||||
|
pos.vx=item->m_Pos.vx-m_cameraPos.vx;
|
||||||
|
pos.vy=item->m_Pos.vy-m_cameraPos.vy;
|
||||||
|
}
|
||||||
|
if (item->m_Actor!=-1)
|
||||||
|
{
|
||||||
|
// Attached to an actor
|
||||||
pos.vx=item->m_Pos.vx-m_cameraPos.vx;
|
pos.vx=item->m_Pos.vx-m_cameraPos.vx;
|
||||||
pos.vy=item->m_Pos.vy-m_cameraPos.vy;
|
pos.vy=item->m_Pos.vy-m_cameraPos.vy;
|
||||||
if (item->m_facing)
|
if (item->m_facing)
|
||||||
|
@ -1054,7 +1335,7 @@ void CFmaScene::render()
|
||||||
pos.vx+=s_actorGraphicsData[item->m_Actor].m_ItemOfs.vx;
|
pos.vx+=s_actorGraphicsData[item->m_Actor].m_ItemOfs.vx;
|
||||||
}
|
}
|
||||||
pos.vy+=s_actorGraphicsData[item->m_Actor].m_ItemOfs.vy;
|
pos.vy+=s_actorGraphicsData[item->m_Actor].m_ItemOfs.vy;
|
||||||
|
}
|
||||||
CGameScene::getSpriteBank()->printFT4(item->m_Frame,pos.vx,pos.vy,item->m_facing,0,OTPOS__PICKUP_POS-1);
|
CGameScene::getSpriteBank()->printFT4(item->m_Frame,pos.vx,pos.vy,item->m_facing,0,OTPOS__PICKUP_POS-1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1092,6 +1373,12 @@ void CFmaScene::think(int _frames)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if(!CFader::isFading()&&m_tuneLoaded&&!m_musicPlaying)
|
||||||
|
{
|
||||||
|
CSoundMediator::playSong();
|
||||||
|
m_musicPlaying=true;
|
||||||
|
}
|
||||||
|
|
||||||
if(PadGetHeld(0) & PAD_START)
|
if(PadGetHeld(0) & PAD_START)
|
||||||
{ // Give player an exit option!!
|
{ // Give player an exit option!!
|
||||||
m_scriptRunning=false;
|
m_scriptRunning=false;
|
||||||
|
@ -1184,19 +1471,51 @@ void CFmaScene::think(int _frames)
|
||||||
for (i=0; i<FMA_ITEM_MAX; i++)
|
for (i=0; i<FMA_ITEM_MAX; i++)
|
||||||
{
|
{
|
||||||
sItemData *item=&m_itemData[i];
|
sItemData *item=&m_itemData[i];
|
||||||
if (item->m_Actor!=-1)
|
if(item->m_TargetActor!=-1)
|
||||||
{
|
{
|
||||||
DVECTOR &TargetPos=m_actorData[item->m_Actor].m_pos;
|
// Being thrown to an actor
|
||||||
DVECTOR Move;
|
int totalFrames,currentFrame;
|
||||||
|
totalFrames=item->m_endMoveFrame-item->m_startMoveFrame;
|
||||||
Move.vx=TargetPos.vx-item->m_Pos.vx;
|
currentFrame=totalFrames-(item->m_endMoveFrame-m_frameCount);
|
||||||
Move.vy=TargetPos.vy-item->m_Pos.vy;
|
if(currentFrame==0)
|
||||||
|
{
|
||||||
item->m_Pos.vx+=Move.vx;
|
item->m_Pos=item->m_startPos;
|
||||||
item->m_Pos.vy+=Move.vy;
|
}
|
||||||
|
else if(currentFrame>=totalFrames)
|
||||||
|
{
|
||||||
|
item->m_Pos=item->m_TargetPos;
|
||||||
|
item->m_Actor=item->m_TargetActor;
|
||||||
|
item->m_TargetActor=-1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int sin,yoff;
|
||||||
|
item->m_Pos.vx=item->m_startPos.vx+(((item->m_TargetPos.vx-item->m_startPos.vx)*currentFrame)/totalFrames);
|
||||||
|
item->m_Pos.vy=item->m_startPos.vy+(((item->m_TargetPos.vy-item->m_startPos.vy)*currentFrame)/totalFrames);
|
||||||
|
sin=((currentFrame*2048)/totalFrames);
|
||||||
|
yoff=-(msin(sin)*item->m_throwArcHeight)>>12;
|
||||||
|
item->m_Pos.vy+=yoff;
|
||||||
|
///
|
||||||
|
//item->m_Pos=item->m_TargetPos;
|
||||||
|
///
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (item->m_Actor!=-1)
|
||||||
|
{
|
||||||
|
// Being carried by an actor
|
||||||
|
// DVECTOR &TargetPos=m_actorData[item->m_Actor].m_pos;
|
||||||
|
// DVECTOR Move;
|
||||||
|
//
|
||||||
|
// Move.vx=TargetPos.vx-item->m_Pos.vx;
|
||||||
|
// Move.vy=TargetPos.vy-item->m_Pos.vy;
|
||||||
|
//
|
||||||
|
// item->m_Pos.vx+=Move.vx;
|
||||||
|
// item->m_Pos.vy+=Move.vy;
|
||||||
|
//
|
||||||
|
// item->m_facing=m_actorData[item->m_Actor].m_facing;
|
||||||
|
|
||||||
|
item->m_Pos=m_actorData[item->m_Actor].m_pos;
|
||||||
item->m_facing=m_actorData[item->m_Actor].m_facing;
|
item->m_facing=m_actorData[item->m_Actor].m_facing;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1220,8 +1539,16 @@ void CFmaScene::think(int _frames)
|
||||||
|
|
||||||
CThingManager::thinkAllThings(_frames);
|
CThingManager::thinkAllThings(_frames);
|
||||||
CConversation::think(_frames);
|
CConversation::think(_frames);
|
||||||
|
|
||||||
|
if(m_level)
|
||||||
|
{
|
||||||
m_level->setCameraCentre(m_cameraPos);
|
m_level->setCameraCentre(m_cameraPos);
|
||||||
m_level->think(_frames);
|
m_level->think(_frames);
|
||||||
|
}
|
||||||
|
else if(m_party)
|
||||||
|
{
|
||||||
|
m_party->think(_frames);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1258,7 +1585,6 @@ void CFmaScene::selectFma(FMA_SCRIPT_NUMBER _fma)
|
||||||
void CFmaScene::startShutdown()
|
void CFmaScene::startShutdown()
|
||||||
{
|
{
|
||||||
CFader::setFadingOut();
|
CFader::setFadingOut();
|
||||||
GameState::setNextScene(&MapScene);
|
|
||||||
m_readyToShutdown=true;
|
m_readyToShutdown=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1276,6 +1602,28 @@ void CFmaScene::startNextScriptCommand()
|
||||||
|
|
||||||
switch(*m_pc)
|
switch(*m_pc)
|
||||||
{
|
{
|
||||||
|
case SC_USE_LEVEL:
|
||||||
|
ASSERT(!m_level);
|
||||||
|
ASSERT(!m_party);
|
||||||
|
m_pc++;
|
||||||
|
m_level=new ("FMALevel") CLevel();
|
||||||
|
m_level->init(*(m_pc++));
|
||||||
|
m_tuneLoaded=true;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SC_USE_PARTY: //
|
||||||
|
ASSERT(!m_level);
|
||||||
|
ASSERT(!m_party);
|
||||||
|
m_pc++;
|
||||||
|
m_party=new ("FMAParty") CPartyScene();
|
||||||
|
m_party->init();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SC_SET_NEXT_SCENE: // nextScene
|
||||||
|
m_pc++;
|
||||||
|
GameState::setNextScene(s_nextGameSceneTable[*(m_pc++)]);
|
||||||
|
break;
|
||||||
|
|
||||||
case SC_SNAP_CAMERA_TO: // x,y
|
case SC_SNAP_CAMERA_TO: // x,y
|
||||||
m_pc++;
|
m_pc++;
|
||||||
m_cameraPos.vx=*m_pc++;
|
m_cameraPos.vx=*m_pc++;
|
||||||
|
@ -1319,6 +1667,10 @@ void CFmaScene::startNextScriptCommand()
|
||||||
m_stillProcessingCommand=true;
|
m_stillProcessingCommand=true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case SC_WAIT_ON_THROWN_ITEM: // item
|
||||||
|
m_stillProcessingCommand=true;
|
||||||
|
break;
|
||||||
|
|
||||||
case SC_SET_ACTOR_VISIBILITY: // actor,on/off
|
case SC_SET_ACTOR_VISIBILITY: // actor,on/off
|
||||||
{
|
{
|
||||||
ACTOR_DATA *actor;
|
ACTOR_DATA *actor;
|
||||||
|
@ -1398,7 +1750,7 @@ void CFmaScene::startNextScriptCommand()
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SC_SET_ITEM: // item, actor, Frame
|
case SC_SET_ITEM: // item, Frame
|
||||||
{
|
{
|
||||||
sItemData *item;
|
sItemData *item;
|
||||||
m_pc++;
|
m_pc++;
|
||||||
|
@ -1414,9 +1766,64 @@ void CFmaScene::startNextScriptCommand()
|
||||||
m_pc++;
|
m_pc++;
|
||||||
item=&m_itemData[*m_pc++];
|
item=&m_itemData[*m_pc++];
|
||||||
item->m_Actor=*m_pc++;
|
item->m_Actor=*m_pc++;
|
||||||
|
item->m_visible=true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SC_STOP: //
|
|
||||||
|
case SC_HIDE_ITEM: // item
|
||||||
|
m_pc++;
|
||||||
|
m_itemData[*m_pc++].m_visible=false;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SC_THROW_ITEM_TO_ACTOR: // item,targetActor,arcHeight,frames
|
||||||
|
{
|
||||||
|
sItemData *item;
|
||||||
|
m_pc++;
|
||||||
|
item=&m_itemData[*m_pc++];
|
||||||
|
ASSERT(item->m_Actor!=-1);
|
||||||
|
item->m_TargetActor=*m_pc++;
|
||||||
|
ASSERT(item->m_Actor!=item->m_TargetActor);
|
||||||
|
item->m_throwArcHeight=*(m_pc++);
|
||||||
|
item->m_startMoveFrame=m_frameCount;
|
||||||
|
item->m_endMoveFrame=m_frameCount+*m_pc++;
|
||||||
|
|
||||||
|
// Calc the positions
|
||||||
|
item->m_TargetPos=m_actorData[item->m_TargetActor].m_pos;
|
||||||
|
/*
|
||||||
|
if(m_actorData[item->m_TargetActor].m_facing)
|
||||||
|
{
|
||||||
|
item->m_TargetPos.vx-=s_actorGraphicsData[item->m_TargetActor].m_ItemOfs.vx;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
item->m_TargetPos.vx+=s_actorGraphicsData[item->m_TargetActor].m_ItemOfs.vx;
|
||||||
|
}
|
||||||
|
item->m_TargetPos.vy+=s_actorGraphicsData[item->m_TargetActor].m_ItemOfs.vy;
|
||||||
|
*/
|
||||||
|
item->m_startPos=item->m_Pos;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
pos.vx=item->m_Pos.vx-m_cameraPos.vx;
|
||||||
|
pos.vy=item->m_Pos.vy-m_cameraPos.vy;
|
||||||
|
if (item->m_facing)
|
||||||
|
{
|
||||||
|
pos.vx-=s_actorGraphicsData[item->m_Actor].m_ItemOfs.vx;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pos.vx+=s_actorGraphicsData[item->m_Actor].m_ItemOfs.vx;
|
||||||
|
}
|
||||||
|
pos.vy+=s_actorGraphicsData[item->m_Actor].m_ItemOfs.vy;
|
||||||
|
*/
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SC_START: //
|
||||||
|
m_pc++;
|
||||||
|
CFader::setFadingIn();
|
||||||
|
m_doOtherProcessing=true;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SC_STOP: // nextScene
|
||||||
m_scriptRunning=false;
|
m_scriptRunning=false;
|
||||||
m_doOtherProcessing=true;
|
m_doOtherProcessing=true;
|
||||||
break;
|
break;
|
||||||
|
@ -1438,6 +1845,9 @@ void CFmaScene::processCurrentScriptCommand()
|
||||||
{
|
{
|
||||||
switch(*m_pc)
|
switch(*m_pc)
|
||||||
{
|
{
|
||||||
|
case SC_USE_LEVEL: // levelNumber
|
||||||
|
case SC_USE_PARTY: //
|
||||||
|
case SC_SET_NEXT_SCENE: // nextScene
|
||||||
case SC_SNAP_CAMERA_TO: // x,y
|
case SC_SNAP_CAMERA_TO: // x,y
|
||||||
case SC_MOVE_CAMERA_TO: // x,y,frames
|
case SC_MOVE_CAMERA_TO: // x,y,frames
|
||||||
case SC_REGISTER_CONVERSATION: // scriptId
|
case SC_REGISTER_CONVERSATION: // scriptId
|
||||||
|
@ -1446,7 +1856,8 @@ void CFmaScene::processCurrentScriptCommand()
|
||||||
case SC_SET_ACTOR_FACING: // actor,facing
|
case SC_SET_ACTOR_FACING: // actor,facing
|
||||||
case SC_SET_ACTOR_ANIM_STATE: // actor,state
|
case SC_SET_ACTOR_ANIM_STATE: // actor,state
|
||||||
case SC_WALK_ACTOR_TO_POSITION: // actor,x,y,frames
|
case SC_WALK_ACTOR_TO_POSITION: // actor,x,y,frames
|
||||||
case SC_STOP: //
|
case SC_START: //
|
||||||
|
case SC_STOP: // nextScene
|
||||||
ASSERT(!"Shouldn't be here..");
|
ASSERT(!"Shouldn't be here..");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -1518,6 +1929,18 @@ void CFmaScene::processCurrentScriptCommand()
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case SC_WAIT_ON_THROWN_ITEM: // item
|
||||||
|
if(m_itemData[*(m_pc+1)].m_TargetActor==-1)
|
||||||
|
{
|
||||||
|
m_pc+=2;
|
||||||
|
m_stillProcessingCommand=false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_doOtherProcessing=true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
ASSERT(!"Bad script command");
|
ASSERT(!"Bad script command");
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -50,6 +50,7 @@ public:
|
||||||
FMA_SCRIPT__CH4FINISHED,
|
FMA_SCRIPT__CH4FINISHED,
|
||||||
FMA_SCRIPT__CH5FINISHED,
|
FMA_SCRIPT__CH5FINISHED,
|
||||||
FMA_SCRIPT__PLANKTON,
|
FMA_SCRIPT__PLANKTON,
|
||||||
|
FMA_SCRIPT__PARTY,
|
||||||
NUM_FMA_SCRIPTS,
|
NUM_FMA_SCRIPTS,
|
||||||
FMA_SCRIPT__NONE,
|
FMA_SCRIPT__NONE,
|
||||||
}FMA_SCRIPT_NUMBER;
|
}FMA_SCRIPT_NUMBER;
|
||||||
|
@ -73,6 +74,7 @@ private:
|
||||||
|
|
||||||
|
|
||||||
class CLevel *m_level;
|
class CLevel *m_level;
|
||||||
|
class CPartyScene *m_party;
|
||||||
|
|
||||||
DVECTOR m_cameraPos;
|
DVECTOR m_cameraPos;
|
||||||
|
|
||||||
|
@ -89,6 +91,9 @@ private:
|
||||||
int m_timer;
|
int m_timer;
|
||||||
int m_frameCount;
|
int m_frameCount;
|
||||||
|
|
||||||
|
int m_tuneLoaded;
|
||||||
|
int m_musicPlaying;
|
||||||
|
|
||||||
int m_readyToShutdown;
|
int m_readyToShutdown;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -223,6 +223,7 @@ void CGameScene::init()
|
||||||
s_restartLevel=false;
|
s_restartLevel=false;
|
||||||
|
|
||||||
CFader::setFadingIn();
|
CFader::setFadingIn();
|
||||||
|
CLevel::setIsBossRespawn(false);
|
||||||
initLevel();
|
initLevel();
|
||||||
|
|
||||||
m_gamestate=GAMESTATE_SHOWING_LIVES;
|
m_gamestate=GAMESTATE_SHOWING_LIVES;
|
||||||
|
@ -742,6 +743,7 @@ void CGameScene::initLevel()
|
||||||
#ifdef __VERSION_DEBUG__
|
#ifdef __VERSION_DEBUG__
|
||||||
s_skipToNextLevel=false;
|
s_skipToNextLevel=false;
|
||||||
#endif
|
#endif
|
||||||
|
CActorPool::Reset();
|
||||||
Level.init(s_globalLevelSelectThing);
|
Level.init(s_globalLevelSelectThing);
|
||||||
|
|
||||||
createPlayer();
|
createPlayer();
|
||||||
|
|
|
@ -85,7 +85,7 @@ void CFader::render()
|
||||||
POLY_F4 *f4;
|
POLY_F4 *f4;
|
||||||
POLY_FT3 *ft3;
|
POLY_FT3 *ft3;
|
||||||
f4=GetPrimF4();
|
f4=GetPrimF4();
|
||||||
setXYWH(f4,0,0,511,255);
|
setXYWH(f4,0,0,VidGetScrW()+1,VidGetScrH()+1);
|
||||||
setRGB0(f4,s_fadeValue,s_fadeValue,s_fadeValue);
|
setRGB0(f4,s_fadeValue,s_fadeValue,s_fadeValue);
|
||||||
setShadeTex(f4,0);
|
setShadeTex(f4,0);
|
||||||
setSemiTrans(f4,1);
|
setSemiTrans(f4,1);
|
||||||
|
@ -116,7 +116,7 @@ void CFader::render()
|
||||||
int col;
|
int col;
|
||||||
col=255-s_fadeValue;
|
col=255-s_fadeValue;
|
||||||
f4=GetPrimF4();
|
f4=GetPrimF4();
|
||||||
setXYWH(f4,0,0,511,255);
|
setXYWH(f4,0,0,VidGetScrW()+1,VidGetScrH()+1);
|
||||||
setRGB0(f4,col,col,col);
|
setRGB0(f4,col,col,col);
|
||||||
setShadeTex(f4,0);
|
setShadeTex(f4,0);
|
||||||
setSemiTrans(f4,1);
|
setSemiTrans(f4,1);
|
||||||
|
@ -139,7 +139,7 @@ void CFader::render()
|
||||||
POLY_F4 *f4;
|
POLY_F4 *f4;
|
||||||
|
|
||||||
f4=GetPrimF4();
|
f4=GetPrimF4();
|
||||||
setXYWH(f4,0,0,VidGetScrW(),VidGetScrH());
|
setXYWH(f4,0,0,VidGetScrW()+1,VidGetScrH());
|
||||||
switch(s_fadeStyle)
|
switch(s_fadeStyle)
|
||||||
{
|
{
|
||||||
case BLACK_FADE:
|
case BLACK_FADE:
|
||||||
|
|
|
@ -197,7 +197,6 @@ void CLevel::init(int LevelNo)
|
||||||
// Load it
|
// Load it
|
||||||
sLvlTab *lvlTab=&LvlTable[LevelNo];
|
sLvlTab *lvlTab=&LvlTable[LevelNo];
|
||||||
|
|
||||||
CActorPool::Reset();
|
|
||||||
CSoundMediator::setSong((CSoundMediator::SONGID)lvlTab->songId);
|
CSoundMediator::setSong((CSoundMediator::SONGID)lvlTab->songId);
|
||||||
|
|
||||||
DisplayLoadingScreen(lvlTab);
|
DisplayLoadingScreen(lvlTab);
|
||||||
|
|
|
@ -63,10 +63,6 @@
|
||||||
#include "map\map.h"
|
#include "map\map.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __BACKEND_PARTY_H__
|
|
||||||
#include "backend\party.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __BACKEND_CREDITS_H__
|
#ifndef __BACKEND_CREDITS_H__
|
||||||
#include "backend\credits.h"
|
#include "backend\credits.h"
|
||||||
#endif
|
#endif
|
||||||
|
@ -116,7 +112,6 @@ CScene *CSceneSelector::s_sceneList[]=
|
||||||
&FmaScene,
|
&FmaScene,
|
||||||
&MapScene,
|
&MapScene,
|
||||||
&ShopScene,
|
&ShopScene,
|
||||||
&PartyScene,
|
|
||||||
&CreditsScene,
|
&CreditsScene,
|
||||||
&AnimTestScene,
|
&AnimTestScene,
|
||||||
&SaveScene,
|
&SaveScene,
|
||||||
|
|
|
@ -74,14 +74,14 @@
|
||||||
#include "map\map.h"
|
#include "map\map.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __BACKEND_PARTY_H__
|
|
||||||
#include "backend\party.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __GUI_POINTER_H__
|
#ifndef __GUI_POINTER_H__
|
||||||
#include "gui\pointer.h"
|
#include "gui\pointer.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __FMA_FMA_H__
|
||||||
|
#include "fma\fma.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Std Lib
|
/* Std Lib
|
||||||
------- */
|
------- */
|
||||||
|
@ -411,7 +411,8 @@ void CShopScene::think(int _frames)
|
||||||
if(s_gotoPartyScreen)
|
if(s_gotoPartyScreen)
|
||||||
{
|
{
|
||||||
s_gotoPartyScreen=false;
|
s_gotoPartyScreen=false;
|
||||||
GameState::setNextScene(&PartyScene);
|
CFmaScene::selectFma(CFmaScene::FMA_SCRIPT__PARTY);
|
||||||
|
GameState::setNextScene(&FmaScene);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue