[Scummvm-cvs-logs] scummvm master -> 7cf1f02fa1273b0149440c9dc0e822734e6290b1

dreammaster dreammaster at scummvm.org
Sat Sep 28 18:58:29 CEST 2013


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
7cf1f02fa1 TSAGE: Fix R2R restart game to match the original


Commit: 7cf1f02fa1273b0149440c9dc0e822734e6290b1
    https://github.com/scummvm/scummvm/commit/7cf1f02fa1273b0149440c9dc0e822734e6290b1
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2013-09-28T09:57:47-07:00

Commit Message:
TSAGE: Fix R2R restart game to match the original

Changed paths:
    engines/tsage/ringworld2/ringworld2_logic.cpp
    engines/tsage/ringworld2/ringworld2_logic.h
    engines/tsage/staticres.cpp
    engines/tsage/staticres.h



diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp
index 22ad350..5e4e892 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) {
diff --git a/engines/tsage/ringworld2/ringworld2_logic.h b/engines/tsage/ringworld2/ringworld2_logic.h
index a9fa0cf..aeac2fd 100644
--- a/engines/tsage/ringworld2/ringworld2_logic.h
+++ b/engines/tsage/ringworld2/ringworld2_logic.h
@@ -228,6 +228,7 @@ public:
 class Ringworld2Game: public Game {
 public:
 	virtual void start();
+	virtual void restartGame();
 	virtual void restart();
 	virtual void endGame(int resNum, int lineNum);
 
diff --git a/engines/tsage/staticres.cpp b/engines/tsage/staticres.cpp
index 2c5e8e5..662efa1 100644
--- a/engines/tsage/staticres.cpp
+++ b/engines/tsage/staticres.cpp
@@ -229,6 +229,7 @@ char const *const RESTORE_GAME = "Restore game";
 char const *const SHOW_CREDITS = "Show credits";
 char const *const PAUSE_GAME = "Pause game";
 char const *const RESUME_PLAY = "  Resume play  ";
+char const *const R2_RESTART_MSG = "Go to the beginning of game?";
 char const *const F2 = "F2";
 char const *const F3 = "F3";
 char const *const F4 = "F4";
diff --git a/engines/tsage/staticres.h b/engines/tsage/staticres.h
index b6c5d5e..7d97f28 100644
--- a/engines/tsage/staticres.h
+++ b/engines/tsage/staticres.h
@@ -182,6 +182,7 @@ extern char const *const RESTORE_GAME;
 extern char const *const SHOW_CREDITS;
 extern char const *const PAUSE_GAME;
 extern char const *const RESUME_PLAY;
+extern char const *const R2_RESTART_MSG;
 extern char const *const F2;
 extern char const *const F3;
 extern char const *const F4;






More information about the Scummvm-git-logs mailing list