This commit is contained in:
Paul 2000-11-22 17:02:04 +00:00
parent be3f0f9be4
commit 90d4097793
8 changed files with 92 additions and 25 deletions

View File

@ -53,7 +53,8 @@ fileio_src := fileio \
frontend_src := frontend \
scrollbg \
maintitl
maintitl \
options
game_src := game

View File

@ -26,6 +26,10 @@
#include "frontend\maintitl.h"
#endif
#ifndef __FRONTEND_OPTIONS_H__
#include "frontend\options.h"
#endif
/* Std Lib
------- */
@ -50,11 +54,12 @@
---- */
static CFrontEndMainTitles s_frontEndModeMainTitles;
static CFrontEndOptions s_frontEndModeOptions;
CFrontEndMode *CFrontEndScene::s_modeCodes[]=
{
&s_frontEndModeMainTitles, // MODE__MAIN_TITLES
NULL, // MODE__GAME_OPTIONS
&s_frontEndModeOptions, // MODE__GAME_OPTIONS
NULL, // MODE__CHOOSE_SLOT
NULL, // MODE__DEMO
@ -73,6 +78,12 @@ CFrontEndScene FrontEndScene;
---------------------------------------------------------------------- */
void CFrontEndScene::init()
{
for(int i=0;i<MODE__NONE;i++)
{
if(s_modeCodes[i]) // temporary (PKG)
s_modeCodes[i]->init();
}
m_mode=MODE__NONE;
setMode(MODE__MAIN_TITLES);
}
@ -86,6 +97,11 @@ void CFrontEndScene::init()
---------------------------------------------------------------------- */
void CFrontEndScene::shutdown()
{
for(int i=0;i<MODE__NONE;i++)
{
if(s_modeCodes[i]) // temporary (PKG)
s_modeCodes[i]->shutdown();
}
}
@ -145,16 +161,12 @@ PAUL_DBGMSG("CFrontEndScene::setMode(%d)",_newMode);
// Close old mode
if(s_modeCodes[m_mode])
{
PAUL_DBGMSG("CFrontEndScene::shutdown mode %d",m_mode);
s_modeCodes[m_mode]->shutdown();
s_modeCodes[m_mode]->unselect();
}
// Open new mode
m_mode=_newMode;
PAUL_DBGMSG("CFrontEndScene::init mode %d",m_mode);
s_modeCodes[m_mode]->init();
s_modeCodes[m_mode]->shutdown();
s_modeCodes[m_mode]->init();
s_modeCodes[m_mode]->select();
}

View File

@ -78,6 +78,8 @@ class CFrontEndMode
public:
virtual void init()=0;
virtual void shutdown()=0;
virtual void select()=0;
virtual void unselect()=0;
virtual void render()=0;
virtual void think(int _frames)=0;

View File

@ -127,8 +127,6 @@ PAUL_DBGMSG("initial mem free=%d",mem);
m_smallFont->initialise(&standardFont);
m_smallFont->setJustification(FontBank::JUST_CENTRE);
m_mode=MODE__PRESS_START;
// Create the main menu ( START GAME/OPTIONS )
m_mainMenu=new ("Main Menu GUI") CGUIControlFrame();
m_mainMenu->init(NULL);
@ -156,13 +154,6 @@ PAUL_DBGMSG("initial mem free=%d",mem);
tg=new ("togglebutton") CGUIToggleButton();
tg->init(fr);
tg->setButtonTarget(&m_gotoOptionsFlag);
m_mainMenu->select();
m_startGameFlag=false;
m_gotoOptionsFlag=false;
CFader::setFadingIn();
}
@ -180,6 +171,35 @@ void CFrontEndMainTitles::shutdown()
PAUL_DBGMSG("change=%d",mem-(MainRam.TotalRam-MainRam.RamUsed));
}
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
void CFrontEndMainTitles::select()
{
m_mode=MODE__PRESS_START;
m_mainMenu->select();
m_startGameFlag=false;
m_gotoOptionsFlag=false;
CFader::setFadingIn();
}
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
void CFrontEndMainTitles::unselect()
{
m_mainMenu->unselect();
}
typedef struct
{
@ -327,7 +347,7 @@ CFrontEndScene::FrontEndMode CFrontEndMainTitles::getNextMode()
break;
case MODE__GOTO_OPTIONS:
ret=CFrontEndScene::MODE__MAIN_TITLES;//MODE__GAME_OPTIONS;
ret=CFrontEndScene::MODE__GAME_OPTIONS;
break;
}

View File

@ -43,6 +43,8 @@ class CFrontEndMainTitles : public CFrontEndMode
public:
void init();
void shutdown();
void select();
void unselect();
void render();
void think(int _frames);

View File

@ -111,13 +111,6 @@ void CFrontEndOptions::init()
tg=new ("togglebutton") CGUIToggleButton();
tg->init(fr);
tg->setButtonTarget(&m_exitFlag);
m_optionsMenu->select();
m_exitFlag=false;
m_closingDown=false;
CFader::setFadingIn();
}
/*----------------------------------------------------------------------
@ -132,6 +125,33 @@ void CFrontEndOptions::shutdown()
m_background->shutdown(); delete m_background;
}
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
void CFrontEndOptions::select()
{
m_optionsMenu->select();
m_exitFlag=false;
m_closingDown=false;
CFader::setFadingIn();
}
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
void CFrontEndOptions::unselect()
{
m_optionsMenu->unselect();
}
/*----------------------------------------------------------------------
Function:
Purpose:

View File

@ -39,6 +39,8 @@ class CFrontEndOptions : public CFrontEndMode
public:
void init();
void shutdown();
void select();
void unselect();
void render();
void think(int _frames);

View File

@ -141,6 +141,14 @@ SOURCE=..\..\..\source\frontend\maintitl.h
# End Source File
# Begin Source File
SOURCE=..\..\..\source\frontend\options.cpp
# End Source File
# Begin Source File
SOURCE=..\..\..\source\frontend\options.h
# End Source File
# Begin Source File
SOURCE=..\..\..\source\frontend\scrollbg.cpp
# End Source File
# Begin Source File