[Scummvm-cvs-logs] SF.net SVN: scummvm:[33673] scummvm/trunk/engines/cine/main_loop.cpp

buddha_ at users.sourceforge.net buddha_ at users.sourceforge.net
Thu Aug 7 01:12:26 CEST 2008


Revision: 33673
          http://scummvm.svn.sourceforge.net/scummvm/?rev=33673&view=rev
Author:   buddha_
Date:     2008-08-06 23:12:25 +0000 (Wed, 06 Aug 2008)

Log Message:
-----------
HACK: In Operation Stealth after the first arcade sequence jump player's position to avoid getting stuck.
The player's position is changed only by *one* pixel but it helps
and makes it possible to carry on with the game (Previously the player was totally stuck).

Modified Paths:
--------------
    scummvm/trunk/engines/cine/main_loop.cpp

Modified: scummvm/trunk/engines/cine/main_loop.cpp
===================================================================
--- scummvm/trunk/engines/cine/main_loop.cpp	2008-08-06 21:47:20 UTC (rev 33672)
+++ scummvm/trunk/engines/cine/main_loop.cpp	2008-08-06 23:12:25 UTC (rev 33673)
@@ -261,6 +261,24 @@
 			}
 		}
 
+		// HACK: In Operation Stealth after the first arcade sequence jump player's position to avoid getting stuck.
+		// After the first arcade sequence the player comes up stairs from
+		// the water in Santa Paragua's downtown in front of the flower shop.
+		// Previously he was completely stuck after getting up the stairs.
+		// If the background is the one used in the flower shop scene ("21.PI1")
+		// and the player is at the exact location after getting up the stairs
+		// then we just nudge him a tiny bit away from the stairs and voila, he's free!
+		// Maybe the real problem behind all this is collision data related as it looks
+		// like there's some boundary right there near position (204, 110) which we can
+		// jump over by moving the character to (204, 109). The script handling the
+		// flower shop scene is AIRPORT.PRC's 13th script.
+		// FIXME: Remove the hack and solve what's really causing the problem in the first place.
+		if (g_cine->getGameType() == Cine::GType_OS) {
+			if (scumm_stricmp(renderer->getBgName(), "21.PI1") == 0 && objectTable[1].x == 204 && objectTable[1].y == 110) {
+				objectTable[1].y--; // Move the player character upward on-screen by one pixel
+			}
+		}
+
 		stopMusicAfterFadeOut();
 		di = executePlayerInput();
 		


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