diff options
Diffstat (limited to 'engines/simon/simon.cpp')
-rw-r--r-- | engines/simon/simon.cpp | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/engines/simon/simon.cpp b/engines/simon/simon.cpp index e26adc499b..6518ac9dd4 100644 --- a/engines/simon/simon.cpp +++ b/engines/simon/simon.cpp @@ -2941,55 +2941,6 @@ uint SimonEngine::itemPtrToID(Item *id) { return 0; } -void SimonEngine::o_pathfind(int x, int y, uint var_1, uint var_2) { - const uint16 *p; - uint i, j; - uint prev_i; - uint x_diff, y_diff; - uint best_i = 0, best_j = 0, best_dist = 0xFFFFFFFF; - - if (getGameType() == GType_FF) { - x += _scrollX; - y += _scrollY; - } - - if (getGameType() == GType_SIMON2) { - x += _scrollX * 8; - } - - int end = (getGameType() == GType_FF) ? 9999 : 999; - prev_i = 21 - _variableArray[12]; - for (i = 20; i != 0; --i) { - p = (const uint16 *)_pathFindArray[20 - i]; - if (!p) - continue; - for (j = 0; readUint16Wrapper(&p[0]) != end; j++, p += 2) { - x_diff = abs((int)(readUint16Wrapper(&p[0]) - x)); - y_diff = abs((int)(readUint16Wrapper(&p[1]) - 12 - y)); - - if (x_diff < y_diff) { - x_diff /= 4; - y_diff *= 4; - } - x_diff += y_diff /= 4; - - if (x_diff < best_dist || x_diff == best_dist && prev_i == i) { - best_dist = x_diff; - best_i = 21 - i; - best_j = j; - } - } - } - - if (getGameType() == GType_FF && getBitFlag(83)) { - _variableArray[var_1] = best_i; - _variableArray[var_2] = best_j; - } else { - _variableArray[var_1] = best_i; - _variableArray[var_2] = best_j; - } -} - void SimonEngine::delete_hitarea_by_index(uint index) { CHECK_BOUNDS(index, _hitAreas); _hitAreas[index].flags = 0; |