This commit is contained in:
parent
8a1398c99b
commit
97d27f0ae9
9 changed files with 95 additions and 190 deletions
|
@ -78,7 +78,7 @@ void CGameCompletedScene::init()
|
|||
m_font->setOt(5);
|
||||
|
||||
m_readyToExit=false;
|
||||
CFader::setFadingIn(CFader::BLACK_FADE);
|
||||
CFader::setFadingIn();
|
||||
}
|
||||
|
||||
|
||||
|
@ -127,7 +127,7 @@ void CGameCompletedScene::think(int _frames)
|
|||
if(PadGetDown(0)&(PAD_CROSS|PAD_START))
|
||||
{
|
||||
m_readyToExit=true;
|
||||
CFader::setFadingOut(CFader::BLACK_FADE);
|
||||
CFader::setFadingOut();
|
||||
GameState::setNextScene(&FrontEndScene);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -103,7 +103,7 @@ void CGameOverScene::init()
|
|||
m_font->setOt(5);
|
||||
|
||||
m_readyToExit=false;
|
||||
CFader::setFadingIn(CFader::BLACK_FADE);
|
||||
CFader::setFadingIn();
|
||||
|
||||
initContinue();
|
||||
initGameOver();
|
||||
|
@ -244,7 +244,7 @@ void CGameOverScene::thinkContinue(int _frames)
|
|||
else if(pad&PAD_START)
|
||||
{
|
||||
m_readyToExit=true;
|
||||
CFader::setFadingOut(CFader::BLACK_FADE);
|
||||
CFader::setFadingOut();
|
||||
GameState::setNextScene(&GameScene);
|
||||
m_state=STATE__EXITING_TO_GAME;
|
||||
}
|
||||
|
@ -336,7 +336,7 @@ void CGameOverScene::thinkGameOver(int _frames)
|
|||
PadGetDown(0)&(PAD_START|PAD_CROSS))
|
||||
{
|
||||
m_readyToExit=true;
|
||||
CFader::setFadingOut(CFader::BLACK_FADE);
|
||||
CFader::setFadingOut();
|
||||
GameState::setNextScene(&FrontEndScene);
|
||||
m_state=STATE__EXITING_TO_FRONT_END;
|
||||
}
|
||||
|
|
|
@ -127,7 +127,7 @@ void CPartyScene::init()
|
|||
m_sprites->load(PARTY_PARTY_SPR);
|
||||
|
||||
m_readyToExit=false;
|
||||
CFader::setFadingIn(CFader::BLACK_FADE);
|
||||
CFader::setFadingIn();
|
||||
|
||||
CActorPool::Reset();
|
||||
m_actorSpongebob=CActorPool::GetActor(ACTORS_SPONGEBOB_SBK);
|
||||
|
|
|
@ -277,12 +277,10 @@ void CGameScene::render()
|
|||
/*****************************************************************************/
|
||||
void CGameScene::think(int _frames)
|
||||
{
|
||||
//#ifdef __USER_paul__
|
||||
// if(!CConversation::isActive()&&PadGetDown(0)&PAD_START)
|
||||
// {
|
||||
// CConversation::trigger(SCRIPTS_SPEECHTEST_DAT);
|
||||
// }
|
||||
//#endif
|
||||
if(s_readyToExit)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Auto-timer stuff
|
||||
if(m_levelHasTimer)
|
||||
|
@ -294,12 +292,7 @@ void CGameScene::think(int _frames)
|
|||
}
|
||||
}
|
||||
|
||||
if(s_readyToExit)
|
||||
{
|
||||
// Temporarily.. exiting game scene always goes back to the front end (pkg)
|
||||
GameState::setNextScene(&FrontEndScene);
|
||||
}
|
||||
else if(s_levelFinished)
|
||||
if(s_levelFinished)
|
||||
{
|
||||
// Do the gameslot stuff..
|
||||
CGameSlotManager::GameSlot *gameSlot;
|
||||
|
@ -354,6 +347,8 @@ void CGameScene::think(int _frames)
|
|||
GameState::setNextScene(&MapScene);
|
||||
}
|
||||
s_readyToExit=true;
|
||||
s_levelFinished=false;
|
||||
CFader::setFadingOut();
|
||||
}
|
||||
#ifdef __VERSION_DEBUG__
|
||||
else if(s_skipToNextLevel)
|
||||
|
@ -375,6 +370,7 @@ void CGameScene::think(int _frames)
|
|||
{
|
||||
s_readyToExit=true;
|
||||
GameState::setNextScene(&FrontEndScene);
|
||||
CFader::setFadingOut();
|
||||
}
|
||||
s_restartLevel=false;
|
||||
}
|
||||
|
@ -418,7 +414,7 @@ void CGameScene::think(int _frames)
|
|||
/*****************************************************************************/
|
||||
int CGameScene::readyToShutdown()
|
||||
{
|
||||
return s_readyToExit;
|
||||
return s_readyToExit&&!CFader::isFading();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -457,6 +453,14 @@ void CGameScene::sendEvent( GAME_EVENT evt, CThing *sourceThing )
|
|||
}
|
||||
|
||||
|
||||
/*****************************************************************************/
|
||||
void CGameScene::setReadyToExit()
|
||||
{
|
||||
s_readyToExit=true;
|
||||
GameState::setNextScene(&FrontEndScene);
|
||||
CFader::setFadingOut();
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************/
|
||||
void CGameScene::initLevel()
|
||||
|
|
|
@ -49,7 +49,7 @@ virtual int canPause();
|
|||
void respawnLevel();
|
||||
void sendEvent( GAME_EVENT evt, class CThing *sourceThing );
|
||||
|
||||
static void setReadyToExit() {s_readyToExit=true;}
|
||||
static void setReadyToExit();
|
||||
static void levelFinished() {s_levelFinished=true;}
|
||||
static void restartlevel() {s_restartLevel=true;}
|
||||
CLevel &GetLevel() {return(Level);}
|
||||
|
|
|
@ -53,9 +53,11 @@
|
|||
Vars
|
||||
---- */
|
||||
|
||||
int CFader::s_fadeValue=0;
|
||||
CFader::FADE_MODE CFader::s_fadeMode=FADED_IN;
|
||||
CFader::FADE_STYLE CFader::s_fadeStyle;
|
||||
int CFader::s_fadeValue=0;
|
||||
int CFader::s_waitFrames=0;
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
Function:
|
||||
|
@ -63,84 +65,19 @@ CFader::FADE_STYLE CFader::s_fadeStyle;
|
|||
Params:
|
||||
Returns:
|
||||
---------------------------------------------------------------------- */
|
||||
|
||||
BubicleEmitterData s_fadeBubicleSpawner=
|
||||
{
|
||||
0,0,512,40, // m_x,m_y,m_w,m_h
|
||||
0,0, // m_birthRate,m_birthAmount
|
||||
0, // m_life
|
||||
false, // m_applyMapOffsets
|
||||
|
||||
// m_bubicleBase
|
||||
{
|
||||
10, // m_life
|
||||
0,0,0, // m_vx,m_vdx,m_vxmax
|
||||
-200,0,0, // m_vy,m_vdy,m_vymax
|
||||
27,18, // m_w,m_h
|
||||
0, // m_dvSizeChange
|
||||
0,0, // m_theta,m_vtheta
|
||||
0,0,0, // m_wobbleWidth,m_vwobbleWidth,m_vdwobbleWidth
|
||||
0, // m_ot
|
||||
{0,0,0} // m_colour
|
||||
},
|
||||
// m_bubicleRange;
|
||||
{
|
||||
10, // m_life
|
||||
0,0,0, // m_vx,m_vdx,m_vxmax
|
||||
50,0,0, // m_vy,m_vdy,m_vymax
|
||||
4,4, // m_w,m_h
|
||||
0, // m_dvSizeChange
|
||||
0,100, // m_theta,m_vtheta
|
||||
10,0,0, // m_wobbleWidth,m_vwobbleWidth,m_vdwobbleWidth
|
||||
0, // m_ot
|
||||
{30,30,30} // m_colour
|
||||
}
|
||||
};
|
||||
|
||||
void CFader::render()
|
||||
{
|
||||
switch(s_fadeMode)
|
||||
{
|
||||
case FADED_IN:
|
||||
case PAUSE_BEFORE_FADING_IN:
|
||||
case PAUSE_BEFORE_FADING_OUT:
|
||||
return;
|
||||
|
||||
case FADING_IN:
|
||||
{
|
||||
switch(s_fadeStyle)
|
||||
{
|
||||
case BUBBLE_FADE:
|
||||
{
|
||||
if(s_fadeValue>0)
|
||||
{
|
||||
POLY_F4 *f4;
|
||||
POLY_G4 *g4;
|
||||
POLY_FT3 *ft3;
|
||||
|
||||
f4=GetPrimF4();
|
||||
setXYWH(f4,0,-FADE_BORDER_SIZE,512,s_fadeValue-(FADE_SMOOTH_BORDER_SIZE/2)+FADE_BORDER_SIZE);
|
||||
setRGB0(f4,255,255,255);
|
||||
AddPrimToList(f4,0);
|
||||
|
||||
g4=GetPrimG4();
|
||||
setXYWH(g4,0,s_fadeValue-(FADE_SMOOTH_BORDER_SIZE/2),512,FADE_SMOOTH_BORDER_SIZE);
|
||||
setRGB0(g4,255,255,255);
|
||||
setRGB1(g4,255,255,255);
|
||||
setRGB2(g4,0,0,0);
|
||||
setRGB3(g4,0,0,0);
|
||||
setShadeTex(g4,0);
|
||||
setSemiTrans(g4,1);
|
||||
AddPrimToList(g4,0);
|
||||
|
||||
ft3=GetPrimFT3();
|
||||
setShadeTex(ft3,1);
|
||||
setSemiTrans(ft3,1);
|
||||
ft3->tpage=(1<<5);
|
||||
setXY3(ft3,512,512,512,512,512,512);
|
||||
AddPrimToList(ft3,0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case BLACK_FADE:
|
||||
case WHITE_FADE:
|
||||
{
|
||||
|
@ -156,8 +93,8 @@ void CFader::render()
|
|||
setPolyFT3(ft3);
|
||||
setShadeTex(ft3,1);
|
||||
setSemiTrans(ft3,1);
|
||||
ft3->tpage=(s_fadeStyle==BLACK_FADE?2:1<<5);
|
||||
setXY3(ft3,512,512,512,512,512,512);
|
||||
ft3->tpage=(s_fadeStyle==BLACK_FADE?2:1)<<5;
|
||||
setXY3(ft3,0,0,0,512,512,0);
|
||||
AddPrimToList(ft3,0);
|
||||
break;
|
||||
}
|
||||
|
@ -166,39 +103,10 @@ void CFader::render()
|
|||
break;
|
||||
|
||||
case FADING_OUT:
|
||||
case PAUSE_AFTER_FADING_OUT:
|
||||
{
|
||||
switch(s_fadeStyle)
|
||||
{
|
||||
case BUBBLE_FADE:
|
||||
{
|
||||
POLY_F4 *f4;
|
||||
POLY_G4 *g4;
|
||||
POLY_FT3 *ft3;
|
||||
|
||||
f4=GetPrimF4();
|
||||
setXYWH(f4,0,s_fadeValue+(FADE_SMOOTH_BORDER_SIZE/2),512,256-s_fadeValue-(FADE_SMOOTH_BORDER_SIZE/2));
|
||||
setRGB0(f4,255,255,255);
|
||||
AddPrimToList(f4,0);
|
||||
|
||||
g4=GetPrimG4();
|
||||
setXYWH(g4,0,s_fadeValue-(FADE_SMOOTH_BORDER_SIZE/2),512,FADE_SMOOTH_BORDER_SIZE);
|
||||
setRGB0(g4,0,0,0);
|
||||
setRGB1(g4,0,0,0);
|
||||
setRGB2(g4,255,255,255);
|
||||
setRGB3(g4,255,255,255);
|
||||
setShadeTex(g4,0);
|
||||
setSemiTrans(g4,1);
|
||||
AddPrimToList(g4,0);
|
||||
|
||||
ft3=GetPrimFT3();
|
||||
setShadeTex(ft3,1);
|
||||
setSemiTrans(ft3,1);
|
||||
ft3->tpage=(1<<5);
|
||||
setXY3(ft3,512,512,512,512,512,512);
|
||||
AddPrimToList(ft3,0);
|
||||
break;
|
||||
}
|
||||
|
||||
case BLACK_FADE:
|
||||
case WHITE_FADE:
|
||||
{
|
||||
|
@ -216,7 +124,7 @@ void CFader::render()
|
|||
setPolyFT3(ft3);
|
||||
setShadeTex(ft3,1);
|
||||
setSemiTrans(ft3,1);
|
||||
ft3->tpage=(s_fadeStyle==BLACK_FADE?2:1<<5);
|
||||
ft3->tpage=(s_fadeStyle==BLACK_FADE?2:1)<<5;
|
||||
setXY3(ft3,512,512,512,512,512,512);
|
||||
AddPrimToList(ft3,0);
|
||||
break;
|
||||
|
@ -233,9 +141,6 @@ void CFader::render()
|
|||
setXYWH(f4,0,0,512,256);
|
||||
switch(s_fadeStyle)
|
||||
{
|
||||
case BUBBLE_FADE:
|
||||
setRGB0(f4,255,255,255);
|
||||
break;
|
||||
case BLACK_FADE:
|
||||
setRGB0(f4,0,0,0);
|
||||
break;
|
||||
|
@ -247,13 +152,6 @@ void CFader::render()
|
|||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(s_fadeStyle==BUBBLE_FADE)
|
||||
{
|
||||
s_fadeBubicleSpawner.m_y=s_fadeValue-20;
|
||||
for(int i=0;i<BUBBLES_PER_FRAME;i++)
|
||||
CBubicleFactory::spawnParticle(&s_fadeBubicleSpawner);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -265,36 +163,19 @@ void CFader::render()
|
|||
---------------------------------------------------------------------- */
|
||||
void CFader::think(int _frames)
|
||||
{
|
||||
if(s_fadeMode!=FADED_IN&&s_fadeMode!=FADED_OUT)
|
||||
if(s_waitFrames)
|
||||
{
|
||||
s_waitFrames--;
|
||||
return;
|
||||
}
|
||||
|
||||
switch(s_fadeMode)
|
||||
{
|
||||
case FADING_IN:
|
||||
case FADING_OUT:
|
||||
s_fadeValue-=_frames*FADE_SPEED;
|
||||
switch(s_fadeStyle)
|
||||
{
|
||||
case BUBBLE_FADE:
|
||||
{
|
||||
if(s_fadeValue<-FADE_BORDER_SIZE)
|
||||
{
|
||||
if(s_fadeMode==FADING_OUT)
|
||||
{
|
||||
s_fadeMode=FADED_OUT;
|
||||
CSoundMediator::setVolume(CSoundMediator::VOL_FADE,0);
|
||||
}
|
||||
else
|
||||
{
|
||||
s_fadeMode=FADED_IN;
|
||||
CSoundMediator::setVolume(CSoundMediator::VOL_FADE,255);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(s_fadeValue>=0&&s_fadeValue<=255)
|
||||
{
|
||||
CSoundMediator::setVolume(CSoundMediator::VOL_FADE,s_fadeMode==FADING_OUT?s_fadeValue:255-s_fadeValue);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case BLACK_FADE:
|
||||
case WHITE_FADE:
|
||||
{
|
||||
|
@ -305,6 +186,7 @@ void CFader::think(int _frames)
|
|||
{
|
||||
s_fadeMode=FADED_OUT;
|
||||
CSoundMediator::setVolume(CSoundMediator::VOL_FADE,0);
|
||||
s_waitFrames=FRAMES_TO_WAIT;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -319,6 +201,31 @@ void CFader::think(int _frames)
|
|||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case PAUSE_BEFORE_FADING_IN:
|
||||
if(--s_waitFrames==0)
|
||||
{
|
||||
s_fadeMode==FADING_IN;
|
||||
}
|
||||
break;
|
||||
|
||||
case PAUSE_BEFORE_FADING_OUT:
|
||||
if(--s_waitFrames==0)
|
||||
{
|
||||
s_fadeMode==FADING_OUT;
|
||||
}
|
||||
break;
|
||||
|
||||
case PAUSE_AFTER_FADING_OUT:
|
||||
if(--s_waitFrames==0)
|
||||
{
|
||||
s_fadeMode==FADED_OUT;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -333,9 +240,6 @@ void CFader::setFadingOut(FADE_STYLE _style)
|
|||
{
|
||||
switch(_style)
|
||||
{
|
||||
case BUBBLE_FADE:
|
||||
s_fadeValue=256+FADE_BORDER_SIZE;
|
||||
break;
|
||||
case BLACK_FADE:
|
||||
case WHITE_FADE:
|
||||
s_fadeValue=255;
|
||||
|
@ -344,6 +248,7 @@ void CFader::setFadingOut(FADE_STYLE _style)
|
|||
|
||||
s_fadeMode=FADING_OUT;
|
||||
s_fadeStyle=_style;
|
||||
s_waitFrames=FRAMES_TO_WAIT;
|
||||
}
|
||||
|
||||
|
||||
|
@ -357,9 +262,6 @@ void CFader::setFadingIn(FADE_STYLE _style)
|
|||
{
|
||||
switch(_style)
|
||||
{
|
||||
case BUBBLE_FADE:
|
||||
s_fadeValue=256+FADE_BORDER_SIZE;
|
||||
break;
|
||||
case BLACK_FADE:
|
||||
case WHITE_FADE:
|
||||
s_fadeValue=255;
|
||||
|
@ -367,6 +269,7 @@ void CFader::setFadingIn(FADE_STYLE _style)
|
|||
}
|
||||
s_fadeMode=FADING_IN;
|
||||
s_fadeStyle=_style;
|
||||
s_waitFrames=FRAMES_TO_WAIT;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -34,7 +34,6 @@ class CFader
|
|||
public:
|
||||
typedef enum
|
||||
{
|
||||
BUBBLE_FADE,
|
||||
BLACK_FADE,
|
||||
WHITE_FADE,
|
||||
} FADE_STYLE;
|
||||
|
@ -42,8 +41,8 @@ public:
|
|||
static void render();
|
||||
static void think(int _frames);
|
||||
|
||||
static void setFadingOut(FADE_STYLE _style=BUBBLE_FADE);
|
||||
static void setFadingIn(FADE_STYLE _style=BUBBLE_FADE);
|
||||
static void setFadingOut(FADE_STYLE _style=BLACK_FADE);
|
||||
static void setFadingIn(FADE_STYLE _style=BLACK_FADE);
|
||||
|
||||
static int isFading();
|
||||
|
||||
|
@ -51,26 +50,25 @@ public:
|
|||
private:
|
||||
enum
|
||||
{
|
||||
// Bubble style
|
||||
FADE_BORDER_SIZE=80,
|
||||
FADE_SMOOTH_BORDER_SIZE=60,
|
||||
BUBBLES_PER_FRAME=15,
|
||||
|
||||
// Both styles
|
||||
FADE_SPEED=3,
|
||||
FRAMES_TO_WAIT=5, // Waits before fading in/out and after fading out
|
||||
FADE_SPEED=10,
|
||||
};
|
||||
|
||||
typedef enum
|
||||
{
|
||||
FADED_IN,
|
||||
PAUSE_BEFORE_FADING_IN,
|
||||
FADING_IN,
|
||||
PAUSE_BEFORE_FADING_OUT,
|
||||
FADING_OUT,
|
||||
PAUSE_AFTER_FADING_OUT,
|
||||
FADED_OUT,
|
||||
} FADE_MODE;
|
||||
|
||||
static FADE_MODE s_fadeMode;
|
||||
static FADE_STYLE s_fadeStyle;
|
||||
static int s_fadeValue;
|
||||
static int s_waitFrames;
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -207,7 +207,7 @@ void CMapScene::init()
|
|||
SetScreenImage((u8*)m_screenImage);
|
||||
|
||||
m_readyToExit=false;
|
||||
CFader::setFadingIn(CFader::BLACK_FADE);
|
||||
CFader::setFadingIn();
|
||||
}
|
||||
|
||||
|
||||
|
@ -438,7 +438,7 @@ void CMapScene::think(int _frames)
|
|||
CSoundMediator::playSfx(CSoundMediator::SFX_FRONT_END__OK);
|
||||
s_globalLevelSelectThing=s_mapLevelData[m_currentChapterSelection][m_currentLevelSelection].m_globalLevelNumber;
|
||||
m_readyToExit=true;
|
||||
// CFader::setFadingOut(CFader::BLACK_FADE);
|
||||
CFader::setFadingOut();
|
||||
GameState::setNextScene(&GameScene);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -199,7 +199,7 @@ void CShopScene::init()
|
|||
|
||||
|
||||
m_readyToExit=false;
|
||||
CFader::setFadingIn(CFader::BLACK_FADE);
|
||||
CFader::setFadingIn();
|
||||
|
||||
m_currentlySelectedItem=0;
|
||||
m_flashSin=0;
|
||||
|
|
Loading…
Add table
Reference in a new issue