diff options
Diffstat (limited to 'engines/m4')
-rw-r--r-- | engines/m4/hotspot.cpp | 6 | ||||
-rw-r--r-- | engines/m4/mads_scene.cpp | 4 | ||||
-rw-r--r-- | engines/m4/mads_views.cpp | 2 |
3 files changed, 7 insertions, 5 deletions
diff --git a/engines/m4/hotspot.cpp b/engines/m4/hotspot.cpp index 4eec50e29d..27180c5eb8 100644 --- a/engines/m4/hotspot.cpp +++ b/engines/m4/hotspot.cpp @@ -185,9 +185,9 @@ void HotSpotList::dump() { uint32 HotSpotList::readHotSpotInteger(Common::SeekableReadStream* hotspotStream) { if (_vm->isM4()) - return hotspotStream->readUint32LE(); + return hotspotStream->readSint32LE(); else - return hotspotStream->readUint16LE(); + return hotspotStream->readSint16LE(); } void HotSpotList::loadHotSpots(Common::SeekableReadStream* hotspotStream, int hotspotCount) { @@ -196,7 +196,7 @@ void HotSpotList::loadHotSpots(Common::SeekableReadStream* hotspotStream, int ho char buffer[256]; uint32 strLength = 0; uint32 index = 0; - uint32 feetX, feetY; + int feetX, feetY; int cursorOffset = (_vm ->isM4()) ? 0 : 1; for (int i = 0; i < hotspotCount; i++) { diff --git a/engines/m4/mads_scene.cpp b/engines/m4/mads_scene.cpp index ca8460a53a..d44fa2a753 100644 --- a/engines/m4/mads_scene.cpp +++ b/engines/m4/mads_scene.cpp @@ -243,8 +243,10 @@ void MadsScene::mouseMove(int x, int y) { if (currentHotSpot != NULL) { _vm->_mouse->setCursorNum(currentHotSpot->getCursor()); + _action._selectedRow = -1; + _action._actionMode = ACTMODE_NONE; + _action._actionMode2 = ACTMODE2_4; _action._hotspotId = currentHotSpot->getIndex(); - } else { _vm->_mouse->setCursorNum(0); diff --git a/engines/m4/mads_views.cpp b/engines/m4/mads_views.cpp index 6c16e0e611..3e5f0c2ac9 100644 --- a/engines/m4/mads_views.cpp +++ b/engines/m4/mads_views.cpp @@ -299,8 +299,8 @@ void MadsAction::startAction() { _madsVm->scene()->_destPos.y = hs.getFeetY(); } _madsVm->scene()->_destFacing = hs.getFacing(); + hotspotId = -1; } - hotspotId = -1; } if (hotspotId >= 0) { |