diff options
author | Marisa-Chan | 2014-11-08 13:02:48 +0600 |
---|---|---|
committer | Marisa-Chan | 2014-11-08 13:02:48 +0600 |
commit | 44eeb4027250a2989a9e34a303383fa8533a7a84 (patch) | |
tree | 580117246e0b9f265d2bf371a51116669f9e389d | |
parent | 66d2cb46989537d80855952cff2c0be1b5d6c320 (diff) | |
download | scummvm-rg350-44eeb4027250a2989a9e34a303383fa8533a7a84.tar.gz scummvm-rg350-44eeb4027250a2989a9e34a303383fa8533a7a84.tar.bz2 scummvm-rg350-44eeb4027250a2989a9e34a303383fa8533a7a84.zip |
ZVISION: Implement action:menu_bar_enable
-rw-r--r-- | engines/zvision/core/menu.h | 4 | ||||
-rw-r--r-- | engines/zvision/scripting/actions.cpp | 13 | ||||
-rw-r--r-- | engines/zvision/scripting/actions.h | 8 | ||||
-rw-r--r-- | engines/zvision/scripting/scr_file_handling.cpp | 2 | ||||
-rw-r--r-- | engines/zvision/zvision.cpp | 5 | ||||
-rw-r--r-- | engines/zvision/zvision.h | 2 |
6 files changed, 33 insertions, 1 deletions
diff --git a/engines/zvision/core/menu.h b/engines/zvision/core/menu.h index cc802ee5f5..7e6acf325c 100644 --- a/engines/zvision/core/menu.h +++ b/engines/zvision/core/menu.h @@ -48,6 +48,10 @@ public: virtual void onMouseDown(const Common::Point &Pos) {}; virtual void onMouseUp(const Common::Point &Pos) {}; virtual void process(uint32 deltaTimeInMillis) {}; + + void setEnable(uint16 flags) { + menu_bar_flag = flags; + } protected: uint16 menu_bar_flag; ZVision *_engine; diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp index 42b71ea5cc..fbf887f779 100644 --- a/engines/zvision/scripting/actions.cpp +++ b/engines/zvision/scripting/actions.cpp @@ -374,6 +374,19 @@ bool ActionKill::execute() { return true; } +////////////////////////////////////////////////////////////////////////////// +// ActionMenuBarEnable +////////////////////////////////////////////////////////////////////////////// + +ActionMenuBarEnable::ActionMenuBarEnable(ZVision *engine, int32 slotkey, const Common::String &line) : + ResultAction(engine, slotkey) { + sscanf(line.c_str(), "%hu", &_menus); +} + +bool ActionMenuBarEnable::execute() { + _engine->menuBarEnable(_menus); + return true; +} ////////////////////////////////////////////////////////////////////////////// // ActionMusic diff --git a/engines/zvision/scripting/actions.h b/engines/zvision/scripting/actions.h index c03238571c..fed620926d 100644 --- a/engines/zvision/scripting/actions.h +++ b/engines/zvision/scripting/actions.h @@ -248,6 +248,14 @@ private: uint32 _type; }; +class ActionMenuBarEnable : public ResultAction { +public: + ActionMenuBarEnable(ZVision *engine, int32 slotkey, const Common::String &line); + bool execute(); +private: + uint16 _menus; +}; + class ActionMusic : public ResultAction { public: ActionMusic(ZVision *engine, int32 slotkey, const Common::String &line, bool global); diff --git a/engines/zvision/scripting/scr_file_handling.cpp b/engines/zvision/scripting/scr_file_handling.cpp index a4d127f6f9..ca92890b19 100644 --- a/engines/zvision/scripting/scr_file_handling.cpp +++ b/engines/zvision/scripting/scr_file_handling.cpp @@ -252,7 +252,7 @@ void ScriptManager::parseResults(Common::SeekableReadStream &stream, Common::Lis } else if (act.matchString("kill", true)) { actionList.push_back(new ActionKill(_engine, slot, args)); } else if (act.matchString("menu_bar_enable", true)) { - // TODO: Implement ActionMenuBarEnable + actionList.push_back(new ActionMenuBarEnable(_engine, slot, args)); } else if (act.matchString("music", true)) { actionList.push_back(new ActionMusic(_engine, slot, args, false)); } else if (act.matchString("pan_track", true)) { diff --git a/engines/zvision/zvision.cpp b/engines/zvision/zvision.cpp index 79f7d74a8d..4f05edaefd 100644 --- a/engines/zvision/zvision.cpp +++ b/engines/zvision/zvision.cpp @@ -454,4 +454,9 @@ void ZVision::rotateTo(int16 _toPos, int16 _time) { _clock.start(); } +void ZVision::menuBarEnable(uint16 menus) { + if (_menu) + _menu->setEnable(menus); +} + } // End of namespace ZVision diff --git a/engines/zvision/zvision.h b/engines/zvision/zvision.h index e2bde7bd9e..def9bbbdfb 100644 --- a/engines/zvision/zvision.h +++ b/engines/zvision/zvision.h @@ -185,6 +185,8 @@ public: void loadSettings(); void saveSettings(); + void menuBarEnable(uint16 menus); + private: void initialize(); void initFonts(); |