diff options
-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 |