aboutsummaryrefslogtreecommitdiff
path: root/engines/lilliput/script.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/lilliput/script.cpp')
-rw-r--r--engines/lilliput/script.cpp49
1 files changed, 23 insertions, 26 deletions
diff --git a/engines/lilliput/script.cpp b/engines/lilliput/script.cpp
index 17f6f6a574..2dfdf061e9 100644
--- a/engines/lilliput/script.cpp
+++ b/engines/lilliput/script.cpp
@@ -957,12 +957,12 @@ void LilliputScript::runMenuScript(ScriptStream script) {
}
void LilliputScript::sub185ED(byte index, byte subIndex) {
- debugC(2, kDebugScriptTBC, "sub185ED");
+ debugC(2, kDebugScript, "sub185ED(%d, %d)", index, subIndex);
if (_vm->_arr18560[index]._field0 != 1)
return;
- _vm->displayFunction1(_vm->_bufferIdeogram, _vm->_arr18560[index]._field5[subIndex], Common::Point(_vm->_arr18560[index]._field1, _vm->_arr18560[index]._field3));
+ _vm->display16x16IndexedBuf(_vm->_bufferIdeogram, _vm->_arr18560[index]._field5[subIndex], _vm->_arr18560[index]._field1);
}
byte LilliputScript::compareValues(byte var1, int oper, int var2) {
@@ -3086,7 +3086,7 @@ void LilliputScript::OC_sub184D7() {
}
void LilliputScript::OC_displayTitleScreen() {
- debugC(1, kDebugScriptTBC, "OC_displayTitleScreen()");
+ debugC(1, kDebugScript, "OC_displayTitleScreen()");
_vm->_byte184F4 = (_currScript->readUint16LE() & 0xFF);
_vm->_sound_byte16F06 = _vm->_byte184F4;
@@ -3098,7 +3098,7 @@ void LilliputScript::OC_displayTitleScreen() {
_vm->_mouseButton = 0;
_vm->_byte16F09 = 0;
- for (;;) {
+ while(!_vm->_shouldQuit) {
sub185B4_display();
_vm->update();
if (_vm->_keyboard_nextIndex != _vm->_keyboard_oldIndex) {
@@ -3146,16 +3146,16 @@ void LilliputScript::OC_sub1864D() {
}
void LilliputScript::OC_initArr18560() {
- debugC(1, kDebugScriptTBC, "OC_initArr18560()");
+ debugC(1, kDebugScript, "OC_initArr18560()");
- int curWord = _currScript->readUint16LE();
- assert (curWord < 4);
- _vm->_arr18560[curWord]._field0 = 1;
- _vm->_arr18560[curWord]._field1 = _currScript->readUint16LE();
- _vm->_arr18560[curWord]._field3 = _currScript->readUint16LE();
+ int index = _currScript->readUint16LE();
+ assert (index < 4);
+ _vm->_arr18560[index]._field0 = 1;
+ _vm->_arr18560[index]._field1.x = _currScript->readSint16LE();
+ _vm->_arr18560[index]._field1.y = _currScript->readSint16LE();
for (int i = 0; i < 8; i++)
- _vm->_arr18560[curWord]._field5[i] = _currScript->readUint16LE();
+ _vm->_arr18560[index]._field5[i] = _currScript->readSint16LE();
}
void LilliputScript::OC_sub18678() {
@@ -3184,15 +3184,10 @@ void LilliputScript::OC_sub186E5_snd() {
int index = getValue1();
assert(index < 40);
- byte var4h = 0xFF;
- byte var4l = (index & 0xFF);
- byte var3h = _array16123PosX[index];
- byte var3l = _array1614BPosY[index];
- byte var2h = (_viewportPos.x & 0xFF);
- byte var2l = (_viewportPos.y & 0xFF);
- int var1 = _currScript->readUint16LE();
-
- _vm->_soundHandler->contentFct2();
+ Common::Point var4 = Common::Point(0xFF, index & 0xFF);
+ int var1 = (_currScript->readUint16LE() & 0xFF);
+
+ _vm->_soundHandler->contentFct2(var1, _viewportPos, Common::Point(_array16123PosX[index], _array1614BPosY[index]), var4);
}
void LilliputScript::OC_sub1870A_snd() {
@@ -3203,7 +3198,7 @@ void LilliputScript::OC_sub1870A_snd() {
Common::Point var2 = _viewportPos;
int var1 = (_currScript->readUint16LE() & 0xFF);
- _vm->_soundHandler->contentFct2();
+ _vm->_soundHandler->contentFct2(var1, var2, var3, var4);
}
void LilliputScript::OC_sub18725_snd() {
@@ -3229,13 +3224,15 @@ void LilliputScript::OC_sub1873F_snd() {
}
void LilliputScript::OC_sub18746_snd() {
- debugC(1, kDebugScriptTBC, "OC_sub18746_snd()");
+ debugC(1, kDebugScript, "OC_sub18746_snd()");
- int var4 = -1;
- int var2 = (_viewportPos.x << 8) + _viewportPos.y;
- int var1 = _currScript->readUint16LE() & 0xFF;
+ Common::Point var4 = Common::Point(-1, -1);
+ Common::Point var2 = _viewportPos;
+ int var1 = _currScript->readSint16LE() & 0xFF;
+ warning("OC_sub18746_snd: unknown value for var3");
+ Common::Point var3 = Common::Point(-1, -1);
- _vm->_soundHandler->contentFct2();
+ _vm->_soundHandler->contentFct2(var1, var2, var3, var4);
}
void LilliputScript::OC_sub1875D_snd() {