[Scummvm-cvs-logs] scummvm master -> e9aebf0a210271cb2489332ad0c4ea13bea7542f

dreammaster dreammaster at scummvm.org
Wed Nov 2 09:44:44 CET 2011


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:
e9aebf0a21 TSAGE: Implement code for restarting the game in Blue Force


Commit: e9aebf0a210271cb2489332ad0c4ea13bea7542f
    https://github.com/scummvm/scummvm/commit/e9aebf0a210271cb2489332ad0c4ea13bea7542f
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2011-11-02T01:43:52-07:00

Commit Message:
TSAGE: Implement code for restarting the game in Blue Force

Changed paths:
    engines/tsage/blue_force/blueforce_logic.cpp
    engines/tsage/blue_force/blueforce_logic.h
    engines/tsage/blue_force/blueforce_scenes1.cpp



diff --git a/engines/tsage/blue_force/blueforce_logic.cpp b/engines/tsage/blue_force/blueforce_logic.cpp
index 7760971..6bfc746 100644
--- a/engines/tsage/blue_force/blueforce_logic.cpp
+++ b/engines/tsage/blue_force/blueforce_logic.cpp
@@ -315,6 +315,24 @@ void BlueForceGame::processEvent(Event &event) {
 	}
 }
 
+void BlueForceGame::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;
+
+	g_globals->_stripNum = 0;
+	g_globals->_events.setCursor(CURSOR_WALK);
+
+	// Change to the first game scene
+	g_globals->_sceneManager.changeScene(190);
+}
+
 /*--------------------------------------------------------------------------*/
 
 AObjectArray::AObjectArray(): EventHandler() {
diff --git a/engines/tsage/blue_force/blueforce_logic.h b/engines/tsage/blue_force/blueforce_logic.h
index 1b161bc..d0d0e0e 100644
--- a/engines/tsage/blue_force/blueforce_logic.h
+++ b/engines/tsage/blue_force/blueforce_logic.h
@@ -45,6 +45,7 @@ public:
 	virtual void processEvent(Event &event);
 	virtual bool canSaveGameStateCurrently();
 	virtual bool canLoadGameStateCurrently();
+	virtual void restart();
 };
 
 #define OBJ_ARRAY_SIZE 10
diff --git a/engines/tsage/blue_force/blueforce_scenes1.cpp b/engines/tsage/blue_force/blueforce_scenes1.cpp
index c73f3f8..c97bb20 100644
--- a/engines/tsage/blue_force/blueforce_scenes1.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes1.cpp
@@ -3220,9 +3220,11 @@ void Scene190::postInit(SceneObjectList *OwnerList) {
 			(BF_GLOBALS._sceneManager._previousScene == 20)) {
 //		clearScreen();
 	}
-	if (BF_GLOBALS._dayNumber == 0)
+	if (BF_GLOBALS._dayNumber == 0) {
 		// If at start of game, change to first day
 		BF_GLOBALS._dayNumber = 1;
+		g_globals->_sceneManager._previousScene = 100;
+	}
 
 	// Load the scene data
 	loadScene(190);






More information about the Scummvm-git-logs mailing list