[Scummvm-cvs-logs] scummvm master -> 1c5bb23f02264d91130e6dbc894a03658effdf05

dreammaster dreammaster at scummvm.org
Sat Jun 13 17:48:15 CEST 2015


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:
1c5bb23f02 SHERLOCK: RT: Reset _runningProlog when loading a savegame


Commit: 1c5bb23f02264d91130e6dbc894a03658effdf05
    https://github.com/scummvm/scummvm/commit/1c5bb23f02264d91130e6dbc894a03658effdf05
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2015-06-13T11:47:17-04:00

Commit Message:
SHERLOCK: RT: Reset _runningProlog when loading a savegame

Changed paths:
    engines/sherlock/scene.h
    engines/sherlock/tattoo/tattoo_scene.cpp
    engines/sherlock/tattoo/tattoo_scene.h



diff --git a/engines/sherlock/scene.h b/engines/sherlock/scene.h
index 0fd3483..2cf8b80 100644
--- a/engines/sherlock/scene.h
+++ b/engines/sherlock/scene.h
@@ -289,7 +289,7 @@ public:
 	/**
 	 * Synchronize the data for a savegame
 	 */
-	void synchronize(Serializer &s);
+	virtual void synchronize(Serializer &s);
 public:
 	/**
 	 * Draw all objects and characters.
diff --git a/engines/sherlock/tattoo/tattoo_scene.cpp b/engines/sherlock/tattoo/tattoo_scene.cpp
index 31d497d..3d4053f 100644
--- a/engines/sherlock/tattoo/tattoo_scene.cpp
+++ b/engines/sherlock/tattoo/tattoo_scene.cpp
@@ -59,12 +59,20 @@ TattooScene::TattooScene(SherlockEngine *vm) : Scene(vm) {
 }
 
 bool TattooScene::loadScene(const Common::String &filename) {
+	TattooEngine &vm = *(TattooEngine *)_vm;
+	Events &events = *_vm->_events;
 	Music &music = *_vm->_music;
 	Sound &sound = *_vm->_sound;
 	Talk &talk = *_vm->_talk;
-
 	TattooUserInterface &ui = *(TattooUserInterface *)_vm->_ui;
 
+	// If we're going to the first game scene after the intro sequence, flag it as finished
+	if (vm._runningProlog && _currentScene == STARTING_GAME_SCENE) {
+		vm._runningProlog = false;
+		events.showCursor();
+		talk._talkToAbort = false;
+	}
+
 	// Check if it's a scene we need to keep trakc track of how many times we've visited
 	for (int idx = (int)_sceneTripCounters.size() - 1; idx >= 0; --idx) {
 		if (_sceneTripCounters[idx]._sceneNumber == _currentScene) {
@@ -949,6 +957,14 @@ void TattooScene::setNPCPath(int npc) {
 	talk.talkTo(pathFile);
 }
 
+void TattooScene::synchronize(Serializer &s) {
+	TattooEngine &vm = *(TattooEngine *)_vm;
+	Scene::synchronize(s);
+
+	if (s.isLoading())
+		vm._runningProlog = false;
+}
+
 } // End of namespace Tattoo
 
 } // End of namespace Sherlock
diff --git a/engines/sherlock/tattoo/tattoo_scene.h b/engines/sherlock/tattoo/tattoo_scene.h
index ed5f46a..8dab675 100644
--- a/engines/sherlock/tattoo/tattoo_scene.h
+++ b/engines/sherlock/tattoo/tattoo_scene.h
@@ -109,6 +109,11 @@ protected:
 	 * Called by loadScene when the palette is loaded for Rose Tattoo
 	 */
 	virtual void paletteLoaded();
+
+	/**
+	 * Synchronize the data for a savegame
+	 */
+	virtual void synchronize(Serializer &s);
 public:
 	ImageFile *_mask, *_mask1;
 	CAnimStream _activeCAnim;






More information about the Scummvm-git-logs mailing list