aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorsylvaintv2012-04-28 03:20:29 +0200
committerEugene Sandulenko2018-03-28 17:36:57 +0200
commit566954c8e6026633b1474b309c8bb46980175b4f (patch)
tree870431e96394e30ad0d7ed041ba6c2bd8355f01c /engines
parentd19e92fbb0a1b410645a7badc9a229082f1763c5 (diff)
downloadscummvm-rg350-566954c8e6026633b1474b309c8bb46980175b4f.tar.gz
scummvm-rg350-566954c8e6026633b1474b309c8bb46980175b4f.tar.bz2
scummvm-rg350-566954c8e6026633b1474b309c8bb46980175b4f.zip
LILLIPUT: More opcodes
Diffstat (limited to 'engines')
-rw-r--r--engines/lilliput/lilliput.cpp2
-rw-r--r--engines/lilliput/script.cpp26
2 files changed, 22 insertions, 6 deletions
diff --git a/engines/lilliput/lilliput.cpp b/engines/lilliput/lilliput.cpp
index 3e8f4d9f20..bc2a818ece 100644
--- a/engines/lilliput/lilliput.cpp
+++ b/engines/lilliput/lilliput.cpp
@@ -1144,7 +1144,7 @@ void LilliputEngine::sub189DE() {
if (_byte1881D != 0) {
--_byte1881D;
- if (_byte1881D != 0) {
+ if (_byte1881D == 0) {
displayFunction17();
_scriptHandler->_word1881B = 0xFFFF;
}
diff --git a/engines/lilliput/script.cpp b/engines/lilliput/script.cpp
index 833fb14e03..4851f8a70a 100644
--- a/engines/lilliput/script.cpp
+++ b/engines/lilliput/script.cpp
@@ -1575,7 +1575,6 @@ void LilliputScript::OC_sub17DB9() {
void LilliputScript::OC_sub17DF9() {
debugC(1, kDebugScript, "OC_sub17DF9()");
-
if ((_word1881B & 0xFF) == 0xFF) {
OC_sub17D57();
return;
@@ -1585,10 +1584,25 @@ void LilliputScript::OC_sub17DF9() {
}
void LilliputScript::OC_sub17E07() {
- warning("OC_sub17E07");
+ debugC(1, kDebugScript, "OC_sub17E07()");
+ if ((_word1881B & 0xFF) == 0xFF) {
+ OC_sub17D7F();
+ return;
+ }
+ _currScript->readUint16LE();
+ _currScript->readUint16LE();
+ _currScript->readUint16LE();
+ _currScript->readUint16LE();
+
}
void LilliputScript::OC_sub17E15() {
- warning("OC_sub17E15");
+ debugC(1, kDebugScript, "OC_sub17E15()");
+ if ((_word1881B & 0xFF) == 0xFF) {
+ OC_sub17DB9();
+ return;
+ }
+ _currScript->readUint16LE();
+ _currScript->readUint16LE();
}
void LilliputScript::OC_sub17B03() {
@@ -1652,13 +1666,15 @@ void LilliputScript::OC_sub17E37() {
warning("OC_sub17E37");
}
void LilliputScript::OC_resetByte1714E() {
- warning("OC_resetByte1714E");
+ debugC(1, kDebugScript, "OC_resetByte1714E()");
+ _vm->_byte1714E = 0;
}
void LilliputScript::OC_deleteSavegameAndQuit() {
warning("OC_deleteSavegameAndQuit");
}
void LilliputScript::OC_incByte16F04() {
- warning("OC_incByte16F04");
+ debugC(1, kDebugScript, "OC_incByte16F04()");
+ _vm->_byte1714E++;
}
void LilliputScript::OC_sub17BA5() {