diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/zvision/graphics/render_manager.cpp | 5 | ||||
-rw-r--r-- | engines/zvision/graphics/render_manager.h | 2 | ||||
-rw-r--r-- | engines/zvision/scripting/actions.cpp | 14 | ||||
-rw-r--r-- | engines/zvision/scripting/scr_file_handling.cpp | 2 |
4 files changed, 22 insertions, 1 deletions
diff --git a/engines/zvision/graphics/render_manager.cpp b/engines/zvision/graphics/render_manager.cpp index 4d5bcf754b..8411f190a7 100644 --- a/engines/zvision/graphics/render_manager.cpp +++ b/engines/zvision/graphics/render_manager.cpp @@ -1053,4 +1053,9 @@ void RenderManager::markDirty() { _bkgDirtyRect = Common::Rect(_bkgWidth, _bkgHeight); } +void RenderManager::bkgFill(uint8 r, uint8 g, uint8 b) { + _curBkg.fillRect(Common::Rect(_curBkg.w, _curBkg.h), _curBkg.format.RGBToColor(r, g, b)); + markDirty(); +} + } // End of namespace ZVision diff --git a/engines/zvision/graphics/render_manager.h b/engines/zvision/graphics/render_manager.h index e0fc5c248c..ae24ce4f58 100644 --- a/engines/zvision/graphics/render_manager.h +++ b/engines/zvision/graphics/render_manager.h @@ -283,6 +283,8 @@ public: Common::Rect bkgRectToScreen(const Common::Rect &src); void markDirty(); + + void bkgFill(uint8 r, uint8 g, uint8 b); }; } // End of namespace ZVision diff --git a/engines/zvision/scripting/actions.cpp b/engines/zvision/scripting/actions.cpp index 33add9f8fa..96411e2c3d 100644 --- a/engines/zvision/scripting/actions.cpp +++ b/engines/zvision/scripting/actions.cpp @@ -222,6 +222,20 @@ bool ActionDisplayMessage::execute() { } ////////////////////////////////////////////////////////////////////////////// +// ActionDissolve +////////////////////////////////////////////////////////////////////////////// + +ActionDissolve::ActionDissolve(ZVision *engine) : + ResultAction(engine, 0) { +} + +bool ActionDissolve::execute() { + // Cause black screen flick + // _engine->getRenderManager()->bkgFill(0, 0, 0); + return true; +} + +////////////////////////////////////////////////////////////////////////////// // ActionDistort ////////////////////////////////////////////////////////////////////////////// diff --git a/engines/zvision/scripting/scr_file_handling.cpp b/engines/zvision/scripting/scr_file_handling.cpp index c7268e6111..daec4f8f18 100644 --- a/engines/zvision/scripting/scr_file_handling.cpp +++ b/engines/zvision/scripting/scr_file_handling.cpp @@ -240,7 +240,7 @@ void ScriptManager::parseResults(Common::SeekableReadStream &stream, Common::Lis } else if (act.matchString("display_message", true)) { actionList.push_back(new ActionDisplayMessage(_engine, slot, args)); } else if (act.matchString("dissolve", true)) { - // TODO: Implement ActionDissolve + actionList.push_back(new ActionDissolve(_engine)); } else if (act.matchString("distort", true)) { actionList.push_back(new ActionDistort(_engine, slot, args)); } else if (act.matchString("enable_control", true)) { |