This commit is contained in:
parent
f7ec85c998
commit
6ce958919a
4 changed files with 33 additions and 8 deletions
|
@ -79,7 +79,8 @@ CFrontEndMode *CFrontEndScene::s_modeCodes[]=
|
|||
&s_frontEndDemoMode, // MODE__DEMO
|
||||
&s_frontEndCredits, // MODE__CREDITS
|
||||
|
||||
NULL, // MODE__NONE
|
||||
// NULL, // MODE__NONE
|
||||
// NULL, // MODE__EXIT_TO_GAME
|
||||
};
|
||||
|
||||
|
||||
|
@ -99,6 +100,7 @@ void CFrontEndScene::init()
|
|||
s_modeCodes[i]->init();
|
||||
}
|
||||
|
||||
m_exitToGame=false;
|
||||
m_mode=MODE__NONE;
|
||||
setMode(MODE__MAIN_TITLES);
|
||||
}
|
||||
|
@ -158,7 +160,7 @@ void CFrontEndScene::think(int _frames)
|
|||
---------------------------------------------------------------------- */
|
||||
int CFrontEndScene::readyToShutdown()
|
||||
{
|
||||
return false;
|
||||
return m_exitToGame;
|
||||
}
|
||||
|
||||
|
||||
|
@ -173,15 +175,23 @@ void CFrontEndScene::setMode(FrontEndMode _newMode)
|
|||
PAUL_DBGMSG("CFrontEndScene::setMode(%d)",_newMode);
|
||||
|
||||
// Close old mode
|
||||
if(s_modeCodes[m_mode])
|
||||
if(m_mode!=MODE__NONE)
|
||||
{
|
||||
s_modeCodes[m_mode]->unselect();
|
||||
}
|
||||
|
||||
// Open new mode
|
||||
if(_newMode==MODE__EXIT_TO_GAME)
|
||||
{
|
||||
m_exitToGame=true;
|
||||
GameState::setNextScene(&FrontEndScene);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_mode=_newMode;
|
||||
s_modeCodes[m_mode]->select();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*===========================================================================
|
||||
|
|
|
@ -46,6 +46,8 @@ public:
|
|||
MODE__CREDITS,
|
||||
|
||||
MODE__NONE,
|
||||
|
||||
MODE__EXIT_TO_GAME,
|
||||
} FrontEndMode;
|
||||
|
||||
void init();
|
||||
|
@ -59,6 +61,8 @@ public:
|
|||
private:
|
||||
void setMode(FrontEndMode _newMode);
|
||||
|
||||
int m_exitToGame;
|
||||
|
||||
FrontEndMode m_mode;
|
||||
class CFrontEndMode *m_modeCode;
|
||||
static class CFrontEndMode *s_modeCodes[];
|
||||
|
|
|
@ -131,10 +131,19 @@ void CFrontEndStart::render()
|
|||
Params:
|
||||
Returns:
|
||||
---------------------------------------------------------------------- */
|
||||
#ifndef __PAD_PADS_H__
|
||||
#include "pad\pads.h"
|
||||
#endif
|
||||
void CFrontEndStart::think(int _frames)
|
||||
{
|
||||
if(!m_shuttingDown)
|
||||
{
|
||||
/////////// PKG
|
||||
if(PadGetDown(0)&PAD_START)
|
||||
{
|
||||
m_selectedSlot=0;
|
||||
}
|
||||
/////////// PKG
|
||||
if(m_selectedSlot!=NO_SLOT_SELECTED||
|
||||
m_escapeToTitles)
|
||||
{
|
||||
|
@ -163,13 +172,13 @@ int CFrontEndStart::isReadyToExit()
|
|||
---------------------------------------------------------------------- */
|
||||
CFrontEndScene::FrontEndMode CFrontEndStart::getNextMode()
|
||||
{
|
||||
if(m_selectedSlot!=NO_SLOT_SELECTED)
|
||||
if(m_selectedSlot==NO_SLOT_SELECTED)
|
||||
{
|
||||
return CFrontEndScene::MODE__MAIN_TITLES;
|
||||
}
|
||||
else
|
||||
{
|
||||
return CFrontEndScene::MODE__MAIN_TITLES; // PKG
|
||||
return CFrontEndScene::MODE__EXIT_TO_GAME;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -53,6 +53,7 @@ void GameState::think()
|
|||
{
|
||||
if(s_currentScene->readyToShutdown())
|
||||
{
|
||||
SYSTEM_DBGMSG("GameState: Closing down scene..");
|
||||
ASSERT(s_pendingScene); // There really should be a scene pending before you shutdown..!
|
||||
s_currentScene->shutdown();
|
||||
s_currentScene=NULL;
|
||||
|
@ -60,6 +61,7 @@ void GameState::think()
|
|||
}
|
||||
if(!s_currentScene)
|
||||
{
|
||||
SYSTEM_DBGMSG("GameState: Opening new scene..");
|
||||
s_currentScene=s_pendingScene;
|
||||
s_currentScene->init();
|
||||
s_pendingScene=NULL;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue