aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarisa-Chan2014-11-20 14:02:08 +0600
committerMarisa-Chan2014-11-20 14:02:08 +0600
commitd5f7a1dc03f2a38774ad1c8dd6741bb9c6fb9848 (patch)
tree6007853460b6b2f7b254a34ddfc03a1bffc80534
parent03d33e82bc15100584bec38cfa3d877a4882bcab (diff)
downloadscummvm-rg350-d5f7a1dc03f2a38774ad1c8dd6741bb9c6fb9848.tar.gz
scummvm-rg350-d5f7a1dc03f2a38774ad1c8dd6741bb9c6fb9848.tar.bz2
scummvm-rg350-d5f7a1dc03f2a38774ad1c8dd6741bb9c6fb9848.zip
ZVISION: Implement forgotten setVenus for controls
-rw-r--r--engines/zvision/scripting/control.cpp7
-rw-r--r--engines/zvision/scripting/control.h4
-rw-r--r--engines/zvision/scripting/controls/fist_control.cpp4
-rw-r--r--engines/zvision/scripting/controls/hotmov_control.cpp1
-rw-r--r--engines/zvision/scripting/controls/input_control.cpp7
-rw-r--r--engines/zvision/scripting/controls/lever_control.cpp3
-rw-r--r--engines/zvision/scripting/controls/paint_control.cpp1
-rw-r--r--engines/zvision/scripting/controls/push_toggle_control.cpp6
-rw-r--r--engines/zvision/scripting/controls/safe_control.cpp1
-rw-r--r--engines/zvision/scripting/controls/slot_control.cpp2
10 files changed, 27 insertions, 9 deletions
diff --git a/engines/zvision/scripting/control.cpp b/engines/zvision/scripting/control.cpp
index c746f00831..9c8156961c 100644
--- a/engines/zvision/scripting/control.cpp
+++ b/engines/zvision/scripting/control.cpp
@@ -23,6 +23,7 @@
#include "common/scummsys.h"
#include "zvision/scripting/control.h"
+#include "zvision/scripting/script_manager.h"
#include "zvision/zvision.h"
#include "zvision/graphics/render_manager.h"
@@ -129,4 +130,10 @@ void Control::getParams(const Common::String &input_str, Common::String &paramet
values = Common::String(chrs + lbr + 1, chrs + rbr);
}
+void Control::setVenus() {
+ if (_venus_id >= 0)
+ if (_engine->getScriptManager()->getStateValue(_venus_id) > 0)
+ _engine->getScriptManager()->setStateValue(StateKey_Venus, _venus_id);
+}
+
} // End of namespace ZVision
diff --git a/engines/zvision/scripting/control.h b/engines/zvision/scripting/control.h
index 28c7348d98..b784a66913 100644
--- a/engines/zvision/scripting/control.h
+++ b/engines/zvision/scripting/control.h
@@ -54,8 +54,7 @@ public:
CONTROL_PAINT
};
- Control() : _engine(0), _key(0) {}
- Control(ZVision *engine, uint32 key, ControlType type) : _engine(engine), _key(key), _type(type) {}
+ Control(ZVision *engine, uint32 key, ControlType type) : _engine(engine), _key(key), _type(type), _venus_id(-1) {}
virtual ~Control() {}
uint32 getKey() {
@@ -121,6 +120,7 @@ public:
virtual bool process(uint32 deltaTimeInMillis) {
return false;
}
+ void setVenus();
protected:
ZVision *_engine;
diff --git a/engines/zvision/scripting/controls/fist_control.cpp b/engines/zvision/scripting/controls/fist_control.cpp
index 4779c5db74..185bea09d2 100644
--- a/engines/zvision/scripting/controls/fist_control.cpp
+++ b/engines/zvision/scripting/controls/fist_control.cpp
@@ -155,7 +155,7 @@ bool FistControl::onMouseUp(const Common::Point &screenSpacePos, const Common::P
int n_fist = mouseIn(screenSpacePos, backgroundImageSpacePos);
if (n_fist >= 0) {
- //ctrl_setvenus(ct);
+ setVenus();
uint32 oldStatus = _fiststatus;
_fiststatus ^= (1 << n_fist);
@@ -172,8 +172,6 @@ bool FistControl::onMouseUp(const Common::Point &screenSpacePos, const Common::P
}
_engine->getScriptManager()->setStateValue(_key, _fiststatus);
-
- //_engine->getScriptManager()->FlushMouseBtn(SDL_BUTTON_LEFT);
}
return false;
diff --git a/engines/zvision/scripting/controls/hotmov_control.cpp b/engines/zvision/scripting/controls/hotmov_control.cpp
index b39292f1c5..6969ee1bfe 100644
--- a/engines/zvision/scripting/controls/hotmov_control.cpp
+++ b/engines/zvision/scripting/controls/hotmov_control.cpp
@@ -158,6 +158,7 @@ bool HotMovControl::onMouseUp(const Common::Point &screenSpacePos, const Common:
if (_cycle < _num_cycles) {
if (_frames[_cur_frame].contains(backgroundImageSpacePos)) {
+ setVenus();
_engine->getScriptManager()->setStateValue(_key, 1);
return true;
}
diff --git a/engines/zvision/scripting/controls/input_control.cpp b/engines/zvision/scripting/controls/input_control.cpp
index f8acdbda73..442c6cbc6a 100644
--- a/engines/zvision/scripting/controls/input_control.cpp
+++ b/engines/zvision/scripting/controls/input_control.cpp
@@ -103,6 +103,8 @@ InputControl::InputControl(ZVision *engine, uint32 key, Common::SeekableReadStre
} else if (param.matchString("focus", true)) {
_focused = true;
_engine->getScriptManager()->setFocusControlKey(_key);
+ } else if (param.matchString("venus_id", true)) {
+ _venus_id = atoi(values.c_str());
}
line = stream.readLine();
@@ -119,10 +121,13 @@ bool InputControl::onMouseUp(const Common::Point &screenSpacePos, const Common::
if (!_readOnly) {
// Save
_engine->getScriptManager()->focusControl(_key);
+ setVenus();
} else {
// Restore
- if (_currentInputText.size())
+ if (_currentInputText.size()) {
+ setVenus();
_enterPressed = true;
+ }
}
}
return false;
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;
}
diff --git a/engines/zvision/scripting/controls/paint_control.cpp b/engines/zvision/scripting/controls/paint_control.cpp
index 2891f1b1f9..54c02a2568 100644
--- a/engines/zvision/scripting/controls/paint_control.cpp
+++ b/engines/zvision/scripting/controls/paint_control.cpp
@@ -142,6 +142,7 @@ bool PaintControl::onMouseDown(const Common::Point &screenSpacePos, const Common
int mouse_item = _engine->getScriptManager()->getStateValue(StateKey_InventoryItem);
if (eligeblity(mouse_item)) {
+ setVenus();
_mouseDown = true;
}
}
diff --git a/engines/zvision/scripting/controls/push_toggle_control.cpp b/engines/zvision/scripting/controls/push_toggle_control.cpp
index 03df4b722e..561dd1dd20 100644
--- a/engines/zvision/scripting/controls/push_toggle_control.cpp
+++ b/engines/zvision/scripting/controls/push_toggle_control.cpp
@@ -74,8 +74,8 @@ PushToggleControl::PushToggleControl(ZVision *engine, uint32 key, Common::Seekab
} else if (values.equalsIgnoreCase("double")) {
// Not used
}
- } else if (param.matchString("venus_id*", true)) {
- // Not used
+ } else if (param.matchString("venus_id", true)) {
+ _venus_id = atoi(values.c_str());
}
line = stream.readLine();
@@ -100,6 +100,7 @@ bool PushToggleControl::onMouseUp(const Common::Point &screenSpacePos, const Com
return false;
if (contain(backgroundImageSpacePos)) {
+ setVenus();
int32 val = _engine->getScriptManager()->getStateValue(_key);
val = (val + 1) % _countTo;
_engine->getScriptManager()->setStateValue(_key, val);
@@ -116,6 +117,7 @@ bool PushToggleControl::onMouseDown(const Common::Point &screenSpacePos, const C
return false;
if (contain(backgroundImageSpacePos)) {
+ setVenus();
int32 val = _engine->getScriptManager()->getStateValue(_key);
val = (val + 1) % _countTo;
_engine->getScriptManager()->setStateValue(_key, val);
diff --git a/engines/zvision/scripting/controls/safe_control.cpp b/engines/zvision/scripting/controls/safe_control.cpp
index ba809148a3..9df61ce341 100644
--- a/engines/zvision/scripting/controls/safe_control.cpp
+++ b/engines/zvision/scripting/controls/safe_control.cpp
@@ -179,6 +179,7 @@ bool SafeControl::onMouseUp(const Common::Point &screenSpacePos, const Common::P
if (_rectangle.contains(backgroundImageSpacePos)) {
int32 mR = backgroundImageSpacePos.sqrDist(_center);
if (mR <= _radius_outer_sq && mR >= _radius_inner_sq) {
+ setVenus();
Common::Point tmp = backgroundImageSpacePos - _center;
diff --git a/engines/zvision/scripting/controls/slot_control.cpp b/engines/zvision/scripting/controls/slot_control.cpp
index f78061ac13..46ee320eb5 100644
--- a/engines/zvision/scripting/controls/slot_control.cpp
+++ b/engines/zvision/scripting/controls/slot_control.cpp
@@ -121,7 +121,7 @@ bool SlotControl::onMouseUp(const Common::Point &screenSpacePos, const Common::P
return false;
if (_hotspot.contains(backgroundImageSpacePos)) {
- //ctrl_setvenus(ct);
+ setVenus();
int item = _engine->getScriptManager()->getStateValue(_key);
int mouse_item = _engine->getScriptManager()->getStateValue(StateKey_InventoryItem);