From 130d898c7f250f938675b3380b5f301ff4004a2e Mon Sep 17 00:00:00 2001 From: Oliver Kiehl Date: Sat, 2 Nov 2002 09:23:30 +0000 Subject: Ludde's fix for simon2 movement problem svn-id: r5374 --- simon/simon.cpp | 2 -- simon/verb.cpp | 14 +++++++------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/simon/simon.cpp b/simon/simon.cpp index 33736906d2..0a214223a9 100644 --- a/simon/simon.cpp +++ b/simon/simon.cpp @@ -2883,8 +2883,6 @@ void SimonState::o_pathfind(int x, int y, uint var_1, uint var_2) uint x_diff, y_diff; uint best_i = 0, best_j = 0, best_dist = 0xFFFFFFFF; -/* FIXME */ -/* Causes movement problems in Simon 2 games, often unable to move left */ if (_game & GAME_SIMON2) { x += _x_scroll * 8; } diff --git a/simon/verb.cpp b/simon/verb.cpp index 563089a454..f9785adcd5 100644 --- a/simon/verb.cpp +++ b/simon/verb.cpp @@ -319,19 +319,19 @@ void SimonState::handle_unk_hitarea(FillOrCopyStruct *fcs) void SimonState::setup_hitarea_from_pos(uint x, uint y, uint mode) { - if (_game & GAME_SIMON2) { - if (_bit_array[4] & 0x8000 || y < 134) { - x += _x_scroll * 8; - } - } - HitArea *best_ha; HitArea *ha = _hit_areas; uint count = ARRAYSIZE(_hit_areas); uint16 layer = 0; - const uint16 x_ = x; + uint16 x_ = x; const uint16 y_ = y; + if (_game & GAME_SIMON2) { + if (_bit_array[4] & 0x8000 || y < 134) { + x += _x_scroll * 8; + } + } + best_ha = NULL; do { -- cgit v1.2.3