From ace0e5e88f63f34dad94962c95f57f3ec42258ae Mon Sep 17 00:00:00 2001 From: Marisa-Chan Date: Sat, 14 Jun 2014 15:18:24 +0700 Subject: ZVISION: Fix compilation errors with latest scummvm --- engines/zvision/scripting/controls/lever_control.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'engines/zvision/scripting/controls/lever_control.cpp') diff --git a/engines/zvision/scripting/controls/lever_control.cpp b/engines/zvision/scripting/controls/lever_control.cpp index f68f256229..121fab97e1 100644 --- a/engines/zvision/scripting/controls/lever_control.cpp +++ b/engines/zvision/scripting/controls/lever_control.cpp @@ -22,14 +22,14 @@ #include "common/scummsys.h" -#include "zvision/lever_control.h" +#include "zvision/scripting/controls/lever_control.h" #include "zvision/zvision.h" -#include "zvision/script_manager.h" -#include "zvision/render_manager.h" -#include "zvision/cursor_manager.h" +#include "zvision/scripting/script_manager.h" +#include "zvision/graphics/render_manager.h" +#include "zvision/cursors/cursor_manager.h" #include "zvision/meta_animation.h" -#include "zvision/utility.h" +#include "zvision/utility/utility.h" #include "common/stream.h" #include "common/file.h" -- cgit v1.2.3 From 23c1b508611d5fa4e7dfc47f8f5ec10a7de177e3 Mon Sep 17 00:00:00 2001 From: Marisa-Chan Date: Wed, 2 Jul 2014 19:50:55 +0000 Subject: ZVISION: Reorgonize source files into directories. --- engines/zvision/scripting/controls/lever_control.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'engines/zvision/scripting/controls/lever_control.cpp') diff --git a/engines/zvision/scripting/controls/lever_control.cpp b/engines/zvision/scripting/controls/lever_control.cpp index 121fab97e1..7e3ee775fb 100644 --- a/engines/zvision/scripting/controls/lever_control.cpp +++ b/engines/zvision/scripting/controls/lever_control.cpp @@ -28,7 +28,7 @@ #include "zvision/scripting/script_manager.h" #include "zvision/graphics/render_manager.h" #include "zvision/cursors/cursor_manager.h" -#include "zvision/meta_animation.h" +#include "zvision/animation/meta_animation.h" #include "zvision/utility/utility.h" #include "common/stream.h" -- cgit v1.2.3 From 57857a1d768fc9b226326efe2294f73e847c816e Mon Sep 17 00:00:00 2001 From: Marisa-Chan Date: Sat, 12 Jul 2014 21:35:50 +0000 Subject: ZVISION: Controls now can return type of control. --- engines/zvision/scripting/controls/lever_control.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'engines/zvision/scripting/controls/lever_control.cpp') diff --git a/engines/zvision/scripting/controls/lever_control.cpp b/engines/zvision/scripting/controls/lever_control.cpp index 7e3ee775fb..87fbb433dd 100644 --- a/engines/zvision/scripting/controls/lever_control.cpp +++ b/engines/zvision/scripting/controls/lever_control.cpp @@ -42,7 +42,7 @@ namespace ZVision { LeverControl::LeverControl(ZVision *engine, uint32 key, Common::SeekableReadStream &stream) - : Control(engine, key), + : Control(engine, key, CONTROL_LEVER), _frameInfo(0), _frameCount(0), _startFrame(0), -- cgit v1.2.3 From 78552afdae3b7b27845d7ea4d2c2638fa3182333 Mon Sep 17 00:00:00 2001 From: Marisa-Chan Date: Tue, 9 Sep 2014 12:31:11 +0700 Subject: ZVISION: Check .avi and .rlf suffix only in MetaAnimation. --- engines/zvision/scripting/controls/lever_control.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'engines/zvision/scripting/controls/lever_control.cpp') diff --git a/engines/zvision/scripting/controls/lever_control.cpp b/engines/zvision/scripting/controls/lever_control.cpp index 87fbb433dd..8072079435 100644 --- a/engines/zvision/scripting/controls/lever_control.cpp +++ b/engines/zvision/scripting/controls/lever_control.cpp @@ -104,8 +104,7 @@ void LeverControl::parseLevFile(const Common::String &fileName) { Common::String animationFileName(fileNameBuffer); - if (animationFileName.hasSuffix(".avi") || animationFileName.hasSuffix(".rlf")) - _animation = new MetaAnimation(animationFileName, _engine); + _animation = new MetaAnimation(animationFileName, _engine); } else if (line.matchString("*skipcolor*", true)) { // Not used -- cgit v1.2.3 From ac74070af1d09cb9eb319b50716d2c3ee272c2a9 Mon Sep 17 00:00:00 2001 From: Marisa-Chan Date: Fri, 10 Oct 2014 16:49:38 +0700 Subject: ZVISION: Lever blitter must scale image to rect --- engines/zvision/scripting/controls/lever_control.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'engines/zvision/scripting/controls/lever_control.cpp') diff --git a/engines/zvision/scripting/controls/lever_control.cpp b/engines/zvision/scripting/controls/lever_control.cpp index 8072079435..84cd6fa598 100644 --- a/engines/zvision/scripting/controls/lever_control.cpp +++ b/engines/zvision/scripting/controls/lever_control.cpp @@ -370,12 +370,10 @@ void LeverControl::renderFrame(uint frameNumber) { } const Graphics::Surface *frameData; - int x = _animationCoords.left; - int y = _animationCoords.top; frameData = _animation->getFrameData(frameNumber); if (frameData) - _engine->getRenderManager()->blitSurfaceToBkg(*frameData, x, y); + _engine->getRenderManager()->blitSurfaceToBkgScaled(*frameData, _animationCoords); } } // End of namespace ZVision -- cgit v1.2.3 From e970d121ff1acbe426e652a4ac17deebaf351821 Mon Sep 17 00:00:00 2001 From: Marisa-Chan Date: Wed, 12 Nov 2014 16:05:48 +0600 Subject: ZVISION: Lead code of all controls to the same style --- .../zvision/scripting/controls/lever_control.cpp | 82 ++++++++++++++-------- 1 file changed, 54 insertions(+), 28 deletions(-) (limited to 'engines/zvision/scripting/controls/lever_control.cpp') diff --git a/engines/zvision/scripting/controls/lever_control.cpp b/engines/zvision/scripting/controls/lever_control.cpp index 84cd6fa598..9b665ff033 100644 --- a/engines/zvision/scripting/controls/lever_control.cpp +++ b/engines/zvision/scripting/controls/lever_control.cpp @@ -57,21 +57,26 @@ LeverControl::LeverControl(ZVision *engine, uint32 key, Common::SeekableReadStre Common::String line = stream.readLine(); trimCommentsAndWhiteSpace(&line); + Common::String param; + Common::String values; + getParams(line, param, values); + while (!stream.eos() && !line.contains('}')) { - if (line.matchString("*descfile*", true)) { + if (param.matchString("descfile", true)) { char levFileName[25]; - sscanf(line.c_str(), "%*[^(](%25[^)])", levFileName); + sscanf(values.c_str(), "%25s", levFileName); parseLevFile(levFileName); - } else if (line.matchString("*cursor*", true)) { + } else if (param.matchString("cursor", true)) { char cursorName[25]; - sscanf(line.c_str(), "%*[^(](%25[^)])", cursorName); + sscanf(values.c_str(), "%25s", cursorName); - _cursorName = Common::String(cursorName); + _cursor = _engine->getCursorManager()->getCursorId(Common::String(cursorName)); } line = stream.readLine(); trimCommentsAndWhiteSpace(&line); + getParams(line, param, values); } renderFrame(_currentFrame); @@ -92,50 +97,47 @@ void LeverControl::parseLevFile(const Common::String &fileName) { } Common::String line; + Common::String param; + Common::String values; while (!file.eos()) { line = file.readLine(); + getLevParams(line, param, values); - if (line.matchString("*animation_id*", true)) { + if (param.matchString("animation_id", true)) { // Not used - } else if (line.matchString("*filename*", true)) { - char fileNameBuffer[25]; - sscanf(line.c_str(), "%*[^:]:%25[^~]~", fileNameBuffer); - - Common::String animationFileName(fileNameBuffer); - - _animation = new MetaAnimation(animationFileName, _engine); - - } else if (line.matchString("*skipcolor*", true)) { + } else if (param.matchString("filename", true)) { + _animation = new MetaAnimation(values, _engine); + } else if (param.matchString("skipcolor", true)) { // Not used - } else if (line.matchString("*anim_coords*", true)) { + } else if (param.matchString("anim_coords", true)) { int left, top, right, bottom; - sscanf(line.c_str(), "%*[^:]:%d %d %d %d~", &left, &top, &right, &bottom); + sscanf(values.c_str(), "%d %d %d %d", &left, &top, &right, &bottom); _animationCoords.left = left; _animationCoords.top = top; _animationCoords.right = right; _animationCoords.bottom = bottom; - } else if (line.matchString("*mirrored*", true)) { + } else if (param.matchString("mirrored", true)) { uint mirrored; - sscanf(line.c_str(), "%*[^:]:%u~", &mirrored); + sscanf(values.c_str(), "%u", &mirrored); _mirrored = mirrored == 0 ? false : true; - } else if (line.matchString("*frames*", true)) { - sscanf(line.c_str(), "%*[^:]:%u~", &_frameCount); + } else if (param.matchString("frames", true)) { + sscanf(values.c_str(), "%u", &_frameCount); _frameInfo = new FrameInfo[_frameCount]; - } else if (line.matchString("*elsewhere*", true)) { + } else if (param.matchString("elsewhere", true)) { // Not used - } else if (line.matchString("*out_of_control*", true)) { + } else if (param.matchString("out_of_control", true)) { // Not used - } else if (line.matchString("*start_pos*", true)) { - sscanf(line.c_str(), "%*[^:]:%u~", &_startFrame); + } else if (param.matchString("start_pos", true)) { + sscanf(values.c_str(), "%u", &_startFrame); _currentFrame = _startFrame; - } else if (line.matchString("*hotspot_deltas*", true)) { + } else if (param.matchString("hotspot_deltas", true)) { uint x; uint y; - sscanf(line.c_str(), "%*[^:]:%u %u~", &x, &y); + sscanf(values.c_str(), "%u %u", &x, &y); _hotspotDelta.x = x; _hotspotDelta.y = y; @@ -233,7 +235,7 @@ bool LeverControl::onMouseMove(const Common::Point &screenSpacePos, const Common } } } else if (_frameInfo[_currentFrame].hotspot.contains(backgroundImageSpacePos)) { - _engine->getCursorManager()->changeCursor(_engine->getCursorManager()->getCursorId(_cursorName)); + _engine->getCursorManager()->changeCursor(_cursor); cursorWasChanged = true; } @@ -376,4 +378,28 @@ void LeverControl::renderFrame(uint frameNumber) { _engine->getRenderManager()->blitSurfaceToBkgScaled(*frameData, _animationCoords); } +void LeverControl::getLevParams(const Common::String &input_str, Common::String ¶meter, Common::String &values) { + const char *chrs = input_str.c_str(); + uint lbr; + + for (lbr = 0; lbr < input_str.size(); lbr++) + if (chrs[lbr] == ':') + break; + + if (lbr >= input_str.size()) + return; + + uint rbr; + + for (rbr = lbr + 1; rbr < input_str.size(); rbr++) + if (chrs[rbr] == '~') + break; + + if (rbr >= input_str.size()) + return; + + parameter = Common::String(chrs, chrs + lbr); + values = Common::String(chrs + lbr + 1, chrs + rbr); +} + } // End of namespace ZVision -- cgit v1.2.3 From d5f7a1dc03f2a38774ad1c8dd6741bb9c6fb9848 Mon Sep 17 00:00:00 2001 From: Marisa-Chan Date: Thu, 20 Nov 2014 14:02:08 +0600 Subject: ZVISION: Implement forgotten setVenus for controls --- engines/zvision/scripting/controls/lever_control.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'engines/zvision/scripting/controls/lever_control.cpp') diff --git a/engines/zvision/scripting/controls/lever_control.cpp b/engines/zvision/scripting/controls/lever_control.cpp index 9b665ff033..a9836b388e 100644 --- a/engines/zvision/scripting/controls/lever_control.cpp +++ b/engines/zvision/scripting/controls/lever_control.cpp @@ -141,6 +141,8 @@ void LeverControl::parseLevFile(const Common::String &fileName) { _hotspotDelta.x = x; _hotspotDelta.y = y; + } else if (param.matchString("venus_id", true)) { + _venus_id = atoi(values.c_str()); } else { uint frameNumber; uint x, y; @@ -191,6 +193,7 @@ bool LeverControl::onMouseDown(const Common::Point &screenSpacePos, const Common return false; if (_frameInfo[_currentFrame].hotspot.contains(backgroundImageSpacePos)) { + setVenus(); _mouseIsCaptured = true; _lastMousePos = backgroundImageSpacePos; } -- cgit v1.2.3 From 5b352da304931bafcfcddbe08461488335c7ad57 Mon Sep 17 00:00:00 2001 From: Marisa-Chan Date: Thu, 20 Nov 2014 14:48:24 +0600 Subject: ZVISION: More CamelCase and a bit of comments cleanup --- engines/zvision/scripting/controls/lever_control.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'engines/zvision/scripting/controls/lever_control.cpp') diff --git a/engines/zvision/scripting/controls/lever_control.cpp b/engines/zvision/scripting/controls/lever_control.cpp index a9836b388e..1f176ef9d0 100644 --- a/engines/zvision/scripting/controls/lever_control.cpp +++ b/engines/zvision/scripting/controls/lever_control.cpp @@ -142,7 +142,7 @@ void LeverControl::parseLevFile(const Common::String &fileName) { _hotspotDelta.x = x; _hotspotDelta.y = y; } else if (param.matchString("venus_id", true)) { - _venus_id = atoi(values.c_str()); + _venusId = atoi(values.c_str()); } else { uint frameNumber; uint x, y; @@ -381,24 +381,24 @@ void LeverControl::renderFrame(uint frameNumber) { _engine->getRenderManager()->blitSurfaceToBkgScaled(*frameData, _animationCoords); } -void LeverControl::getLevParams(const Common::String &input_str, Common::String ¶meter, Common::String &values) { - const char *chrs = input_str.c_str(); +void LeverControl::getLevParams(const Common::String &inputStr, Common::String ¶meter, Common::String &values) { + const char *chrs = inputStr.c_str(); uint lbr; - for (lbr = 0; lbr < input_str.size(); lbr++) + for (lbr = 0; lbr < inputStr.size(); lbr++) if (chrs[lbr] == ':') break; - if (lbr >= input_str.size()) + if (lbr >= inputStr.size()) return; uint rbr; - for (rbr = lbr + 1; rbr < input_str.size(); rbr++) + for (rbr = lbr + 1; rbr < inputStr.size(); rbr++) if (chrs[rbr] == '~') break; - if (rbr >= input_str.size()) + if (rbr >= inputStr.size()) return; parameter = Common::String(chrs, chrs + lbr); -- cgit v1.2.3