Skip to content

Commit

Permalink
SHERLOCK: Fix initialization and syncing of map _overPos
Browse files Browse the repository at this point in the history
This won't affect existing savegames, since we don't allow saving when
the map is active anyway. This is just in case we ever allow it.
  • Loading branch information
dreammaster committed Jun 6, 2015
1 parent 993b7af commit 71604c3
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions engines/sherlock/map.cpp
Expand Up @@ -60,7 +60,7 @@ Map::Map(SherlockEngine *vm): _vm(vm), _topLine(g_system->getWidth(), 12) {
_placesShown = false;
_cursorIndex = -1;
_drawMap = false;
_overPos = Common::Point(13000, 12600);
_overPos = Point32(130 * FIXED_INT_MULTIPLIER, 126 * FIXED_INT_MULTIPLIER);
_charPoint = 0;
_oldCharPoint = 0;
_frameChangeFlag = false;
Expand Down Expand Up @@ -557,8 +557,15 @@ void Map::highlightIcon(const Common::Point &pt) {
void Map::synchronize(Common::Serializer &s) {
s.syncAsSint16LE(_bigPos.x);
s.syncAsSint16LE(_bigPos.y);
s.syncAsSint16LE(_overPos.x);
s.syncAsSint16LE(_overPos.y);

Point32 overPos(_overPos.x / FIXED_INT_MULTIPLIER, _overPos.y / FIXED_INT_MULTIPLIER);
s.syncAsSint16LE(overPos.x);
s.syncAsSint16LE(overPos.y);
if (s.isLoading()) {
_overPos.x = overPos.x * FIXED_INT_MULTIPLIER;
_overPos.y = overPos.y * FIXED_INT_MULTIPLIER;
}

s.syncAsSint16LE(_oldCharPoint);
}

Expand Down

0 comments on commit 71604c3

Please sign in to comment.