aboutsummaryrefslogtreecommitdiff
path: root/engines/m4
diff options
context:
space:
mode:
authorPaul Gilbert2010-07-29 11:41:51 +0000
committerPaul Gilbert2010-07-29 11:41:51 +0000
commit28de229b518c91f46fd03758df0fb5d7553c7c02 (patch)
tree711f8a5ba9f6a53b24100a1de0794beabe13895f /engines/m4
parentfd804eb44b3e0f952efc2ffd3c66303e4a1c882c (diff)
downloadscummvm-rg350-28de229b518c91f46fd03758df0fb5d7553c7c02.tar.gz
scummvm-rg350-28de229b518c91f46fd03758df0fb5d7553c7c02.tar.bz2
scummvm-rg350-28de229b518c91f46fd03758df0fb5d7553c7c02.zip
M4: Added further code fragments to enable player to move again
svn-id: r51462
Diffstat (limited to 'engines/m4')
-rw-r--r--engines/m4/hotspot.cpp6
-rw-r--r--engines/m4/mads_scene.cpp4
-rw-r--r--engines/m4/mads_views.cpp2
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) {