[Scummvm-cvs-logs] SF.net SVN: scummvm:[53127] scummvm/trunk/engines/toon

sylvaintv at users.sourceforge.net sylvaintv at users.sourceforge.net
Sun Oct 10 18:52:15 CEST 2010


Revision: 53127
          http://scummvm.svn.sourceforge.net/scummvm/?rev=53127&view=rev
Author:   sylvaintv
Date:     2010-10-10 16:52:15 +0000 (Sun, 10 Oct 2010)

Log Message:
-----------
TOON: Fixed bad Flux state when restoring a game

Modified Paths:
--------------
    scummvm/trunk/engines/toon/character.cpp
    scummvm/trunk/engines/toon/toon.cpp

Modified: scummvm/trunk/engines/toon/character.cpp
===================================================================
--- scummvm/trunk/engines/toon/character.cpp	2010-10-10 16:44:09 UTC (rev 53126)
+++ scummvm/trunk/engines/toon/character.cpp	2010-10-10 16:52:15 UTC (rev 53127)
@@ -553,6 +553,8 @@
 	debugC(1, kDebugCharacter, "read(stream)");
 
 	_flags = stream->readSint32LE();
+	_flags &= ~1; // characters are not walking when restoring.
+
 	_x = stream->readSint32LE();
 	_y = stream->readSint32LE();
 	_z = stream->readSint32LE();

Modified: scummvm/trunk/engines/toon/toon.cpp
===================================================================
--- scummvm/trunk/engines/toon/toon.cpp	2010-10-10 16:44:09 UTC (rev 53126)
+++ scummvm/trunk/engines/toon/toon.cpp	2010-10-10 16:52:15 UTC (rev 53127)
@@ -2779,7 +2779,8 @@
 	for (int32 i = 0; i < state()->_locations[_gameState->_currentScene]._numSceneAnimations; i++) {
 		_sceneAnimationScripts[i]._active = loadFile->readByte();
 		_sceneAnimationScripts[i]._frozen = loadFile->readByte();
-		_sceneAnimationScripts[i]._lastTimer = loadFile->readSint32BE() + timerDiff;
+		int32 oldTimer = loadFile->readSint32BE();
+		_sceneAnimationScripts[i]._lastTimer = MAX(0,oldTimer + timerDiff);
 		_script->loadState(&_sceneAnimationScripts[i]._state, loadFile);
 	}
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list