This commit is contained in:
Paul 2000-11-20 17:28:21 +00:00
parent 4af556fcba
commit d27fbedb88
7 changed files with 48 additions and 36 deletions

View File

@ -54,8 +54,8 @@ static CFrontEndMainTitles s_frontEndModeMainTitles;
CFrontEndMode *CFrontEndScene::s_modeCodes[]=
{
&s_frontEndModeMainTitles, // MODE__MAIN_TITLES
&s_frontEndModeMainTitles,//NULL, // MODE__GAME_OPTIONS
&s_frontEndModeMainTitles,//NULL, // MODE__CHOOSE_SLOT
NULL, // MODE__GAME_OPTIONS
NULL, // MODE__CHOOSE_SLOT
NULL, // MODE__DEMO
NULL, // MODE__NONE
@ -140,19 +140,21 @@ int CFrontEndScene::readyToShutdown()
---------------------------------------------------------------------- */
void CFrontEndScene::setMode(FrontEndMode _newMode)
{
PAUL_DBGMSG("CFrontEndScene::setMode(%d)",_newMode);
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();
}
// 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]->shutdown();
// ASSERT(0);
}

View File

@ -60,7 +60,7 @@ public:
void render();
void think(int _frames);
int readyToShutdown();
char *getSceneName() {return"FrontEndScene";}
char *getSceneName() {return"FrontEnd";}
private:

View File

@ -126,7 +126,6 @@ PAUL_DBGMSG("initial mem free=%d",mem);
m_smallFont=new ("MainTitle SmallFont") FontBank();
m_smallFont->initialise(&standardFont);
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;
@ -135,9 +134,7 @@ PAUL_DBGMSG("initial mem free=%d",mem);
m_mainMenu->init(NULL);
m_mainMenu->setObjectXYWH(106,140,300,40);
m_mainMenu->clearFlags(CGUIObject::FLAG_DRAWBORDER);
PAUL_DBGMSG("change=%d",mem-(MainRam.TotalRam-MainRam.RamUsed));
/*
fr=new ("frame") CGUIGroupFrame();
fr->init(m_mainMenu);
fr->setObjectXYWH(50,0,200,20);
@ -161,7 +158,6 @@ PAUL_DBGMSG("change=%d",mem-(MainRam.TotalRam-MainRam.RamUsed));
tg->setButtonTarget(&m_gotoOptionsFlag);
m_mainMenu->select();
*/
m_startGameFlag=false;
m_gotoOptionsFlag=false;
@ -178,7 +174,7 @@ PAUL_DBGMSG("change=%d",mem-(MainRam.TotalRam-MainRam.RamUsed));
---------------------------------------------------------------------- */
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_sprites->dump(); delete m_sprites;
PAUL_DBGMSG("change=%d",mem-(MainRam.TotalRam-MainRam.RamUsed));
@ -271,7 +267,7 @@ void CFrontEndMainTitles::think(int _frames)
m_mainMenu->think(_frames);
if(m_startGameFlag)
{
// CFader::setFadingOut();
CFader::setFadingOut();
m_mode=MODE__START_GAME;
}
else if(m_gotoOptionsFlag)
@ -318,11 +314,11 @@ CFrontEndScene::FrontEndMode CFrontEndMainTitles::getNextMode()
break;
case MODE__START_GAME:
ret=CFrontEndScene::MODE__CHOOSE_SLOT;
ret=CFrontEndScene::MODE__MAIN_TITLES;//MODE__CHOOSE_SLOT;
break;
case MODE__GOTO_OPTIONS:
ret=CFrontEndScene::MODE__GAME_OPTIONS;
ret=CFrontEndScene::MODE__MAIN_TITLES;//MODE__GAME_OPTIONS;
break;
}
@ -454,6 +450,7 @@ void CFrontEndMainTitles::renderPressStart()
{
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);
}
}

View File

@ -26,6 +26,20 @@ MAX_TPAGES = 32,
const int TPRawW=64;
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];
// Theory!!
@ -233,6 +247,17 @@ int ReadLeft;
// DBG_MSG2("TPLoadTexWithHeaders Cached (%i,%i)",TPage,Half);
s_TPCache[TPage].Info[Half].RefCount++;
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
{

View File

@ -41,20 +41,6 @@ struct TPAGE_DESC
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();

View File

@ -5,7 +5,7 @@
Author: PKG
Created:
Project: Spongebob
Purpose:
Purpose: NB: GUI ITEMS delete() THEMSELVES WHEN THEY ARE SHUTDOWN!
Copyright (c) 2000 Climax Development Ltd

View File

@ -65,6 +65,8 @@ enum MEM_ID
MEM_GAMEOPTIONS,
MEM_SYSTEM,
MEM_UNKNOWN,
MEM_ID_MAX
};
@ -96,7 +98,7 @@ static const int s_dumpTextY = 120;
static const int s_dumpShift = 20;
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_shadeH = 80;
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
{ 255, 0, 255 }, // MEM_GAMEOPTIONS
{ 255, 255, 255 }, // MEM_SYSTEM
{ 0, 0, 0 }, // MEM_UNKNOWN
};
static const char * s_sceneNames[] =
@ -120,6 +123,7 @@ static const char * s_sceneNames[] =
"Game",
"GameOptions",
"System",
"UNKNOWN",
};
static const int s_nbSceneNames = sizeof(s_sceneNames) / sizeof(char *);
@ -143,10 +147,10 @@ void dumpDebugMem()
MEM_PART * mem;
CVECTOR black = {0, 0, 0};
padd = PadGetDown( 1 );
padh = PadGetHeld( 1 );
padd = PadGetRepeat( 0 );
padh = PadGetHeld( 0 );
// if (padh & PAD_SQUARE)
if (padh & PAD_SQUARE)
{
int dir;
@ -164,7 +168,6 @@ void dumpDebugMem()
if (s_currentMemPart < 0) s_currentMemPart = MAX_MEM_DUMP - 2;
if (s_currentMemPart >= MAX_MEM_DUMP-1) s_currentMemPart = 0;
while( !memDump[s_currentMemPart].addr )
{
s_currentMemPart += dir;
@ -304,7 +307,7 @@ void addDebugMem( void * addr, const char * name, const char * file, int line )
{
sname = scene->getSceneName();
id = -1;
id = MEM_UNKNOWN;
for (int i=0;i<s_nbSceneNames;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;
}
}
if (id == -1) id = MEM_SYSTEM;
}
else
{