aboutsummaryrefslogtreecommitdiff
path: root/engines/tinsel/play.cpp
diff options
context:
space:
mode:
authorFabio Battaglia2009-05-25 11:01:33 +0000
committerFabio Battaglia2009-05-25 11:01:33 +0000
commitffcf4173f3d0e079f458f140fdb241b347a93af6 (patch)
treececf61a78d460414f87a1dbbf708454978f1e152 /engines/tinsel/play.cpp
parent409c5e0a7eaf8cbca35ca4516e744ab17f237522 (diff)
downloadscummvm-rg350-ffcf4173f3d0e079f458f140fdb241b347a93af6.tar.gz
scummvm-rg350-ffcf4173f3d0e079f458f140fdb241b347a93af6.tar.bz2
scummvm-rg350-ffcf4173f3d0e079f458f140fdb241b347a93af6.zip
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
svn-id: r40882
Diffstat (limited to 'engines/tinsel/play.cpp')
-rw-r--r--engines/tinsel/play.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/engines/tinsel/play.cpp b/engines/tinsel/play.cpp
index 90709f6d31..f87ed9c334 100644
--- a/engines/tinsel/play.cpp
+++ b/engines/tinsel/play.cpp
@@ -978,6 +978,16 @@ void PlayFilm(CORO_PARAM, SCNHANDLE hFilm, int x, int y, int actorid, bool splay
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;