This commit is contained in:
parent
8c23d3721e
commit
b55079c261
@ -266,6 +266,8 @@ void CGameScene::render()
|
||||
break;
|
||||
case GAMESTATE_PLAYING:
|
||||
case GAMESTATE_FADING_INTO_BOSS_INTRO:
|
||||
case GAMESTATE_TELEPORT_START:
|
||||
case GAMESTATE_TELEPORT_END:
|
||||
render_playing();
|
||||
break;
|
||||
case GAMESTATE_BOSS_INTRO:
|
||||
@ -367,6 +369,11 @@ void CGameScene::render_playing()
|
||||
/*****************************************************************************/
|
||||
void CGameScene::think(int _frames)
|
||||
{
|
||||
//#if defined (__USER_paul__)
|
||||
//if(PadGetDown(0)&PAD_UP)
|
||||
//{
|
||||
//}
|
||||
//#endif
|
||||
if(!m_musicStarted&&!CFader::isFading())
|
||||
{
|
||||
// Song is loaded/dumped by the level, and played from here. This just gives some
|
||||
@ -402,6 +409,22 @@ void CGameScene::think(int _frames)
|
||||
CFader::setFadingIn();
|
||||
}
|
||||
break;
|
||||
case GAMESTATE_TELEPORT_START:
|
||||
if(!CFader::isFading())
|
||||
{
|
||||
think_playing(1); // Let the teleport happen..
|
||||
think_playing(1);
|
||||
think_playing(1);
|
||||
m_gamestate=GAMESTATE_TELEPORT_END;
|
||||
CFader::setFadingIn(CFader::WHITE_FADE);
|
||||
}
|
||||
break;
|
||||
case GAMESTATE_TELEPORT_END:
|
||||
if(!CFader::isFading())
|
||||
{
|
||||
m_gamestate=GAMESTATE_PLAYING;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@ -653,6 +676,20 @@ int CGameScene::getTotalSpatCountForThisLevel()
|
||||
return Level.getTotalSpatCount();
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************/
|
||||
int CGameScene::triggerTeleportEffect()
|
||||
{
|
||||
if(m_gamestate==GAMESTATE_PLAYING)
|
||||
{
|
||||
m_gamestate=GAMESTATE_TELEPORT_START;
|
||||
CFader::setFadingOut(CFader::WHITE_FADE);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************/
|
||||
void CGameScene::respawnLevel()
|
||||
{
|
||||
|
@ -59,6 +59,8 @@ static void levelFinished() {s_levelFinished=true;}
|
||||
static void restartlevel() {s_restartLevel=true;}
|
||||
CLevel &GetLevel() {return(Level);}
|
||||
|
||||
int triggerTeleportEffect();
|
||||
|
||||
|
||||
static ACTOR_TYPE getActorType( int actorNum ) {return actorType[actorNum];}
|
||||
|
||||
@ -80,6 +82,8 @@ private:
|
||||
GAMESTATE_PLAYING,
|
||||
GAMESTATE_FADING_INTO_BOSS_INTRO,
|
||||
GAMESTATE_BOSS_INTRO,
|
||||
GAMESTATE_TELEPORT_START,
|
||||
GAMESTATE_TELEPORT_END,
|
||||
}GAMESTATE;
|
||||
|
||||
enum
|
||||
|
@ -150,8 +150,10 @@
|
||||
Tyepdefs && Defines
|
||||
------------------- */
|
||||
|
||||
#ifdef __VERSION_DEBUG__
|
||||
//#define _RECORD_DEMO_MODE_
|
||||
#define _STATE_DEBUG_
|
||||
#endif
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
|
@ -84,8 +84,11 @@ void CTeleportTrigger::collidedWith(CThing *_thisThing)
|
||||
}
|
||||
}
|
||||
|
||||
if(GameScene.triggerTeleportEffect())
|
||||
{
|
||||
((CPlayer*)_thisThing)->clearPlatform();
|
||||
((CPlayer*)_thisThing)->teleportTo(m_boxX1+8,m_boxY1+16);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user