diff --git a/source/frontend/frontend.cpp b/source/frontend/frontend.cpp index 52b228884..986d84f12 100644 --- a/source/frontend/frontend.cpp +++ b/source/frontend/frontend.cpp @@ -139,7 +139,7 @@ CFrontEndScene FrontEndScene; SpriteBank *m_sprites; FontBank *m_font; -static int s_runOnce=false; +CFrontEndScene::FrontEndMode CFrontEndScene::s_startMode=MODE__NICK_LOGO; /*---------------------------------------------------------------------- @@ -157,15 +157,8 @@ void CFrontEndScene::init() m_exitToGame=false; m_mode=MODE__NONE; - if(s_runOnce) - { - setMode(MODE__FMV_INTRO); - } - else - { - s_runOnce=true; - setMode(MODE__NICK_LOGO); - } + + setMode(s_startMode); m_sprites=new ("MainTitle Sprites") SpriteBank(); m_sprites->load(SPRITES_SPRITES_SPR); @@ -191,6 +184,9 @@ void CFrontEndScene::shutdown() { s_modeCodes[i]->shutdown(); } + + // Nex time.. go into this mode first + setStartMode(MODE__FMV_INTRO); } diff --git a/source/frontend/frontend.h b/source/frontend/frontend.h index b245ee440..5917f1b7e 100644 --- a/source/frontend/frontend.h +++ b/source/frontend/frontend.h @@ -74,6 +74,8 @@ public: void think(int _frames); int readyToShutdown(); char *getSceneName() {return"FrontEnd";} + + static void setStartMode(FrontEndMode _mode) {s_startMode=_mode;} static void renderLogo(); @@ -88,6 +90,8 @@ private: class CFrontEndMode *m_modeCode; static class CFrontEndMode *s_modeCodes[]; + static FrontEndMode s_startMode; + }; diff --git a/source/game/game.cpp b/source/game/game.cpp index c68b78d08..fb738d08b 100644 --- a/source/game/game.cpp +++ b/source/game/game.cpp @@ -739,6 +739,7 @@ void CGameScene::setReadyToExit() { s_readyToExit=true; GameState::setNextScene(&FrontEndScene); + CFrontEndScene::setStartMode(CFrontEndScene::MODE__CHOOSE_SLOT); CFader::setFadingOut(); }