aboutsummaryrefslogtreecommitdiff
path: root/engines/pink/objects/actions
diff options
context:
space:
mode:
Diffstat (limited to 'engines/pink/objects/actions')
-rw-r--r--engines/pink/objects/actions/action_still.cpp2
-rw-r--r--engines/pink/objects/actions/walk_action.cpp5
-rw-r--r--engines/pink/objects/actions/walk_action.h3
3 files changed, 10 insertions, 0 deletions
diff --git a/engines/pink/objects/actions/action_still.cpp b/engines/pink/objects/actions/action_still.cpp
index 442fe85330..0af57a0fee 100644
--- a/engines/pink/objects/actions/action_still.cpp
+++ b/engines/pink/objects/actions/action_still.cpp
@@ -48,6 +48,8 @@ void ActionStill::onStart() {
for (int i = 0; i < _startFrame; ++i) {
_decoder->decodeNextFrame();
}
+ _decoder->stop();
+ _actor->endAction();
}
} // End of namespace Pink \ No newline at end of file
diff --git a/engines/pink/objects/actions/walk_action.cpp b/engines/pink/objects/actions/walk_action.cpp
index 7b7c3e39e3..9c5dac561f 100644
--- a/engines/pink/objects/actions/walk_action.cpp
+++ b/engines/pink/objects/actions/walk_action.cpp
@@ -22,6 +22,7 @@
#include "walk_action.h"
#include <engines/pink/archive.h>
+#include "pink/cel_decoder.h"
namespace Pink {
@@ -36,4 +37,8 @@ void WalkAction::toConsole() {
_name.c_str(), _fileName.c_str(), _toCalcFramePositions);
}
+void WalkAction::onStart() {
+ _decoder->start();
+}
+
} // End of namespace Pink \ No newline at end of file
diff --git a/engines/pink/objects/actions/walk_action.h b/engines/pink/objects/actions/walk_action.h
index 6dbc6a9059..f74adb8264 100644
--- a/engines/pink/objects/actions/walk_action.h
+++ b/engines/pink/objects/actions/walk_action.h
@@ -33,6 +33,9 @@ public:
virtual void toConsole();
+protected:
+ void onStart() override;
+
private:
bool _toCalcFramePositions;
};