[Scummvm-cvs-logs] SF.net SVN: scummvm:[45876] scummvm/trunk/engines/draci

spalek at users.sourceforge.net spalek at users.sourceforge.net
Fri Nov 13 00:33:33 CET 2009


Revision: 45876
          http://scummvm.svn.sourceforge.net/scummvm/?rev=45876&view=rev
Author:   spalek
Date:     2009-11-12 23:33:22 +0000 (Thu, 12 Nov 2009)

Log Message:
-----------
Handled loading/saving from the map location

Modified Paths:
--------------
    scummvm/trunk/engines/draci/draci.cpp
    scummvm/trunk/engines/draci/game.cpp
    scummvm/trunk/engines/draci/saveload.cpp

Modified: scummvm/trunk/engines/draci/draci.cpp
===================================================================
--- scummvm/trunk/engines/draci/draci.cpp	2009-11-12 23:12:34 UTC (rev 45875)
+++ scummvm/trunk/engines/draci/draci.cpp	2009-11-12 23:33:22 UTC (rev 45876)
@@ -246,7 +246,13 @@
 				if (escRoom >= 0) {
 
 					// Schedule room change
-					// TODO: gate 0 is not always the best one for returning from the map
+					// TODO: gate 0 (always present) is not
+					// always best for returning from the
+					// map, e.g. in the starting location.
+					// also, after loading the game, we
+					// shouldn't run any gate program, but
+					// rather restore the state of all
+					// objects.
 					_game->scheduleEnteringRoomUsingGate(escRoom, 0);
 
 					// Immediately cancel any running animation or dubbing.
@@ -394,8 +400,6 @@
 	// here are now, without waiting for any other code to finish, thanks
 	// to our constraint in canLoadGameStateCurrently() and to having
 	// enterNewRoom() called right after we exit from here.
-	//
-	// TODO: Handle saving in the map room
 	return loadSavegameData(slot, this);
 }
 

Modified: scummvm/trunk/engines/draci/game.cpp
===================================================================
--- scummvm/trunk/engines/draci/game.cpp	2009-11-12 23:12:34 UTC (rev 45875)
+++ scummvm/trunk/engines/draci/game.cpp	2009-11-12 23:33:22 UTC (rev 45876)
@@ -1162,9 +1162,10 @@
 
 bool Game::enterNewRoom() {
 	if (_newRoom == getRoomNum() && !isReloaded()) {
-		// If the game has been reloaded, force reloading all animations.
+		_vm->_script->endCurrentProgram(false);
 		return true;
 	}
+	// If the game has been reloaded, force reloading all animations.
 	setIsReloaded(false);
 	debugC(1, kDraciLogicDebugLevel, "Entering room %d using gate %d", _newRoom, _newGate);
 	_vm->_mouse->cursorOff();

Modified: scummvm/trunk/engines/draci/saveload.cpp
===================================================================
--- scummvm/trunk/engines/draci/saveload.cpp	2009-11-12 23:12:34 UTC (rev 45875)
+++ scummvm/trunk/engines/draci/saveload.cpp	2009-11-12 23:33:22 UTC (rev 45876)
@@ -151,7 +151,6 @@
 
 	// Post-processing
 	vm->_game->scheduleEnteringRoomUsingGate(vm->_game->getRoomNum(), 0);
-	vm->_game->setRoomNum(vm->_game->getPreviousRoomNum());
 	vm->_game->setExitLoop(true);
 	vm->_game->setIsReloaded(true);
 


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