diff options
author | Paul Gilbert | 2009-04-18 12:03:21 +0000 |
---|---|---|
committer | Paul Gilbert | 2009-04-18 12:03:21 +0000 |
commit | f53b4d3de4ce1676ca79630c26ae9557ef70b9b5 (patch) | |
tree | 870032c656f621223189b05a8122457751a33089 | |
parent | 9efb96ce6957c4a22e1c0754fcb2857c12817119 (diff) | |
download | scummvm-rg350-f53b4d3de4ce1676ca79630c26ae9557ef70b9b5.tar.gz scummvm-rg350-f53b4d3de4ce1676ca79630c26ae9557ef70b9b5.tar.bz2 scummvm-rg350-f53b4d3de4ce1676ca79630c26ae9557ef70b9b5.zip |
Implemented the 'Start Again' menu option to properly restart the game
svn-id: r39981
-rw-r--r-- | engines/cruise/cruise_main.h | 1 | ||||
-rw-r--r-- | engines/cruise/function.h | 1 | ||||
-rw-r--r-- | engines/cruise/menu.cpp | 6 | ||||
-rw-r--r-- | engines/cruise/saveload.h | 1 |
4 files changed, 9 insertions, 0 deletions
diff --git a/engines/cruise/cruise_main.h b/engines/cruise/cruise_main.h index 649e8e7ef9..a7b12fa043 100644 --- a/engines/cruise/cruise_main.h +++ b/engines/cruise/cruise_main.h @@ -124,6 +124,7 @@ void closeAllMenu(void); int removeFinishedScripts(scriptInstanceStruct *ptrHandle); void initBigVar3(void); void resetActorPtr(actorStruct *ptr); +int initAllData(void); } // End of namespace Cruise diff --git a/engines/cruise/function.h b/engines/cruise/function.h index 42f4e38f8b..6604d87bcb 100644 --- a/engines/cruise/function.h +++ b/engines/cruise/function.h @@ -35,6 +35,7 @@ int16 computeZoom(int param); int16 subOp23(int param1, int param2); void freeObjectList(cellStruct *pListHead); int removeAnimation(actorStruct * pHead, int overlay, int objIdx, int objType); +int16 Op_FadeOut(void); } // End of namespace Cruise diff --git a/engines/cruise/menu.cpp b/engines/cruise/menu.cpp index 7c293525a4..7246ec65b4 100644 --- a/engines/cruise/menu.cpp +++ b/engines/cruise/menu.cpp @@ -261,6 +261,12 @@ int playerMenu(int menuX, int menuY) { loadSavegameData(0); break; case 6: // restart + Op_FadeOut(); + memset(globalScreen, 0, 320 * 200); + initVars(); + initAllData(); + changeCursor(CURSOR_NORMAL); + userEnabled = 0; break; case 7: // exit return 1; diff --git a/engines/cruise/saveload.h b/engines/cruise/saveload.h index 96433bdee9..bb69918a48 100644 --- a/engines/cruise/saveload.h +++ b/engines/cruise/saveload.h @@ -42,6 +42,7 @@ struct CruiseSavegameHeader { Common::Error saveSavegameData(int saveGameIdx, const Common::String &saveName); Common::Error loadSavegameData(int saveGameIdx); bool readSavegameHeader(Common::InSaveFile *in, CruiseSavegameHeader &header); +void initVars(void); } // End of namespace Cruise |