diff options
author | Marisa-Chan | 2014-11-08 12:21:38 +0600 |
---|---|---|
committer | Marisa-Chan | 2014-11-08 12:21:38 +0600 |
commit | 53002dd2d067c24baaecfbc32071365bef58cfca (patch) | |
tree | 66a9fe5ee91a5c4fa2e5b12d53c6006c69ad5a4f /engines | |
parent | 0efa1bc5606c9fd984df077d55cf93a7903f5f67 (diff) | |
download | scummvm-rg350-53002dd2d067c24baaecfbc32071365bef58cfca.tar.gz scummvm-rg350-53002dd2d067c24baaecfbc32071365bef58cfca.tar.bz2 scummvm-rg350-53002dd2d067c24baaecfbc32071365bef58cfca.zip |
ZVISION: Implement action:animunload
Diffstat (limited to 'engines')
-rw-r--r-- | engines/zvision/scripting/actions.cpp | 19 | ||||
-rw-r--r-- | engines/zvision/scripting/actions.h | 2 | ||||
-rw-r--r-- | engines/zvision/scripting/scr_file_handling.cpp | 2 |
3 files changed, 22 insertions, 1 deletions
diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp index 2754a39676..8a3d17f2c5 100644 --- a/engines/zvision/scripting/actions.cpp +++ b/engines/zvision/scripting/actions.cpp @@ -440,6 +440,25 @@ bool ActionPreloadAnimation::execute() { return true; } +////////////////////////////////////////////////////////////////////////////// +// ActionUnloadAnimation +////////////////////////////////////////////////////////////////////////////// + +ActionUnloadAnimation::ActionUnloadAnimation(ZVision *engine, int32 slotkey, const Common::String &line) : + ResultAction(engine, slotkey) { + + sscanf(line.c_str(), "%u", &_key); +} + +bool ActionUnloadAnimation::execute() { + AnimationNode *nod = (AnimationNode *)_engine->getScriptManager()->getSideFX(_key); + + if (nod && nod->getType() == SideFX::SIDEFX_ANIM) + _engine->getScriptManager()->deleteSideFx(_key); + + return true; +} + ////////////////////////////////////////////////////////////////////////////// // ActionPlayAnimation diff --git a/engines/zvision/scripting/actions.h b/engines/zvision/scripting/actions.h index 6a200198b7..731105d591 100644 --- a/engines/zvision/scripting/actions.h +++ b/engines/zvision/scripting/actions.h @@ -347,6 +347,8 @@ class ActionUnloadAnimation : public ResultAction { public: ActionUnloadAnimation(ZVision *engine, int32 slotkey, const Common::String &line); bool execute(); +private: + uint32 _key; }; class ActionRandom : public ResultAction { diff --git a/engines/zvision/scripting/scr_file_handling.cpp b/engines/zvision/scripting/scr_file_handling.cpp index b16a2d9474..a2b5311666 100644 --- a/engines/zvision/scripting/scr_file_handling.cpp +++ b/engines/zvision/scripting/scr_file_handling.cpp @@ -220,7 +220,7 @@ void ScriptManager::parseResults(Common::SeekableReadStream &stream, Common::Lis } else if (act.matchString("animpreload", true)) { actionList.push_back(new ActionPreloadAnimation(_engine, slot, args)); } else if (act.matchString("animunload", true)) { - //actionList.push_back(new ActionUnloadAnimation(_engine, slot, args)); + actionList.push_back(new ActionUnloadAnimation(_engine, slot, args)); } else if (act.matchString("attenuate", true)) { actionList.push_back(new ActionAttenuate(_engine, slot, args)); } else if (act.matchString("assign", true)) { |