aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/ringworld2/ringworld2_logic.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2013-09-28 12:57:47 -0400
committerPaul Gilbert2013-09-28 12:57:47 -0400
commit7cf1f02fa1273b0149440c9dc0e822734e6290b1 (patch)
treeb7c4e23a274938b34aef2861cabfecb36ef21061 /engines/tsage/ringworld2/ringworld2_logic.cpp
parentaeee6e624125af2569bf68cbe541b7bfce38291e (diff)
downloadscummvm-rg350-7cf1f02fa1273b0149440c9dc0e822734e6290b1.tar.gz
scummvm-rg350-7cf1f02fa1273b0149440c9dc0e822734e6290b1.tar.bz2
scummvm-rg350-7cf1f02fa1273b0149440c9dc0e822734e6290b1.zip
TSAGE: Fix R2R restart game to match the original
Diffstat (limited to 'engines/tsage/ringworld2/ringworld2_logic.cpp')
-rw-r--r--engines/tsage/ringworld2/ringworld2_logic.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp
index 22ad35017c..5e4e892f6b 100644
--- a/engines/tsage/ringworld2/ringworld2_logic.cpp
+++ b/engines/tsage/ringworld2/ringworld2_logic.cpp
@@ -1125,12 +1125,24 @@ void Ringworld2Game::start() {
g_globals->_events.showCursor();
}
+void Ringworld2Game::restartGame() {
+ if (MessageDialog::show(Ringworld2::R2_RESTART_MSG, CANCEL_BTN_STRING, YES_MSG) == 1)
+ restart();
+}
+
void Ringworld2Game::restart() {
g_globals->_scenePalette.clearListeners();
g_globals->_soundHandler.stop();
+ // Reset the globals
+ g_globals->reset();
+
+ // Clear save/load slots
+ g_globals->_sceneHandler->_saveGameSlot = -1;
+ g_globals->_sceneHandler->_loadGameSlot = -1;
+
// Change to the first game scene
- g_globals->_sceneManager.changeScene(180);
+ g_globals->_sceneManager.changeScene(100);
}
void Ringworld2Game::endGame(int resNum, int lineNum) {