This commit is contained in:
parent
4af556fcba
commit
d27fbedb88
7 changed files with 48 additions and 36 deletions
|
@ -54,8 +54,8 @@ static CFrontEndMainTitles s_frontEndModeMainTitles;
|
||||||
CFrontEndMode *CFrontEndScene::s_modeCodes[]=
|
CFrontEndMode *CFrontEndScene::s_modeCodes[]=
|
||||||
{
|
{
|
||||||
&s_frontEndModeMainTitles, // MODE__MAIN_TITLES
|
&s_frontEndModeMainTitles, // MODE__MAIN_TITLES
|
||||||
&s_frontEndModeMainTitles,//NULL, // MODE__GAME_OPTIONS
|
NULL, // MODE__GAME_OPTIONS
|
||||||
&s_frontEndModeMainTitles,//NULL, // MODE__CHOOSE_SLOT
|
NULL, // MODE__CHOOSE_SLOT
|
||||||
NULL, // MODE__DEMO
|
NULL, // MODE__DEMO
|
||||||
|
|
||||||
NULL, // MODE__NONE
|
NULL, // MODE__NONE
|
||||||
|
@ -145,14 +145,16 @@ void CFrontEndScene::setMode(FrontEndMode _newMode)
|
||||||
// Close old mode
|
// Close old mode
|
||||||
if(s_modeCodes[m_mode])
|
if(s_modeCodes[m_mode])
|
||||||
{
|
{
|
||||||
|
PAUL_DBGMSG("CFrontEndScene::shutdown mode %d",m_mode);
|
||||||
s_modeCodes[m_mode]->shutdown();
|
s_modeCodes[m_mode]->shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Open new mode
|
// Open new mode
|
||||||
m_mode=_newMode;
|
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]->init();
|
||||||
// s_modeCodes[m_mode]->shutdown();
|
|
||||||
// ASSERT(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,7 @@ public:
|
||||||
void render();
|
void render();
|
||||||
void think(int _frames);
|
void think(int _frames);
|
||||||
int readyToShutdown();
|
int readyToShutdown();
|
||||||
char *getSceneName() {return"FrontEndScene";}
|
char *getSceneName() {return"FrontEnd";}
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -126,7 +126,6 @@ PAUL_DBGMSG("initial mem free=%d",mem);
|
||||||
m_smallFont=new ("MainTitle SmallFont") FontBank();
|
m_smallFont=new ("MainTitle SmallFont") FontBank();
|
||||||
m_smallFont->initialise(&standardFont);
|
m_smallFont->initialise(&standardFont);
|
||||||
m_smallFont->setJustification(FontBank::JUST_CENTRE);
|
m_smallFont->setJustification(FontBank::JUST_CENTRE);
|
||||||
m_smallFont->setColour(PRESS_START_TEXT_R,PRESS_START_TEXT_G,PRESS_START_TEXT_B);
|
|
||||||
|
|
||||||
m_mode=MODE__PRESS_START;
|
m_mode=MODE__PRESS_START;
|
||||||
|
|
||||||
|
@ -135,9 +134,7 @@ PAUL_DBGMSG("initial mem free=%d",mem);
|
||||||
m_mainMenu->init(NULL);
|
m_mainMenu->init(NULL);
|
||||||
m_mainMenu->setObjectXYWH(106,140,300,40);
|
m_mainMenu->setObjectXYWH(106,140,300,40);
|
||||||
m_mainMenu->clearFlags(CGUIObject::FLAG_DRAWBORDER);
|
m_mainMenu->clearFlags(CGUIObject::FLAG_DRAWBORDER);
|
||||||
PAUL_DBGMSG("change=%d",mem-(MainRam.TotalRam-MainRam.RamUsed));
|
|
||||||
|
|
||||||
/*
|
|
||||||
fr=new ("frame") CGUIGroupFrame();
|
fr=new ("frame") CGUIGroupFrame();
|
||||||
fr->init(m_mainMenu);
|
fr->init(m_mainMenu);
|
||||||
fr->setObjectXYWH(50,0,200,20);
|
fr->setObjectXYWH(50,0,200,20);
|
||||||
|
@ -161,7 +158,6 @@ PAUL_DBGMSG("change=%d",mem-(MainRam.TotalRam-MainRam.RamUsed));
|
||||||
tg->setButtonTarget(&m_gotoOptionsFlag);
|
tg->setButtonTarget(&m_gotoOptionsFlag);
|
||||||
|
|
||||||
m_mainMenu->select();
|
m_mainMenu->select();
|
||||||
*/
|
|
||||||
|
|
||||||
m_startGameFlag=false;
|
m_startGameFlag=false;
|
||||||
m_gotoOptionsFlag=false;
|
m_gotoOptionsFlag=false;
|
||||||
|
@ -178,7 +174,7 @@ PAUL_DBGMSG("change=%d",mem-(MainRam.TotalRam-MainRam.RamUsed));
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
void CFrontEndMainTitles::shutdown()
|
void CFrontEndMainTitles::shutdown()
|
||||||
{
|
{
|
||||||
m_mainMenu->shutdown(); delete m_mainMenu;
|
m_mainMenu->shutdown(); // GUI items delete themselves when shutdown..
|
||||||
m_smallFont->dump(); delete m_smallFont;
|
m_smallFont->dump(); delete m_smallFont;
|
||||||
m_sprites->dump(); delete m_sprites;
|
m_sprites->dump(); delete m_sprites;
|
||||||
PAUL_DBGMSG("change=%d",mem-(MainRam.TotalRam-MainRam.RamUsed));
|
PAUL_DBGMSG("change=%d",mem-(MainRam.TotalRam-MainRam.RamUsed));
|
||||||
|
@ -271,7 +267,7 @@ void CFrontEndMainTitles::think(int _frames)
|
||||||
m_mainMenu->think(_frames);
|
m_mainMenu->think(_frames);
|
||||||
if(m_startGameFlag)
|
if(m_startGameFlag)
|
||||||
{
|
{
|
||||||
// CFader::setFadingOut();
|
CFader::setFadingOut();
|
||||||
m_mode=MODE__START_GAME;
|
m_mode=MODE__START_GAME;
|
||||||
}
|
}
|
||||||
else if(m_gotoOptionsFlag)
|
else if(m_gotoOptionsFlag)
|
||||||
|
@ -318,11 +314,11 @@ CFrontEndScene::FrontEndMode CFrontEndMainTitles::getNextMode()
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MODE__START_GAME:
|
case MODE__START_GAME:
|
||||||
ret=CFrontEndScene::MODE__CHOOSE_SLOT;
|
ret=CFrontEndScene::MODE__MAIN_TITLES;//MODE__CHOOSE_SLOT;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MODE__GOTO_OPTIONS:
|
case MODE__GOTO_OPTIONS:
|
||||||
ret=CFrontEndScene::MODE__GAME_OPTIONS;
|
ret=CFrontEndScene::MODE__MAIN_TITLES;//MODE__GAME_OPTIONS;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -454,6 +450,7 @@ void CFrontEndMainTitles::renderPressStart()
|
||||||
{
|
{
|
||||||
if(!CFader::isFading())
|
if(!CFader::isFading())
|
||||||
{
|
{
|
||||||
|
m_smallFont->setColour(PRESS_START_TEXT_R,PRESS_START_TEXT_G,PRESS_START_TEXT_B);
|
||||||
m_smallFont->print(256,PRESS_START_TEXT_Y,STR__FRONTEND__PRESS_START);
|
m_smallFont->print(256,PRESS_START_TEXT_Y,STR__FRONTEND__PRESS_START);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,20 @@ MAX_TPAGES = 32,
|
||||||
const int TPRawW=64;
|
const int TPRawW=64;
|
||||||
const int TPRawH=256;
|
const int TPRawH=256;
|
||||||
|
|
||||||
|
struct sTPageInfo
|
||||||
|
{
|
||||||
|
s16 RefCount;
|
||||||
|
FileEquate TPageName;
|
||||||
|
s16 XOfs,YOfs;
|
||||||
|
u16 AnimTexCount;
|
||||||
|
sFrameHdr AnimTexFrame[TPAGE_MAX_ANIM_TEX];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sTPageCache
|
||||||
|
{
|
||||||
|
sTPageInfo Info[2];
|
||||||
|
};
|
||||||
|
|
||||||
static sTPageCache s_TPCache[MAX_TPAGES];
|
static sTPageCache s_TPCache[MAX_TPAGES];
|
||||||
|
|
||||||
// Theory!!
|
// Theory!!
|
||||||
|
@ -233,6 +247,17 @@ int ReadLeft;
|
||||||
// DBG_MSG2("TPLoadTexWithHeaders Cached (%i,%i)",TPage,Half);
|
// DBG_MSG2("TPLoadTexWithHeaders Cached (%i,%i)",TPage,Half);
|
||||||
s_TPCache[TPage].Info[Half].RefCount++;
|
s_TPCache[TPage].Info[Half].RefCount++;
|
||||||
Cache=&s_TPCache[TPage].Info[Half];
|
Cache=&s_TPCache[TPage].Info[Half];
|
||||||
|
|
||||||
|
// Reload headers (PKG)
|
||||||
|
CFileIO::OpenFile(Filename);
|
||||||
|
CFileIO::ReadFile((void*)&TPHdr,sizeof(sTPageHdr));
|
||||||
|
*hdrs=(sFrameHdr*)MemAlloc(sizeof(sFrameHdr)*TPHdr.NoOfFrames,"TpFh(from cache)");
|
||||||
|
ReadLeft=CFileIO::GetReadLeft();
|
||||||
|
FramePtr=(sFrameHdr*)MemAlloc(ReadLeft,"TPLoadTemp");
|
||||||
|
CFileIO::ReadFile(FramePtr,ReadLeft);
|
||||||
|
CFileIO::CloseFile();
|
||||||
|
MCmemcpy(*hdrs,FramePtr,TPHdr.NoOfFrames*sizeof(sFrameHdr));
|
||||||
|
MemFree(FramePtr);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -41,20 +41,6 @@ struct TPAGE_DESC
|
||||||
u8 yoffset;
|
u8 yoffset;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sTPageInfo
|
|
||||||
{
|
|
||||||
s16 RefCount;
|
|
||||||
FileEquate TPageName;
|
|
||||||
s16 XOfs,YOfs;
|
|
||||||
u16 AnimTexCount;
|
|
||||||
sFrameHdr AnimTexFrame[TPAGE_MAX_ANIM_TEX];
|
|
||||||
};
|
|
||||||
|
|
||||||
struct sTPageCache
|
|
||||||
{
|
|
||||||
sTPageInfo Info[2];
|
|
||||||
};
|
|
||||||
|
|
||||||
/********************************************************************************************************/
|
/********************************************************************************************************/
|
||||||
|
|
||||||
void TPInit();
|
void TPInit();
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
Author: PKG
|
Author: PKG
|
||||||
Created:
|
Created:
|
||||||
Project: Spongebob
|
Project: Spongebob
|
||||||
Purpose:
|
Purpose: NB: GUI ITEMS delete() THEMSELVES WHEN THEY ARE SHUTDOWN!
|
||||||
|
|
||||||
Copyright (c) 2000 Climax Development Ltd
|
Copyright (c) 2000 Climax Development Ltd
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,8 @@ enum MEM_ID
|
||||||
MEM_GAMEOPTIONS,
|
MEM_GAMEOPTIONS,
|
||||||
MEM_SYSTEM,
|
MEM_SYSTEM,
|
||||||
|
|
||||||
|
MEM_UNKNOWN,
|
||||||
|
|
||||||
MEM_ID_MAX
|
MEM_ID_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -96,7 +98,7 @@ static const int s_dumpTextY = 120;
|
||||||
static const int s_dumpShift = 20;
|
static const int s_dumpShift = 20;
|
||||||
|
|
||||||
static const int s_shadeX = 16;
|
static const int s_shadeX = 16;
|
||||||
static const int s_shadeY = 110;
|
static const int s_shadeY = 115;
|
||||||
static const int s_shadeW = 400;
|
static const int s_shadeW = 400;
|
||||||
static const int s_shadeH = 80;
|
static const int s_shadeH = 80;
|
||||||
static const CVECTOR s_shadeCol = { 0, 0, 0 };
|
static const CVECTOR s_shadeCol = { 0, 0, 0 };
|
||||||
|
@ -111,6 +113,7 @@ static const CVECTOR s_colors[ MEM_ID_MAX ] =
|
||||||
{ 0, 0, 255 }, // MEM_GAME
|
{ 0, 0, 255 }, // MEM_GAME
|
||||||
{ 255, 0, 255 }, // MEM_GAMEOPTIONS
|
{ 255, 0, 255 }, // MEM_GAMEOPTIONS
|
||||||
{ 255, 255, 255 }, // MEM_SYSTEM
|
{ 255, 255, 255 }, // MEM_SYSTEM
|
||||||
|
{ 0, 0, 0 }, // MEM_UNKNOWN
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char * s_sceneNames[] =
|
static const char * s_sceneNames[] =
|
||||||
|
@ -120,6 +123,7 @@ static const char * s_sceneNames[] =
|
||||||
"Game",
|
"Game",
|
||||||
"GameOptions",
|
"GameOptions",
|
||||||
"System",
|
"System",
|
||||||
|
"UNKNOWN",
|
||||||
};
|
};
|
||||||
|
|
||||||
static const int s_nbSceneNames = sizeof(s_sceneNames) / sizeof(char *);
|
static const int s_nbSceneNames = sizeof(s_sceneNames) / sizeof(char *);
|
||||||
|
@ -143,10 +147,10 @@ void dumpDebugMem()
|
||||||
MEM_PART * mem;
|
MEM_PART * mem;
|
||||||
CVECTOR black = {0, 0, 0};
|
CVECTOR black = {0, 0, 0};
|
||||||
|
|
||||||
padd = PadGetDown( 1 );
|
padd = PadGetRepeat( 0 );
|
||||||
padh = PadGetHeld( 1 );
|
padh = PadGetHeld( 0 );
|
||||||
|
|
||||||
// if (padh & PAD_SQUARE)
|
if (padh & PAD_SQUARE)
|
||||||
{
|
{
|
||||||
int dir;
|
int dir;
|
||||||
|
|
||||||
|
@ -164,7 +168,6 @@ void dumpDebugMem()
|
||||||
|
|
||||||
if (s_currentMemPart < 0) s_currentMemPart = MAX_MEM_DUMP - 2;
|
if (s_currentMemPart < 0) s_currentMemPart = MAX_MEM_DUMP - 2;
|
||||||
if (s_currentMemPart >= MAX_MEM_DUMP-1) s_currentMemPart = 0;
|
if (s_currentMemPart >= MAX_MEM_DUMP-1) s_currentMemPart = 0;
|
||||||
|
|
||||||
while( !memDump[s_currentMemPart].addr )
|
while( !memDump[s_currentMemPart].addr )
|
||||||
{
|
{
|
||||||
s_currentMemPart += dir;
|
s_currentMemPart += dir;
|
||||||
|
@ -304,7 +307,7 @@ void addDebugMem( void * addr, const char * name, const char * file, int line )
|
||||||
{
|
{
|
||||||
sname = scene->getSceneName();
|
sname = scene->getSceneName();
|
||||||
|
|
||||||
id = -1;
|
id = MEM_UNKNOWN;
|
||||||
for (int i=0;i<s_nbSceneNames;i++)
|
for (int i=0;i<s_nbSceneNames;i++)
|
||||||
{
|
{
|
||||||
if (!strcmp( sname, s_sceneNames[i] ))
|
if (!strcmp( sname, s_sceneNames[i] ))
|
||||||
|
@ -312,7 +315,6 @@ void addDebugMem( void * addr, const char * name, const char * file, int line )
|
||||||
id = i;
|
id = i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (id == -1) id = MEM_SYSTEM;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue