aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/script_s2.cpp
diff options
context:
space:
mode:
authorTravis Howell2006-11-06 13:59:11 +0000
committerTravis Howell2006-11-06 13:59:11 +0000
commit415ec670564a328a67648ddae7c42a7142a2f053 (patch)
treeeccf1e0493e7fb0825c66aceb699ece2b64ad1f6 /engines/agos/script_s2.cpp
parent8ef5e88323972fa8d2fe5e376c78a1903535f50a (diff)
downloadscummvm-rg350-415ec670564a328a67648ddae7c42a7142a2f053.tar.gz
scummvm-rg350-415ec670564a328a67648ddae7c42a7142a2f053.tar.bz2
scummvm-rg350-415ec670564a328a67648ddae7c42a7142a2f053.zip
Cleanup
svn-id: r24639
Diffstat (limited to 'engines/agos/script_s2.cpp')
-rw-r--r--engines/agos/script_s2.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/engines/agos/script_s2.cpp b/engines/agos/script_s2.cpp
index f5bde3f506..f27ad9d139 100644
--- a/engines/agos/script_s2.cpp
+++ b/engines/agos/script_s2.cpp
@@ -54,7 +54,7 @@ void AGOSEngine::setupSimon2Opcodes(OpcodeProc *op) {
op[177] = &AGOSEngine::os2_screenTextPObj;
op[178] = &AGOSEngine::os1_getPathPosn;
op[179] = &AGOSEngine::os1_scnTxtLongText;
- op[180] = &AGOSEngine::os1_mouseOn;
+ op[180] = &AGOSEngine::os2_mouseOn;
op[181] = &AGOSEngine::os2_mouseOff;
op[184] = &AGOSEngine::os1_unloadZone;
op[186] = &AGOSEngine::os1_unfreezeZones;
@@ -215,6 +215,14 @@ void AGOSEngine::os2_screenTextPObj() {
}
}
+void AGOSEngine::os2_mouseOn() {
+ // 180: force mouseOn
+ if (getGameType() == GType_SIMON2 && getBitFlag(79)) {
+ _mouseCursor = 0;
+ }
+ _mouseHideCount = 0;
+}
+
void AGOSEngine::os2_mouseOff() {
// 181: force mouseOff
scriptMouseOff();
@@ -241,6 +249,18 @@ void AGOSEngine::os2_waitMark() {
waitForMark(i);
}
+void AGOSEngine::stopAnimateSimon2(uint a, uint b) {
+ uint16 items[2];
+
+ items[0] = to16Wrapper(a);
+ items[1] = to16Wrapper(b);
+
+ _lockWord |= 0x8000;
+ _vcPtr = (byte *)&items;
+ vc60_stopAnimation();
+ _lockWord &= ~0x8000;
+}
+
void AGOSEngine::waitForMark(uint i) {
_exitCutscene = false;
while (!(_marks & (1 << i))) {