aboutsummaryrefslogtreecommitdiff
path: root/engines/m4/mads_logic.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/m4/mads_logic.cpp')
-rw-r--r--engines/m4/mads_logic.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/engines/m4/mads_logic.cpp b/engines/m4/mads_logic.cpp
index 23edf645b0..3481c58c5c 100644
--- a/engines/m4/mads_logic.cpp
+++ b/engines/m4/mads_logic.cpp
@@ -182,6 +182,7 @@ void MadsSceneLogic::initialiseDataMap() {
MAP_DATA(&_madsVm->_player._playerPos.y);
MAP_DATA(&_madsVm->_player._direction);
MAP_DATA(&_madsVm->_player._visible);
+ MAP_DATA(&_madsVm->scene()->_animActive);
}
DataMap &MadsSceneLogic::dataMap() {
@@ -537,7 +538,7 @@ void MadsSceneLogic::execute(uint32 subOffset) {
case OP_DSTORE: { // Stores data variable
param = getParam(scriptOffset, opcode);
ScriptVar v = stack.pop();
- dataMap().set(param, v.isInt() ? v : 0);
+ dataMap().set(param, v.isInt() ? v.get() : 0);
break;
}
@@ -876,8 +877,8 @@ void MadsSceneLogic::callSubroutine(int subIndex, Common::Stack<ScriptVar> &stac
case 19: {
// Action_isAction
int verbId = stack.pop();
- int objectNameId = (verbId == 0) ? 0 : stack.pop();
- int indirectObjectId = (objectNameId == 0) ? 0 : stack.pop();
+ int objectNameId = (verbId == 0) ? 0 : stack.pop().get();
+ int indirectObjectId = (objectNameId == 0) ? 0 : stack.pop().get();
stack.push(ScriptVar(_madsVm->scene()->_action.isAction(verbId, objectNameId, indirectObjectId)));
break;
@@ -928,4 +929,4 @@ void MadsSceneLogic::callSubroutine(int subIndex, Common::Stack<ScriptVar> &stac
#undef EXTRACT_PARAMS
-} \ No newline at end of file
+}