aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
Diffstat (limited to 'scumm')
-rw-r--r--scumm/actor.cpp3
-rw-r--r--scumm/actor.h4
-rw-r--r--scumm/intern.h1
-rw-r--r--scumm/script_v90he.cpp7
4 files changed, 13 insertions, 2 deletions
diff --git a/scumm/actor.cpp b/scumm/actor.cpp
index e2a3f3fa05..d3aba7f03a 100644
--- a/scumm/actor.cpp
+++ b/scumm/actor.cpp
@@ -81,12 +81,13 @@ void Actor::initActor(int mode) {
talkUnk = 0;
if (_vm->_version >= 7)
visible = false;
+ skipLimb = false;
} else if (mode == 2) {
facing = 180;
condMask = 1;
+ skipLimb = false;
}
elevation = 0;
- skipLimb = false;
width = 24;
talkColor = 15;
talkPosX = 0;
diff --git a/scumm/actor.h b/scumm/actor.h
index 8e839dc3fb..918acd5361 100644
--- a/scumm/actor.h
+++ b/scumm/actor.h
@@ -216,6 +216,10 @@ public:
animProgress = 0;
}
+ int getAnimProgress() const {
+ return animProgress;
+ }
+
int getElevation() const {
return elevation;
}
diff --git a/scumm/intern.h b/scumm/intern.h
index 28eab2b520..37bec5abcb 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -851,6 +851,7 @@ protected:
void o90_unknown3A();
void o90_unknown94();
void o90_unknown9E();
+ void o90_getActorAnimProgress();
};
class ScummEngine_v7 : public ScummEngine_v6 {
diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp
index db0da2c7e6..88664750bc 100644
--- a/scumm/script_v90he.cpp
+++ b/scumm/script_v90he.cpp
@@ -258,7 +258,7 @@ void ScummEngine_v90he::setupOpcodes() {
OPCODE(o6_getActorWidth),
OPCODE(o60_wait),
OPCODE(o6_getActorScaleX),
- OPCODE(o6_getActorAnimCounter1),
+ OPCODE(o90_getActorAnimProgress),
/* AC */
OPCODE(o80_drawWizPolygon),
OPCODE(o6_isAnyOf),
@@ -1038,4 +1038,9 @@ void ScummEngine_v90he::o90_unknown9E() {
debug(1,"o90_unknown9E stub (%d)", subOp);
}
+void ScummEngine_v90he::o90_getActorAnimProgress() {
+ Actor *a = derefActor(pop(), "o90_getActorAnimProgress");
+ push(a->getAnimProgress());
+}
+
} // End of namespace Scumm