This commit is contained in:
Paul 2001-07-02 15:46:34 +00:00
parent 1aa64a4e04
commit 0640433c8a
9 changed files with 125 additions and 14 deletions

View File

@ -115,9 +115,23 @@ eng=SpongeBob game data found.\nAre you sure you want to load?
; ---------------------------------------------------------------
; Save scene ( also see memcard section )
; ---------------------------------------------------------------
[STR__SAVE__DO_YOU_WANT_TO_SAVE]
eng=Do you want to save?
[STR__SAVE__UNFORMATTEDCARD]
eng=MEMORY CARD in MEMORY CARD slot 1 is not formatted.\nDo you want to format it now?
; ---------------------------------------------------------------
; Memcard
; ---------------------------------------------------------------
[STR__MEMCARD__CHECKING_MEM_CARD]
eng=Checking...\nPlease do not remove the MEMORY CARD
[STR__MEMCARD__UNFORMATTEDCARD]
@ -129,9 +143,9 @@ eng=There is no MEMORY CARD in MEMORY CARD slot 1
[STR__MEMCARD__LOADINGPLEASEWIAT]
eng=Loading...\nDo not remove the MEMORY CARD in MEMORY CARD slot 1
[STR__MEMCARD__LOADOK]
eng=Load complete!
eng=Load complete!\nPress X to continue
[STR__MEMCARD__LOADERROR]
eng=Load Error!
eng=Load Error!\nPress X to continue
[STR__MEMCARD__NOSPACEONCARD]
eng=Insufficient free blocks available in MEMORY CARD of MEMORY CARD SLOT 1
[STR__MEMCARD__DUPLICATESAVENAME]
@ -146,7 +160,7 @@ eng=Format complete!\n\nPress X to continue
eng=Format Error!\n\nPress X to continue
[STR__MEMCARD__FORMATTINGINTERRUPTED]
eng=Operation interrupted!\n\nPress X to continue
[STR__MEMCARD__SAVEINGPLEASEWIAT]
[STR__MEMCARD__SAVINGPLEASEWAIT]
eng=Saving...\nDo not remove the MEMORY CARD in MEMORY CARD slot 1
[STR__MEMCARD__SAVEOK]
eng=Save complete!\n\nPress X to continue
@ -156,8 +170,6 @@ eng=Save error!\n\nPress X to continue
; ---------------------------------------------------------------
; Back end
; ---------------------------------------------------------------
@ -406,6 +418,8 @@ eng=Select level
eng=Select chapter
[STR__MAP_SCREEN__X_TO_START]
eng=Start
[STR__MAP_SCREEN__TRIANGLE_TO_SAVE]
eng=Save

View File

@ -291,6 +291,8 @@ player_src := demoplay \
pscart \
psfloat
save_src := save
script_src := script \
function

View File

@ -248,7 +248,8 @@ UI_GFX_TRANS := +bambootopleft.bmp +bamboobotleft.bmp +bambootopright.bmp +ba
+mappointer.bmp +speechbubblecorner.bmp \
faces/mr_krabs.bmp faces/patrick.bmp faces/plankton.bmp \
faces/sandy.bmp faces/spongebob.bmp faces/squidward.bmp \
faces/mermaidman.bmp faces/barnacleboy.bmp faces/jack_custard.bmp faces/gary.bmp
faces/mermaidman.bmp faces/barnacleboy.bmp faces/jack_custard.bmp faces/gary.bmp \
+helpbox1.bmp +helpbox2.bmp +helpbox3.bmp +helpbox4.bmp
UI_GFX_TRANS_IN := $(foreach FILE,$(UI_GFX_TRANS),$(UI_GFX_DIR)/$(FILE))
####

View File

