diff options
author | Robert Göffringmann | 2003-12-30 16:19:30 +0000 |
---|---|---|
committer | Robert Göffringmann | 2003-12-30 16:19:30 +0000 |
commit | 1567e39469f80b55d105057332d04fd0983ceace (patch) | |
tree | 9a96634976f36b3814a592a16f893411946d23a8 /sword1 | |
parent | d91b30c9336abc3640551855056635092f2f322f (diff) | |
download | scummvm-rg350-1567e39469f80b55d105057332d04fd0983ceace.tar.gz scummvm-rg350-1567e39469f80b55d105057332d04fd0983ceace.tar.bz2 scummvm-rg350-1567e39469f80b55d105057332d04fd0983ceace.zip |
fixed fnFace() and added workaround for missing animation on train roof
svn-id: r12032
Diffstat (limited to 'sword1')
-rw-r--r-- | sword1/logic.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sword1/logic.cpp b/sword1/logic.cpp index 43fcf4eb94..2ec0777589 100644 --- a/sword1/logic.cpp +++ b/sword1/logic.cpp @@ -31,6 +31,7 @@ #include "mouse.h" #include "sword1.h" #include "music.h" +#include "swordres.h" #include "debug.h" @@ -1044,6 +1045,10 @@ int SwordLogic::fnWipeHands(BsObject *cpt, int32 id, int32 c, int32 d, int32 e, int SwordLogic::fnISpeak(BsObject *cpt, int32 id, int32 cdt, int32 textNo, int32 spr, int32 f, int32 z, int32 x) { _speechClickDelay = 3; + if (((textNo & ~1) == 0x3f0012) && (!cdt) && (!spr)) { + cdt = GEOSTDLCDT; // workaround for missing animation when examining + spr = GEOSTDL; // the conductor on the train roof + } _mouse->flushEvents(); // prevent player from accidently clicking text away within first three frames cpt->o_logic = LOGIC_speech; @@ -1419,7 +1424,7 @@ int SwordLogic::fnFace(BsObject *cpt, int32 id, int32 targetId, int32 b, int32 c y = target->o_ycoord; } else { x = (target->o_mouse_x1 + target->o_mouse_x2) / 2; - y = (target->o_mouse_y1 + target->o_mouse_y2) / 2; + y = target->o_mouse_y2; } int32 megaTarDir = whatTarget(cpt->o_xcoord, cpt->o_ycoord, x, y); fnTurn(cpt, id, megaTarDir, 0, 0, 0, 0, 0); |