[Scummvm-cvs-logs] SF.net SVN: scummvm:[40882] scummvm/trunk/engines/tinsel
Hkz at users.sourceforge.net
Hkz at users.sourceforge.net
Mon May 25 13:01:33 CEST 2009
Revision: 40882
http://scummvm.svn.sourceforge.net/scummvm/?rev=40882&view=rev
Author: Hkz
Date: 2009-05-25 11:01:33 +0000 (Mon, 25 May 2009)
Log Message:
-----------
tinsel: add PSX specific code to workaround the thief bug in past ankh-morpork, i still have to give a better look at this though
Modified Paths:
--------------
scummvm/trunk/engines/tinsel/play.cpp
scummvm/trunk/engines/tinsel/tinlib.cpp
Modified: scummvm/trunk/engines/tinsel/play.cpp
===================================================================
--- scummvm/trunk/engines/tinsel/play.cpp 2009-05-25 10:32:36 UTC (rev 40881)
+++ scummvm/trunk/engines/tinsel/play.cpp 2009-05-25 11:01:33 UTC (rev 40882)
@@ -978,6 +978,16 @@
CORO_BEGIN_CODE(_ctx);
+ // FIXME: (PSX_THIEF_BUG) this fixes a (script?) bug in Discworld PSX:
+ // If the player follows immediately the thief that steals the evocation book
+ // from the "past" unseen university, the stack seems to get loaded with wrong
+ // values and the game crashes when going into past-ankh map, if instead the
+ // player interacts with other objects or goes back to L-space, the past-ankh
+ // map works perfectly.
+ // This is just a workaround.
+ if (TinselV1PSX && hFilm == 4 && actorid == 77)
+ return;
+
pFilm = (const FILM *)LockMem(hFilm);
PPINIT ppi;
Modified: scummvm/trunk/engines/tinsel/tinlib.cpp
===================================================================
--- scummvm/trunk/engines/tinsel/tinlib.cpp 2009-05-25 10:32:36 UTC (rev 40881)
+++ scummvm/trunk/engines/tinsel/tinlib.cpp 2009-05-25 11:01:33 UTC (rev 40882)
@@ -3833,6 +3833,12 @@
bool bQuick = hold != 0;
PMOVER pMover = GetMover(actor);
+
+ // FIXME: This is part of the workaround for PSX_THIEF_BUG,
+ // See the other code and description in PlayFilm() (play.cpp)
+ if (TinselV1PSX && actor == 77 && hFilm == 0)
+ return;
+
assert(pMover); // Can't walk a non-moving actor
CORO_BEGIN_CODE(_ctx);
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