SHERLOCK: Fix initialization and syncing of map _overPos

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.
This commit is contained in:
Paul Gilbert 2015-06-05 22:41:53 -04:00
parent 993b7af355
commit 71604c3a46

View File

@ -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;
@ -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);
}