mirror of
https://github.com/libretro/scummvm.git
synced 2025-04-02 14:51:40 +00:00
SCUMM: Fix bug #3526089 - "SCUMM: ZAK Can't get objects in the bus on Mars"
This fixes a regression in V1/V2 games when no actor direction is set (like the Shuttle Bus scene in Zak V2). The regression was caused by commit de0b5f76749add219a6b667d5d2d69fb8a86d959. Thanks to digitall for his bisecting work, which aided a lot in finding the actual issue for this bug
This commit is contained in:
parent
c34704972e
commit
023f6f10c7
@ -433,10 +433,14 @@ void ScummEngine::getObjectXYPos(int object, int &x, int &y, int &dir) {
|
||||
y = od.y_pos + (int16)READ_LE_UINT16(&imhd->old.hotspot[state].y);
|
||||
}
|
||||
} else if (_game.version <= 2) {
|
||||
if (od.actordir) {
|
||||
x = od.walk_x;
|
||||
y = od.walk_y;
|
||||
} else {
|
||||
x = od.walk_x;
|
||||
y = od.walk_y;
|
||||
|
||||
// Adjust x, y when no actor direction is set, but only perform this
|
||||
// adjustment for V0 games (e.g. MM C64), otherwise certain scenes in
|
||||
// newer games are affected as well (e.g. the interior of the Shuttle
|
||||
// Bus scene in Zak V2, where no actor is present). Refer to bug #3526089.
|
||||
if (!od.actordir && _game.version == 0) {
|
||||
x = od.x_pos + od.width / 2;
|
||||
y = od.y_pos + od.height / 2;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user