This commit is contained in:
Paul 2001-01-10 22:03:20 +00:00
parent 59b457114d
commit 1def70b88f
8 changed files with 85 additions and 36 deletions

View file

@ -62,6 +62,7 @@ frontend_src := credits \
start start
game_src := game \ game_src := game \
gameslot \
thing \ thing \
convo convo

View file

@ -84,7 +84,7 @@
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
#include "memcard\memcard.h" #include "memcard\memcard.h"
#include "memcard\saveload.h" #include "memcard\saveload.h"
SaveLoadDatabase *sl; CSaveLoadDatabase *sl;
enum{mode_none,mode_save,mode_load}; enum{mode_none,mode_save,mode_load};
int mode=mode_none; int mode=mode_none;
void CFrontEndCredits::init() void CFrontEndCredits::init()
@ -111,7 +111,7 @@ static u8 *s_image;
void CFrontEndCredits::select() void CFrontEndCredits::select()
{ {
MemCard::Start(); MemCard::Start();
sl=new ("sldb") SaveLoadDatabase(); sl=new ("sldb") CSaveLoadDatabase();
mode=mode_none; mode=mode_none;
m_shuttingDown=false; m_shuttingDown=false;
s_image=CFileIO::loadFile(BACKDROP_CREDITS_GFX); s_image=CFileIO::loadFile(BACKDROP_CREDITS_GFX);
@ -178,9 +178,9 @@ if(mode==mode_none)
else if(mode==mode_save) else if(mode==mode_save)
{ {
int status=sl->getSaveStatus(); int status=sl->getSaveStatus();
if(status!=SaveLoadDatabase::IN_PROGRESS) if(status!=CSaveLoadDatabase::IN_PROGRESS)
{ {
if(status==SaveLoadDatabase::FINISHED_OK) if(status==CSaveLoadDatabase::FINISHED_OK)
{ {
MEMCARD_DBGMSG("saved ok"); MEMCARD_DBGMSG("saved ok");
} }
@ -194,9 +194,9 @@ else if(mode==mode_save)
else if(mode==mode_load) else if(mode==mode_load)
{ {
int status=sl->getLoadStatus(); int status=sl->getLoadStatus();
if(status!=SaveLoadDatabase::IN_PROGRESS) if(status!=CSaveLoadDatabase::IN_PROGRESS)
{ {
if(status==SaveLoadDatabase::FINISHED_OK) if(status==CSaveLoadDatabase::FINISHED_OK)
{ {
MEMCARD_DBGMSG("loaded ok"); MEMCARD_DBGMSG("loaded ok");
} }

View file

@ -7,7 +7,7 @@
Project: Spongebob Project: Spongebob
Purpose: Purpose:
Copyright (c) 2000 Climax Development Ltd Copyright (c) 2001 Climax Development Ltd
===========================================================================*/ ===========================================================================*/

View file

@ -7,7 +7,7 @@
Project: Spongebob Project: Spongebob
Purpose: Purpose:
Copyright (c) 2000 Climax Development Ltd Copyright (c) 2001 Climax Development Ltd
===========================================================================*/ ===========================================================================*/

View file

@ -84,7 +84,7 @@ static int s_callbackStatus=0;
Params: Params:
Returns: Returns:
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
SaveLoadDatabase::SaveLoadDatabase() CSaveLoadDatabase::CSaveLoadDatabase()
{ {
m_saving=false; m_saving=false;
m_loading=false; m_loading=false;
@ -104,7 +104,7 @@ SaveLoadDatabase::SaveLoadDatabase()
Params: Params:
Returns: Returns:
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
SaveLoadDatabase::~SaveLoadDatabase() CSaveLoadDatabase::~CSaveLoadDatabase()
{ {
MemFree(m_memcardHeader); MemFree(m_memcardHeader);
} }
@ -116,7 +116,7 @@ SaveLoadDatabase::~SaveLoadDatabase()
Params: Params:
Returns: Returns:
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
void SaveLoadDatabase::think() void CSaveLoadDatabase::think()
{ {
MemCard::Handler(); MemCard::Handler();
} }
@ -128,7 +128,7 @@ void SaveLoadDatabase::think()
Params: Params:
Returns: Returns:
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
void SaveLoadDatabase::gatherData() void CSaveLoadDatabase::gatherData()
{ {
ASSERT(!m_saving); ASSERT(!m_saving);
ASSERT(!m_loading); ASSERT(!m_loading);
@ -145,7 +145,7 @@ void SaveLoadDatabase::gatherData()
Params: Params:
Returns: Returns:
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
bool SaveLoadDatabase::startSave(char *_filename,int _fileNum=-1) bool CSaveLoadDatabase::startSave(char *_filename,int _fileNum=-1)
{ {
char nameBuf[9]="\0"; char nameBuf[9]="\0";
@ -189,7 +189,7 @@ bool SaveLoadDatabase::startSave(char *_filename,int _fileNum=-1)
Params: Params:
Returns: Returns:
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
int SaveLoadDatabase::getSaveStatus() int CSaveLoadDatabase::getSaveStatus()
{ {
int ret=INACTIVE; int ret=INACTIVE;
@ -231,7 +231,7 @@ MEMCARD_DBGMSG("======= weird card removal - bonus 50 points");
Params: Params:
Returns: Returns:
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
bool SaveLoadDatabase::startLoad(int _file) bool CSaveLoadDatabase::startLoad(int _file)
{ {
ASSERT(!m_saving); ASSERT(!m_saving);
ASSERT(!m_loading); ASSERT(!m_loading);
@ -260,7 +260,7 @@ bool SaveLoadDatabase::startLoad(int _file)
Params: Params:
Returns: Returns:
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
int SaveLoadDatabase::getLoadStatus() int CSaveLoadDatabase::getLoadStatus()
{ {
int ret=INACTIVE; int ret=INACTIVE;
@ -323,7 +323,7 @@ int SaveLoadDatabase::getLoadStatus()
Params: Params:
Returns: Returns:
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
bool SaveLoadDatabase::startFormat() bool CSaveLoadDatabase::startFormat()
{ {
ASSERT(!m_saving); ASSERT(!m_saving);
ASSERT(!m_loading); ASSERT(!m_loading);
@ -349,7 +349,7 @@ MEMCARD_DBGMSG("======= m_formatting=true");
Params: Params:
Returns: Returns:
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
int SaveLoadDatabase::getFormatStatus() int CSaveLoadDatabase::getFormatStatus()
{ {
int ret=INACTIVE; int ret=INACTIVE;
@ -389,7 +389,7 @@ MEMCARD_DBGMSG("======= still formatting...");
Params: Params:
Returns: Returns:
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
void SaveLoadDatabase::startAutoload() void CSaveLoadDatabase::startAutoload()
{ {
MEMCARD_DBGMSG("Trying autoload.."); MEMCARD_DBGMSG("Trying autoload..");
m_autoloadFrameCounter=0; m_autoloadFrameCounter=0;
@ -403,7 +403,7 @@ void SaveLoadDatabase::startAutoload()
Params: Params:
Returns: Returns:
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
bool SaveLoadDatabase::monitorAutoload() bool CSaveLoadDatabase::monitorAutoload()
{ {
if(m_autoloading) if(m_autoloading)
{ {
@ -441,7 +441,7 @@ bool SaveLoadDatabase::monitorAutoload()
Params: Params:
Returns: Returns:
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
void SaveLoadDatabase::createData() void CSaveLoadDatabase::createData()
{ {
int i; int i;
@ -456,6 +456,12 @@ void SaveLoadDatabase::createData()
m_dataBuffer.m_systemDetails.m_volumes[i]=CSoundMediator::getVolume((CSoundMediator::VOLUMETYPE)i); m_dataBuffer.m_systemDetails.m_volumes[i]=CSoundMediator::getVolume((CSoundMediator::VOLUMETYPE)i);
} }
m_dataBuffer.m_systemDetails.m_language=(char)TranslationDatabase::getLanguage(); m_dataBuffer.m_systemDetails.m_language=(char)TranslationDatabase::getLanguage();
// Game slots
for(i=0;i<CGameSlotManager::NUM_GAME_SLOTS;i++)
{
m_dataBuffer.m_gameSlots[i]=CGameSlotManager::getSlotData(i);
}
} }
@ -465,7 +471,7 @@ void SaveLoadDatabase::createData()
Params: Params:
Returns: Returns:
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
void SaveLoadDatabase::restoreData() void CSaveLoadDatabase::restoreData()
{ {
int i; int i;
@ -479,6 +485,12 @@ void SaveLoadDatabase::restoreData()
{ {
TranslationDatabase::loadLanguage(m_dataBuffer.m_systemDetails.m_language); TranslationDatabase::loadLanguage(m_dataBuffer.m_systemDetails.m_language);
} }
// Game slots
for(i=0;i<CGameSlotManager::NUM_GAME_SLOTS;i++)
{
CGameSlotManager::setSlotData(i,&m_dataBuffer.m_gameSlots[i]);
}
} }
@ -488,7 +500,7 @@ void SaveLoadDatabase::restoreData()
Params: Params:
Returns: Returns:
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
void SaveLoadDatabase::allocateBuffer() void CSaveLoadDatabase::allocateBuffer()
{ {
ASSERT(!m_tempBuffer); ASSERT(!m_tempBuffer);
@ -504,7 +516,7 @@ void SaveLoadDatabase::allocateBuffer()
Params: Params:
Returns: Returns:
---------------------------------------------------------------------- */ ---------------------------------------------------------------------- */
void SaveLoadDatabase::freeBuffer() void CSaveLoadDatabase::freeBuffer()
{ {
ASSERT(m_tempBuffer); ASSERT(m_tempBuffer);

View file

@ -22,6 +22,10 @@
#include "sound\sound.h" #include "sound\sound.h"
#endif #endif
#ifndef __GAME_GAMESLOT_H__
#include "game\gameslot.h"
#endif
/* Std Lib /* Std Lib
------- */ ------- */
@ -36,19 +40,20 @@
struct SaveLoad_SystemDetails struct SaveLoad_SystemDetails
{ {
char m_screenOffX,m_screenOffY; char m_screenOffX,m_screenOffY;
unsigned char m_volumes[CSoundMediator::NUM_VOLUMETYPES]; unsigned char m_volumes[CSoundMediator::NUM_VOLUMETYPES];
unsigned char m_language; unsigned char m_language;
}; };
struct SaveLoad_DataBuffer struct SaveLoad_DataBuffer
{ {
unsigned char m_headerId; unsigned char m_headerId;
SaveLoad_SystemDetails m_systemDetails; SaveLoad_SystemDetails m_systemDetails;
CGameSlotManager::GameSlot m_gameSlots[CGameSlotManager::NUM_GAME_SLOTS];
}; };
class SaveLoadDatabase class CSaveLoadDatabase
{ {
public: public:
enum enum
@ -60,8 +65,8 @@ public:
} STATUS; } STATUS;
SaveLoadDatabase(); CSaveLoadDatabase();
~SaveLoadDatabase(); ~CSaveLoadDatabase();
void think(); void think();

View file

@ -53,6 +53,10 @@ CPaulScene s_paulScene;
#include "gui\gui.h" #include "gui\gui.h"
#endif #endif
#ifndef __GAME_GAMESLOT_H__
#include "game\gameslot.h"
#endif
#ifndef __GFX_FADER_H__ #ifndef __GFX_FADER_H__
#include "gfx\fader.h" #include "gfx\fader.h"
#endif #endif
@ -100,10 +104,9 @@ void InitSystem() // reordered to reduce black screen (hope all is well
SetDispMask(1); SetDispMask(1);
GameState::initialise(); GameState::initialise();
CSoundMediator::initialise(); CSoundMediator::initialise();
initGUIStuff(); initGUIStuff();
CGameSlotManager::init();
CBubicleFactory::init(); CBubicleFactory::init();
@ -189,7 +192,7 @@ int main()
CFileIO::GetAllFilePos(); CFileIO::GetAllFilePos();
InitSystem(); InitSystem();
#ifdef __USER_paul__ #ifdef __USER_paul__NOT
GameState::setNextScene( &FrontEndScene ); GameState::setNextScene( &FrontEndScene );
#else #else
GameState::setNextScene( &GameScene ); GameState::setNextScene( &GameScene );

View file

@ -83,11 +83,11 @@ CFG=spongebob project - Win32 Debug
# Begin Group "source" # Begin Group "source"
# PROP Default_Filter ""
# Begin Group "enemy" # Begin Group "enemy"
# PROP Default_Filter "" # PROP Default_Filter ""
# End Group # End Group
# PROP Default_Filter ""
# Begin Group "fileio" # Begin Group "fileio"
# PROP Default_Filter "" # PROP Default_Filter ""
@ -205,6 +205,14 @@ SOURCE=..\..\..\source\game\game.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\..\..\source\game\gameslot.cpp
# End Source File
# Begin Source File
SOURCE=..\..\..\source\game\gameslot.h
# End Source File
# Begin Source File
SOURCE=..\..\..\source\game\thing.cpp SOURCE=..\..\..\source\game\thing.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
@ -217,6 +225,14 @@ SOURCE=..\..\..\source\game\thing.h
# PROP Default_Filter "" # PROP Default_Filter ""
# Begin Source File # Begin Source File
SOURCE=..\..\..\source\gfx\anim.cpp
# End Source File
# Begin Source File
SOURCE=..\..\..\source\gfx\anim.h
# End Source File
# Begin Source File
SOURCE=..\..\..\source\gfx\animtex.cpp SOURCE=..\..\..\source\gfx\animtex.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
@ -265,6 +281,18 @@ SOURCE=..\..\..\source\gfx\prim.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\..\..\source\gfx\primplus.h
# End Source File
# Begin Source File
SOURCE=..\..\..\source\gfx\skel.cpp
# End Source File
# Begin Source File
SOURCE=..\..\..\source\gfx\skel.h
# End Source File
# Begin Source File
SOURCE=..\..\..\source\gfx\sprbank.cpp SOURCE=..\..\..\source\gfx\sprbank.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File