aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Kiehl2002-11-02 09:23:30 +0000
committerOliver Kiehl2002-11-02 09:23:30 +0000
commit130d898c7f250f938675b3380b5f301ff4004a2e (patch)
tree75c95b81df7ff75b75cc16f1c12594debcd83e22
parent1c975ba92ed9bec19de6f2652888aa1df9808a94 (diff)
downloadscummvm-rg350-130d898c7f250f938675b3380b5f301ff4004a2e.tar.gz
scummvm-rg350-130d898c7f250f938675b3380b5f301ff4004a2e.tar.bz2
scummvm-rg350-130d898c7f250f938675b3380b5f301ff4004a2e.zip
Ludde's fix for simon2 movement problem
svn-id: r5374
-rw-r--r--simon/simon.cpp2
-rw-r--r--simon/verb.cpp14
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 {