tinsel: remove the ugly psx l-space workaround, and instead add a check into PlayMidi for psx version

svn-id: r40884
This commit is contained in:
Fabio Battaglia 2009-05-25 11:18:29 +00:00
parent 5e68c1f4a0
commit 43d38512f1
2 changed files with 1 additions and 16 deletions

View File

@ -978,16 +978,6 @@ 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;

View File

@ -1599,7 +1599,7 @@ static void Play(CORO_PARAM, SCNHANDLE hFilm, int x, int y, bool bComplete, int
*/
static void PlayMidi(CORO_PARAM, SCNHANDLE hMidi, int loop, bool complete) {
// FIXME: This is a workaround for the FIXME below
if (GetMidiVolume() == 0)
if (GetMidiVolume() == 0 || TinselV1PSX)
return;
CORO_BEGIN_CONTEXT;
@ -3834,11 +3834,6 @@ void Walk(CORO_PARAM, int actor, int x, int y, SCNHANDLE hFilm, int hold, bool i
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);