diff --git a/data/translations/text.dat b/data/translations/text.dat index 5370b1efb..799d12b42 100644 --- a/data/translations/text.dat +++ b/data/translations/text.dat @@ -233,6 +233,27 @@ eng=RESTART LEVEL +; --------------------------------------------------------------- +; Slot select screen +; --------------------------------------------------------------- + +[STR__SLOT_SELECT_SCREEN__LEFT_RIGHT_TO_SELECT_SLOT] +eng=Select slot +[STR__SLOT_SELECT_SCREEN__CROSS_TO_CONFIRM] +eng=Confirm +[STR__SLOT_SELECT_SCREEN__CROSS_TO_CREATE] +eng=Create +[STR__SLOT_SELECT_SCREEN__CIRCLE_TO_ERASE_SLOT] +eng=Erase slot +[STR__SLOT_SELECT_SCREEN__TRIANGLE_TO_EXIT] +eng=Exit +[STR__SLOT_SELECT_SCREEN__NEW_SLOT_CREATED] +eng=New slot created! +[STR__SLOT_SELECT_SCREEN__CONFIRM_ERASE_GAME] +eng=Are you sure that you want to erase this slot? + + + ; --------------------------------------------------------------- ; Map screen ; --------------------------------------------------------------- diff --git a/source/frontend/frontend.cpp b/source/frontend/frontend.cpp index f4039756b..cb10699ba 100644 --- a/source/frontend/frontend.cpp +++ b/source/frontend/frontend.cpp @@ -153,9 +153,6 @@ void CFrontEndScene::init() m_exitToGame=false; m_mode=MODE__NONE; -#if defined(__USER_art__) || defined(__USER_sbart__) - setMode(MODE__CHOOSE_SLOT); -#else if(s_runOnce) { setMode(MODE__FMV_INTRO); @@ -165,7 +162,6 @@ void CFrontEndScene::init() s_runOnce=true; setMode(MODE__FMV_THQ); } -#endif m_sprites=new ("MainTitle Sprites") SpriteBank(); m_sprites->load(SPRITES_SPRITES_SPR); diff --git a/source/frontend/maintitl.cpp b/source/frontend/maintitl.cpp index 513091cf4..5868be72a 100644 --- a/source/frontend/maintitl.cpp +++ b/source/frontend/maintitl.cpp @@ -372,7 +372,7 @@ CFrontEndScene::FrontEndMode CFrontEndMainTitles::getNextMode() break; case MODE__GOTO_CHOOSE_SLOT: - ret=CFrontEndScene::MODE__EXIT_TO_MAP; + ret=CFrontEndScene::MODE__CHOOSE_SLOT; break; case MODE__GOTO_OPTIONS: diff --git a/source/frontend/start.cpp b/source/frontend/start.cpp index fa416ef70..7022a0cf9 100644 --- a/source/frontend/start.cpp +++ b/source/frontend/start.cpp @@ -18,6 +18,10 @@ #include "frontend\start.h" +#ifndef __GFX_FONT_H__ +#include "gfx\font.h" +#endif + #ifndef __GFX_SPRBANK_H__ #include "gfx\sprbank.h" #endif @@ -42,6 +46,26 @@ #include "gui\gframe.h" #endif +#ifndef __GUI_GTEXTBOX_H__ +#include "gui\gtextbox.h" +#endif + +#ifndef __GAME_GAMESLOT_H__ +#include "game\gameslot.h" +#endif + +#ifndef __PAD_PADS_H__ +#include "pad\pads.h" +#endif + +#ifndef __GAME_GAME_H__ +#include "game\game.h" +#endif + +#ifndef __SOUND_SOUND_H__ +#include "sound\sound.h" +#endif + /* Std Lib ------- */ @@ -53,6 +77,10 @@ #include #endif +#ifndef __SPR_SHOP_H__ +#include +#endif + /*---------------------------------------------------------------------- Tyepdefs && Defines @@ -70,23 +98,6 @@ Vars ---- */ -int CFrontEndStart::s_levelValues[]= -{ - 0,48,96,144,192,240, - -1, -}; -CGUITextReadout::TextReadoutData CFrontEndStart::s_levelReadoutText[]= -{ - { 0, STR__DEBUG__LEVEL_SELECT_C1 }, - { 48, STR__DEBUG__LEVEL_SELECT_C2 }, - { 96, STR__DEBUG__LEVEL_SELECT_C3 }, - { 144, STR__DEBUG__LEVEL_SELECT_C4 }, - { 192, STR__DEBUG__LEVEL_SELECT_C5 }, - { 240, STR__DEBUG__LEVEL_SELECT_C6 }, -}; - -extern int s_globalLevelSelectThing; - /*---------------------------------------------------------------------- Function: @@ -94,21 +105,50 @@ extern int s_globalLevelSelectThing; Params: Returns: ---------------------------------------------------------------------- */ +int result; void CFrontEndStart::init() { - m_guiFrame=new ("optionsframe") CGUIControlFrame(); - m_guiFrame->init(NULL); - m_guiFrame->setObjectXYWH((512-352)/2,50,352,96); + CGUITextBox *tb; - CGUIFactory::createCycleButtonFrame(m_guiFrame, - 10,10,332,40, - STR__DEBUG__LEVEL_SELECT, - &m_level,s_levelValues,s_levelReadoutText); + + m_emptyGuiFrame=new ("Frame") CGUIGroupFrame(); + m_emptyGuiFrame->init(NULL); + m_emptyGuiFrame->setObjectXYWH((512-416)/2,130,416,96); + m_emptyGuiFrame->setFlags(CGUIObject::FLAG_DRAWBORDER); - CGUIFactory::createValueButtonFrame(m_guiFrame, - 10,50,332,40, - STR__DEBUG__LEVEL_SELECT_START, - &m_startGame,true); + m_confirmEraseGuiFrame=new ("Frame") CGUIControlFrame(); + m_confirmEraseGuiFrame->init(NULL); + m_confirmEraseGuiFrame->setObjectXYWH((512-416)/2,130,416,96); + CGUIFactory::createValueButtonFrame(m_confirmEraseGuiFrame, + 8,55,400,20, + STR__NO,&m_confirmFlag,CONFIRM_NO); + CGUIFactory::createValueButtonFrame(m_confirmEraseGuiFrame, + 8,70,400,20, + STR__YES,&m_confirmFlag,CONFIRM_YES); + tb=new ("textbox") CGUITextBox(); + tb->init(m_confirmEraseGuiFrame); + tb->setObjectXYWH(8,5,400,35); + tb->setText(STR__SLOT_SELECT_SCREEN__CONFIRM_ERASE_GAME); + + m_createdSlotGuiFrame=new ("Frame") CGUIControlFrame(); + m_createdSlotGuiFrame->init(NULL); + m_createdSlotGuiFrame->setObjectXYWH((512-416)/2,130,416,96); + CGUIFactory::createValueButtonFrame(m_createdSlotGuiFrame, + 8,55,400,20, + STR__OK,&m_confirmFlag,CONFIRM_OK); + tb=new ("textbox") CGUITextBox(); + tb->init(m_createdSlotGuiFrame); + tb->setObjectXYWH(8,5,400,35); + tb->setText(STR__SLOT_SELECT_SCREEN__NEW_SLOT_CREATED); + + m_font=new ("ChooseSlotFont") FontBank(); + m_font->initialise(&standardFont); + m_font->setJustification(FontBank::JUST_LEFT); + m_font->setOt(3); + m_font->setPrintArea(0,0,712,256); + + m_spriteBank=new ("PartItemSprites") SpriteBank(); + m_spriteBank->load(SHOP_SHOP_SPR); } /*---------------------------------------------------------------------- @@ -119,7 +159,12 @@ void CFrontEndStart::init() ---------------------------------------------------------------------- */ void CFrontEndStart::shutdown() { - m_guiFrame->shutdown(); + m_spriteBank->dump(); delete m_spriteBank; + m_font->dump(); delete m_font; + + m_createdSlotGuiFrame->shutdown(); + m_confirmEraseGuiFrame->shutdown(); + m_emptyGuiFrame->shutdown(); } /*---------------------------------------------------------------------- @@ -130,12 +175,11 @@ void CFrontEndStart::shutdown() ---------------------------------------------------------------------- */ void CFrontEndStart::select() { - m_guiFrame->select(); - m_shuttingDown=false; - m_selectedSlot=NO_SLOT_SELECTED; - m_escapeToTitles=false; CFader::setFadingIn(); - m_startGame=false; + + m_state=STATE_SELECT; + m_selectedSlot=0; + m_slotDrawOffset=0; } /*---------------------------------------------------------------------- @@ -146,7 +190,6 @@ void CFrontEndStart::select() ---------------------------------------------------------------------- */ void CFrontEndStart::unselect() { - m_guiFrame->unselect(); } /*---------------------------------------------------------------------- @@ -155,23 +198,220 @@ void CFrontEndStart::unselect() Params: Returns: ---------------------------------------------------------------------- */ +typedef struct +{ + int x,y,w,h; + int levelx,levely; + int itemx,itemy,itemgap; + int tokenx,tokeny; + int emptyslotx,emptysloty; +}SLOTDATA; +SLOTDATA slotdata= +{ + (512-416)/2,30,416,64, // x,y,w,h + 15,5, // levelx,levely + 16,25,50, // itemx,itemy,itemgap + 250,5, // tokenx,tokeny + 416/2,15, // emptyslotx,emptysloty +}; + + +static const int s_itemFrames[]= +{ + FRM_BLOWER, // SHOPITEM_BLOWER + FRM_CAKE, // SHOPITEM_CAKE + FRM_CUPCAKE, // SHOPITEM_CUPCAKE + FRM_JELLY2, // SHOPITEM_JELLY2 + FRM_PARTYHAT, // SHOPITEM_PARTYHAT + FRM_PREZZIE, // SHOPITEM_PREZZIE + FRM_SARNIE, // SHOPITEM_SARNIE + FRM_TEDDY, // SHOPITEM_TEDDY +}; void CFrontEndStart::render() { POLY_G4 *g4; g4=GetPrimG4(); setXYWH(g4,0,0,512,256); - setRGB0(g4,50, 0, 0); - setRGB1(g4, 0, 0,50); - setRGB2(g4, 0,50, 0); - setRGB3(g4,50, 0,50); + setRGB0(g4, 0,150, 50); + setRGB1(g4, 0,150, 50); + setRGB2(g4,150, 50, 0); + setRGB3(g4,150, 50, 0); AddPrimToList(g4,MAX_OT-1); -#if 0 - m_guiFrame->render(); + drawGameSlot(m_slotDrawOffset,m_selectedSlot); + if(m_slotDrawOffset) + { + int ofs; + ofs=m_slotDrawOffset<0?512:-512; + drawGameSlot(ofs+m_slotDrawOffset,m_lastSelectedSlot); + } + + switch(m_state) + { + case STATE_SELECT: + m_emptyGuiFrame->render(); + if(!m_slotDrawOffset) + { + drawInstructions(); + } + break; + + case STATE_CONFIRM_ERASE: + m_confirmEraseGuiFrame->render(); + break; + + case STATE_EXITING_TO_FRONT_END: + case STATE_EXITING_TO_GAME: + m_emptyGuiFrame->render(); + break; + + case STATE_SLOT_CREATED: + m_createdSlotGuiFrame->render(); + break; + } + +#ifdef __USER_paul__ +char buf[100]; +sprintf(buf,"slot %d",m_selectedSlot); +m_font->print(65,7,buf); #endif } +/*---------------------------------------------------------------------- + Function: + Purpose: + Params: + Returns: + ---------------------------------------------------------------------- */ +void CFrontEndStart::drawGameSlot(int _xOff,int _slotNumber) +{ + int xbase; + CGameSlotManager::GameSlot *gameSlot; + POLY_F4 *f4; + int x,y; + sFrameHdr *fh; + char buf[100]; + int i; + + xbase=_xOff+slotdata.x; + CGameSlotManager::setActiveSlot(_slotNumber); + gameSlot=CGameSlotManager::getSlotData(); + + drawBambooBorder(xbase,slotdata.y,slotdata.w,slotdata.h,3); + f4=GetPrimF4(); + setXYWH(f4,xbase,slotdata.y,slotdata.w,slotdata.h); + setRGB0(f4, 0, 0, 90); + setSemiTrans(f4,true); + AddPrimToList(f4,3); + + if(gameSlot->m_isInUse) + { + m_font->print(xbase+slotdata.levelx,slotdata.y+slotdata.levely,"Level 0-0"); + + x=xbase+slotdata.tokenx; + y=slotdata.y+slotdata.tokeny; + fh=m_spriteBank->getFrameHeader(FRM_SMALLTOKEN); + m_spriteBank->printFT4(fh,x,y,0,0,2); + x+=fh->W; + sprintf(buf,"x%d",CGameSlotManager::getSlotData()->getNumberOfKelpTokensHeld()); + m_font->print(x,y,buf); + + x=xbase+slotdata.itemx; + y=slotdata.y+slotdata.itemy; + for(i=0;i<8;i++) + { + POLY_FT4 *ft4; + ft4=m_spriteBank->printFT4(s_itemFrames[i],x,y,0,0,2); + if(!gameSlot->isPartyItemHeld(i)) + { + setRGB0(ft4,35,35,35); + } + x+=slotdata.itemgap; + } + } + else + { + m_font->setJustification(FontBank::JUST_CENTRE); + m_font->print(xbase+slotdata.emptyslotx,slotdata.y+slotdata.emptysloty,"EMPTY SLOT"); + m_font->setJustification(FontBank::JUST_LEFT); + } +} + + +/*---------------------------------------------------------------------- + Function: + Purpose: + Params: + Returns: + ---------------------------------------------------------------------- */ +int MAP_INSTRUCTIONS_YSTART=147; +int MAP_INSTRUCTIONS_BUTTON_Y_OFFSET=3; +int MAP_INSTRUCTIONS_TEXT_R=128; +int MAP_INSTRUCTIONS_TEXT_G=64; +int MAP_INSTRUCTIONS_TEXT_B=64; +int MAP_INSTRUCTIONS_GAP_BETWEEN_BUTTONS=5; +int MAP_INSTRUCTIONS_GAP_BETWEEN_BUTTONS_AND_TEXT=10; +int MAP_INSTRUCTIONS_Y_SPACE_BETWEEN_LINES=15; +void CFrontEndStart::drawInstructions() +{ + int slotInUse; + SpriteBank *sb; + sFrameHdr *fh1,*fh2; + int width; + int x,y; + int text; + + CGameSlotManager::setActiveSlot(m_selectedSlot); + slotInUse=CGameSlotManager::getSlotData()->m_isInUse; + + sb=CGameScene::getSpriteBank(); + m_font->setColour(255,255,255); + + y=MAP_INSTRUCTIONS_YSTART; + fh1=sb->getFrameHeader(FRM__BUTL); + fh2=sb->getFrameHeader(FRM__BUTR); + width=fh1->W+MAP_INSTRUCTIONS_GAP_BETWEEN_BUTTONS+fh2->W+MAP_INSTRUCTIONS_GAP_BETWEEN_BUTTONS_AND_TEXT+m_font->getStringWidth(STR__SLOT_SELECT_SCREEN__LEFT_RIGHT_TO_SELECT_SLOT); + 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; + sb->printFT4(fh2,x,y+MAP_INSTRUCTIONS_BUTTON_Y_OFFSET,0,0,0); + x+=fh2->W+MAP_INSTRUCTIONS_GAP_BETWEEN_BUTTONS_AND_TEXT; + m_font->print(x,y,STR__SLOT_SELECT_SCREEN__LEFT_RIGHT_TO_SELECT_SLOT); + + text=slotInUse?STR__SLOT_SELECT_SCREEN__CROSS_TO_CONFIRM:STR__SLOT_SELECT_SCREEN__CROSS_TO_CREATE; + y+=MAP_INSTRUCTIONS_Y_SPACE_BETWEEN_LINES; + fh1=sb->getFrameHeader(FRM__BUTX); + width=fh1->W+MAP_INSTRUCTIONS_GAP_BETWEEN_BUTTONS_AND_TEXT+m_font->getStringWidth(text); + 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,text); + + y+=MAP_INSTRUCTIONS_Y_SPACE_BETWEEN_LINES; + fh1=sb->getFrameHeader(FRM__BUTC); + width=fh1->W+MAP_INSTRUCTIONS_GAP_BETWEEN_BUTTONS_AND_TEXT+m_font->getStringWidth(STR__SLOT_SELECT_SCREEN__CIRCLE_TO_ERASE_SLOT); + x=256-(width/2); + if(slotInUse) + { + sb->printFT4(fh1,x,y+MAP_INSTRUCTIONS_BUTTON_Y_OFFSET,0,0,0); + } + x+=fh1->W+MAP_INSTRUCTIONS_GAP_BETWEEN_BUTTONS_AND_TEXT; + if(slotInUse) + { + m_font->print(x,y,STR__SLOT_SELECT_SCREEN__CIRCLE_TO_ERASE_SLOT); + } + + 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__SLOT_SELECT_SCREEN__TRIANGLE_TO_EXIT); + 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__SLOT_SELECT_SCREEN__TRIANGLE_TO_EXIT); +} + + /*---------------------------------------------------------------------- Function: Purpose: @@ -180,25 +420,133 @@ void CFrontEndStart::render() ---------------------------------------------------------------------- */ void CFrontEndStart::think(int _frames) { -#if 0 if(!CFader::isFading()) { - m_guiFrame->think(_frames); + if(m_slotDrawOffset==0) + { + if(m_state==STATE_SELECT) + { + // Select a slot + int pad=PadGetDown(0); + if(pad&PAD_LEFT) + { + m_lastSelectedSlot=m_selectedSlot; + if(--m_selectedSlot<0) + { + m_selectedSlot=CGameSlotManager::NUM_GAME_SLOTS-1; + } + m_slotDrawOffset=-500; + CSoundMediator::playSfx(CSoundMediator::SFX_FRONT_END__MOVE_CURSOR); + } + else if(pad&PAD_RIGHT) + { + m_lastSelectedSlot=m_selectedSlot; + if(++m_selectedSlot>=CGameSlotManager::NUM_GAME_SLOTS) + { + m_selectedSlot=0; + } + m_slotDrawOffset=+500; + CSoundMediator::playSfx(CSoundMediator::SFX_FRONT_END__MOVE_CURSOR); + } + else if(pad&PAD_CROSS) + { + CGameSlotManager::GameSlot *gameSlot; + CGameSlotManager::setActiveSlot(m_selectedSlot); + gameSlot=CGameSlotManager::getSlotData(); + if(gameSlot->m_isInUse) + { + m_state=STATE_EXITING_TO_GAME; + CFader::setFadingOut(); + CSoundMediator::playSfx(CSoundMediator::SFX_FRONT_END__OK); + } + else + { + m_state=STATE_SLOT_CREATED; + m_createdSlotGuiFrame->select(); + gameSlot->m_isInUse=true; + CSoundMediator::playSfx(CSoundMediator::SFX_FRONT_END__OK); + } + } + else if(pad&PAD_CIRCLE) + { + CGameSlotManager::GameSlot *gameSlot; + CGameSlotManager::setActiveSlot(m_selectedSlot); + gameSlot=CGameSlotManager::getSlotData(); + if(gameSlot->m_isInUse) + { + m_state=STATE_CONFIRM_ERASE; + m_confirmFlag=CONFIRM_NONE; + m_confirmEraseGuiFrame->select(); + CSoundMediator::playSfx(CSoundMediator::SFX_FRONT_END__OK); + } + } + else if(pad&PAD_TRIANGLE) + { + m_state=STATE_EXITING_TO_FRONT_END; + CFader::setFadingOut(); + CSoundMediator::playSfx(CSoundMediator::SFX_FRONT_END__OK); + } + m_emptyGuiFrame->think(_frames); + } + else if(m_state==STATE_SLOT_CREATED) + { + m_createdSlotGuiFrame->think(_frames); + if(m_confirmFlag==CONFIRM_OK) + { + m_createdSlotGuiFrame->unselect(); + m_state=STATE_SELECT; + } + } + else if(m_state==STATE_CONFIRM_ERASE) + { + m_confirmEraseGuiFrame->think(_frames); + if(m_confirmFlag==CONFIRM_YES) + { + CGameSlotManager::eraseGameSlot(m_selectedSlot); + m_state=STATE_SELECT; + m_confirmEraseGuiFrame->unselect(); + } + else if(m_confirmFlag==CONFIRM_NO) + { + m_state=STATE_SELECT; + m_confirmEraseGuiFrame->unselect(); + } + } + } + else + { + // Slide the slot boxes about.. + for(int i=0;i<_frames;i++) + { + int delta=m_slotDrawOffset/3; + if(m_slotDrawOffset<0) + { + if(!delta)delta=-1; + } + else if(m_slotDrawOffset>0) + { + if(!delta)delta=+1; + } + else + { + break; + } + m_slotDrawOffset-=delta; + } + } } + /* if(!m_shuttingDown) { - if(/*m_selectedSlot!=NO_SLOT_SELECTED|| - m_escapeToTitles||*/ - m_startGame) + if(/m_selectedSlot!=NO_SLOT_SELECTED|| + m_escapeToTitles||/ { - m_selectedSlot=0; m_shuttingDown=true; - s_globalLevelSelectThing=m_level; CFader::setFadingOut(); } } -#endif + */ } /*---------------------------------------------------------------------- @@ -209,7 +557,7 @@ void CFrontEndStart::think(int _frames) ---------------------------------------------------------------------- */ int CFrontEndStart::isReadyToExit() { - return !CFader::isFading(); + return !CFader::isFading()&&(m_state==STATE_EXITING_TO_FRONT_END||m_state==STATE_EXITING_TO_GAME); } /*---------------------------------------------------------------------- @@ -220,7 +568,7 @@ int CFrontEndStart::isReadyToExit() ---------------------------------------------------------------------- */ CFrontEndScene::FrontEndMode CFrontEndStart::getNextMode() { - return CFrontEndScene::MODE__EXIT_TO_MAP; + return m_state==STATE_EXITING_TO_GAME?CFrontEndScene::MODE__EXIT_TO_MAP:CFrontEndScene::MODE__MAIN_TITLES; } /*=========================================================================== diff --git a/source/frontend/start.h b/source/frontend/start.h index a5f3cf2fb..1bcde9167 100644 --- a/source/frontend/start.h +++ b/source/frontend/start.h @@ -53,20 +53,41 @@ public: private: + typedef enum + { + STATE_SELECT, + STATE_CONFIRM_ERASE, + STATE_EXITING_TO_FRONT_END, + STATE_EXITING_TO_GAME, + STATE_SLOT_CREATED, + }STATE; + + void drawGameSlot(int _xOff,int _slotNumber); + void drawInstructions(); + + + STATE m_state; + int m_selectedSlot,m_lastSelectedSlot; + int m_slotDrawOffset; + + class CGUIGroupFrame *m_emptyGuiFrame; + class CGUIControlFrame *m_confirmEraseGuiFrame; + class CGUIControlFrame *m_createdSlotGuiFrame; + enum { - NO_SLOT_SELECTED=-1, + CONFIRM_NONE=0, + CONFIRM_OK=1, + CONFIRM_YES=1, + CONFIRM_NO, }; + int m_confirmFlag; + + int m_startGame; + + class SpriteBank *m_spriteBank; + class FontBank *m_font; - int m_selectedSlot; - int m_escapeToTitles; - int m_shuttingDown; - - class CGUIControlFrame *m_guiFrame; - int m_level; - static int s_levelValues[]; - static CGUITextReadout::TextReadoutData s_levelReadoutText[]; - int m_startGame; }; diff --git a/source/game/gameslot.cpp b/source/game/gameslot.cpp index 56a699661..1cff6a61f 100644 --- a/source/game/gameslot.cpp +++ b/source/game/gameslot.cpp @@ -65,6 +65,9 @@ void CGameSlotManager::init() } setActiveSlot(0); +#ifdef __VERSION_DEBUG__ + s_gameSlots[0].m_isInUse=true; +#endif } @@ -78,7 +81,6 @@ void CGameSlotManager::setActiveSlot(unsigned int _slot) { ASSERT(_slot<=NUM_GAME_SLOTS); s_currentGameSlot=&s_gameSlots[_slot]; - s_currentGameSlot->m_isInUse=true; }