@ -663,7 +663,7 @@ void CFrontEndOptions::think(int _frames)
}
else if(m_loadTimeInMode>60)
{
// Wait for card status to settle for one second before trusting its status
// Wait for card status to settle for one second before trusting it
if(MemCard::GetCardStatus(0)==MemCard::CS_NoCard)
{
setLoadMode(LOADMODE__NOCARD);
@ -684,6 +684,16 @@ void CFrontEndOptions::think(int _frames)
break;
case LOADMODE__UNFORMATTED:
if(MemCard::GetCardStatus(0)!=MemCard::CS_UnformattedCard)
{
setLoadMode(LOADMODE__CHECKING);
}
else if(m_loadUserResponse==USERRESPONSE__OK)
{
m_nextMode=MODE__OPTIONS;
}
break;
case LOADMODE__NODATA:
if(MemCard::GetCardStatus(0)!=MemCard::CS_ValidCard)
{
@ -714,7 +724,10 @@ void CFrontEndOptions::think(int _frames)
else if(m_loadUserResponse==USERRESPONSE__YES)
{
setLoadMode(LOADMODE__LOADING);
m_saveLoadDatabase->startLoad(0);
if(!m_saveLoadDatabase->startLoad(0))
{
setLoadMode(LOADMODE__LOADERROR);
}
}
else if(m_loadUserResponse==USERRESPONSE__NO)
{

View File

@ -34,6 +34,10 @@
#include "game\game.h"
#endif
#ifndef __SAVE_SAVE_H__
#include "save\save.h"
#endif
#ifndef __GFX_FADER_H__
#include "gfx\fader.h"
#endif
@ -352,6 +356,14 @@ void CMapScene::renderInstructions()
sb->printFT4(fh1,x,y+MAP_INSTRUCTIONS_BUTTON_Y_OFFSET,0,0,0);
x+=fh1->W+MAP_INSTRUCTIONS_GAP_BETWEEN_BUTTONS_AND_TEXT;
m_font->print(x,y,STR__MAP_SCREEN__X_TO_START);
y+=MAP_INSTRUCTIONS_Y_SPACE_BETWEEN_LINES;
fh1=sb->getFrameHeader(FRM__BUTT);
width=fh1->W+MAP_INSTRUCTIONS_GAP_BETWEEN_BUTTONS_AND_TEXT+m_font->getStringWidth(STR__MAP_SCREEN__TRIANGLE_TO_SAVE);
x=256-(width/2);
sb->printFT4(fh1,x,y+MAP_INSTRUCTIONS_BUTTON_Y_OFFSET,0,0,0);
x+=fh1->W+MAP_INSTRUCTIONS_GAP_BETWEEN_BUTTONS_AND_TEXT;
m_font->print(x,y,STR__MAP_SCREEN__TRIANGLE_TO_SAVE);
}
@ -441,6 +453,13 @@ void CMapScene::think(int _frames)
CFader::setFadingOut();
GameState::setNextScene(&GameScene);
}
else if(pad&PAD_TRIANGLE)
{
CSoundMediator::playSfx(CSoundMediator::SFX_FRONT_END__OK);
m_readyToExit=true;
CFader::setFadingOut();
GameState::setNextScene(&SaveScene);
}
}
}

View File

@ -61,7 +61,7 @@ private:
MAP_LEVEL_WIDTH=140,
MAP_LEVEL_HEIGHT=60,
MAP_INSTRUCTIONS_YSTART=173,
MAP_INSTRUCTIONS_YSTART=170,
MAP_INSTRUCTIONS_BUTTON_Y_OFFSET=3,
MAP_INSTRUCTIONS_TEXT_R=128,
MAP_INSTRUCTIONS_TEXT_G=64,

View File

