aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsylvaintv2012-04-26 00:42:30 +0200
committerEugene Sandulenko2018-03-28 17:36:57 +0200
commit576f0217e0864699541d25f553ad4eb25106fac6 (patch)
treea45b9cf43cff4831bcd452d66f021fb44b36545c
parent5caad723c50843b3c5926a07f7b72f22c0268bed (diff)
downloadscummvm-rg350-576f0217e0864699541d25f553ad4eb25106fac6.tar.gz
scummvm-rg350-576f0217e0864699541d25f553ad4eb25106fac6.tar.bz2
scummvm-rg350-576f0217e0864699541d25f553ad4eb25106fac6.zip
LILLIPUT: Implements Load Map opcode
Loads graphics, fade out/in, display points
-rw-r--r--engines/lilliput/lilliput.cpp2
-rw-r--r--engines/lilliput/lilliput.h2
-rw-r--r--engines/lilliput/script.cpp20
3 files changed, 23 insertions, 1 deletions
diff --git a/engines/lilliput/lilliput.cpp b/engines/lilliput/lilliput.cpp
index 7c7f9a84f4..b1c7c4f3f0 100644
--- a/engines/lilliput/lilliput.cpp
+++ b/engines/lilliput/lilliput.cpp
@@ -145,6 +145,7 @@ LilliputEngine::LilliputEngine(OSystem *syst, const LilliputGameDescription *gd)
_byte16552 = 0;
_byte12FE4 = 0xFF;
_byte12FE3 = 0;
+ _byte16F08 = 0;
_rulesBuffer2PrevIndx = 0;
_word16EFA = 0;
@@ -157,6 +158,7 @@ LilliputEngine::LilliputEngine(OSystem *syst, const LilliputGameDescription *gd)
_word15AC2 = 0;
_word16213 = 0;
_word16215 = 0;
+ _word15AC2 = 0;
_displayStringIndex = 0;
_word1289D = 0;
diff --git a/engines/lilliput/lilliput.h b/engines/lilliput/lilliput.h
index 1f355a413f..14bd9ada7b 100644
--- a/engines/lilliput/lilliput.h
+++ b/engines/lilliput/lilliput.h
@@ -103,6 +103,8 @@ public:
byte _byte16552;
byte _byte12FE4;
byte _byte12FE3;
+ byte _byte16F08;
+ byte _byte15EAD;
byte _array147D1[3];
byte _buffer1[45056];
diff --git a/engines/lilliput/script.cpp b/engines/lilliput/script.cpp
index 1be99b67a7..adb0c255fb 100644
--- a/engines/lilliput/script.cpp
+++ b/engines/lilliput/script.cpp
@@ -1826,8 +1826,26 @@ void LilliputScript::OC_sub183C6() {
warning("OC_sub183C6");
}
void LilliputScript::OC_loadFile_AERIAL_GFX() {
- warning("OC_loadFile_AERIAL_GFX");
+ debugC(1, kDebugScript, "OC_loadFile_AERIAL_GFX()");
+
+ int var1 = _currScript->readUint16LE() & 0xff;
+ _vm->_byte15EAD = var1;
+
+ _byte12A09 = 1;
+ _word1881B = 0xFFFF;
+ OC_PaletteFadeOut();
+ _vm->_word15AC2 = 1;
+ _vm->displayVGAFile("AERIAL.GFX");
+ OC_PaletteFadeIn();
+
+ _vm->displayCharactersOnMap();
+ _vm->_byte16F08 = 1;
+ _vm->_keyboard_oldIndex = 0;
+ _vm->_keyboard_nextIndex = 0;
+
+ _vm->_byte12A09 = 0;
}
+
void LilliputScript::OC_sub17E22() {
warning("OC_sub17E22");
}