@ -75,6 +75,10 @@
#include "paul\animtest.h"
#endif
#ifndef __SAVE_SAVE_H__
#include "save\save.h"
#endif
/* Std Lib
@ -115,6 +119,7 @@ CScene *CSceneSelector::s_sceneList[]=
&PartyScene,
&CreditsScene,
&AnimTestScene,
&SaveScene,
};
int CSceneSelector::s_sceneCount=sizeof(s_sceneList)/sizeof(CScene*);

View File

@ -204,6 +204,7 @@ void CSaveScene::render()
case MODE__CHECKING:
case MODE__FORMATTING:
case MODE__CHECKINGFORMAT:
case MODE__SAVING:
m_blankFrame->render();
break;
@ -214,8 +215,6 @@ void CSaveScene::render()
break;
case MODE__FORMATOK:
break;
case MODE__FORMATERROR:
case MODE__NOCARD:
case MODE__NOSPACE:
@ -265,7 +264,7 @@ void CSaveScene::think(int _frames)
}
else if(m_timeInMode>60)
{
// Wait for card status to settle for one second before trusting its status
// Wait for card status to settle for one second before trusting it
if(MemCard::GetCardStatus(0)==MemCard::CS_NoCard)
{
setMode(MODE__NOCARD);
@ -294,7 +293,7 @@ void CSaveScene::think(int _frames)
break;
case MODE__UNFORMATTED:
if(MemCard::GetCardStatus(0)!=MemCard::CS_ValidCard)
if(MemCard::GetCardStatus(0)!=MemCard::CS_UnformattedCard)
{
setMode(MODE__CHECKING);
}
@ -321,7 +320,8 @@ void CSaveScene::think(int _frames)
int stat=m_saveLoadDatabase->getFormatStatus();
if(stat==CSaveLoadDatabase::FINISHED_OK)
{
setMode(MODE__FORMATOK);
MemCard::InvalidateCard(0);
setMode(MODE__CHECKINGFORMAT);
}
else if(stat==CSaveLoadDatabase::FAILED)
{
@ -330,7 +330,57 @@ void CSaveScene::think(int _frames)
}
break;
case MODE__CHECKINGFORMAT:
if(MemCard::GetCardStatus(0)==MemCard::CS_CardInserted)
{
// Scanning a new card..
m_timeInMode=0;
}
else if(m_timeInMode>240)
{
// Wait for card status to settle for one second before trusting it
if(MemCard::GetCardStatus(0)==MemCard::CS_NoCard)
{
setMode(MODE__NOCARD);
}
else if(MemCard::GetCardStatus(0)==MemCard::CS_UnformattedCard)
{
setMode(MODE__UNFORMATTED);
}
else if(MemCard::GetFileCountOnCard(0))
{
setMode(MODE__CONFIRMOVERWRITE);
}
else if(MemCard::GetFreeBlocksOnCard(0)==0)
{
setMode(MODE__NOSPACE);
}
else
{
setMode(MODE__FORMATOK);
}
}
break;
case MODE__FORMATOK:
if(MemCard::GetCardStatus(0)!=MemCard::CS_ValidCard)
{
setMode(MODE__CHECKING);
}
else
{
m_okResponseFrame->think(_frames);
if(m_userResponse==USERRESPONSE__OK)
{
setMode(MODE__SAVING);
if(!m_saveLoadDatabase->startSave("blah"))
{
setMode(MODE__SAVEERROR);
}
}
}
break;
case MODE__FORMATERROR:
case MODE__NOSPACE:
case MODE__SAVEERROR:
@ -446,12 +496,17 @@ void CSaveScene::setMode(MODE _newMode)
case MODE__UNFORMATTED:
m_yesNoResponseTextBox->setText(STR__SAVE__UNFORMATTEDCARD);
m_yesNoResponseFrame->select();
break;
case MODE__FORMATTING:
m_blankTextBox->setText(STR__MEMCARD__FORMATTINGPLEASEWIAT);
break;
case MODE__CHECKINGFORMAT:
m_blankTextBox->setText(STR__MEMCARD__FORMATTINGPLEASEWIAT);
break;
case MODE__FORMATOK:
m_okResponseTextBox->setText(STR__MEMCARD__FORMATTINGOK);
m_okResponseFrame->select();
@ -509,6 +564,7 @@ static const char *text[]=
"MODE__CHECKING",
"MODE__UNFORMATTED",
"MODE__FORMATTING",
"MODE__CHECKINGFORMAT",
"MODE__FORMATOK",
"MODE__FORMATERROR",
"MODE__NOCARD",

View File

@ -52,6 +52,7 @@ private:
MODE__CHECKING,
MODE__UNFORMATTED,
MODE__FORMATTING,
MODE__CHECKINGFORMAT,
MODE__FORMATOK,
MODE__FORMATERROR,
MODE__NOCARD,