aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStrangerke2012-04-18 08:16:39 +0200
committerEugene Sandulenko2018-03-28 17:36:57 +0200
commit3780999f3d4eaea606bea4a2f800cf4731dd69e1 (patch)
tree5db84d9ec8f79a0a08e449b4984fd4ec3ea34ec2
parentc67d5e127d06feeb72bb2257f3f559c864187b08 (diff)
downloadscummvm-rg350-3780999f3d4eaea606bea4a2f800cf4731dd69e1.tar.gz
scummvm-rg350-3780999f3d4eaea606bea4a2f800cf4731dd69e1.tar.bz2
scummvm-rg350-3780999f3d4eaea606bea4a2f800cf4731dd69e1.zip
LILLIPUT: Implement two more display functions
-rw-r--r--engines/lilliput/lilliput.cpp36
-rw-r--r--engines/lilliput/lilliput.h2
2 files changed, 38 insertions, 0 deletions
diff --git a/engines/lilliput/lilliput.cpp b/engines/lilliput/lilliput.cpp
index 89a6394cc3..7ddf193cf2 100644
--- a/engines/lilliput/lilliput.cpp
+++ b/engines/lilliput/lilliput.cpp
@@ -285,6 +285,20 @@ void LilliputEngine::displayFunction2(byte *buf, int var2, int var4) {
}
}
+void LilliputEngine::displayFunction3(int var1, int var2, int var4) {
+ debugC(2, kDebugEngine, "displayFunction3(%d, %d, %d)", var1, var2, var4);
+
+ int tmpVal = ((var4 >> 8) + (var4 & 0xFF));
+ int index = var2 + tmpVal + (tmpVal >> 2);
+ int col = var1 & 0xFF;
+ for (int i = 0; i < 16; i++) {
+ for (int j = 0; j < 16; j++) {
+ ((byte *)_mainSurface->getPixels())[index + j] = col;
+ }
+ index += 320;
+ }
+}
+
// display mouse cursor
void LilliputEngine::displayFunction4() {
debugC(2, kDebugEngine, "displayFunction4()");
@@ -385,6 +399,28 @@ void LilliputEngine::displayFunction9() {
}
+void LilliputEngine::displayFunction10() {
+ debugC(2, kDebugEngine, "displayFunction10()");
+ static const byte _array15976[16] = {244, 248, 250, 250, 252, 252, 252, 252, 252, 252, 252, 252, 250, 250, 248, 244};
+
+ displayFunction5();
+
+ int index = 192;
+ int tmpIndex;
+ int var3;
+
+ for (int i = 0; i < 16; i++) {
+ var3 = _array15976[i];
+ tmpIndex = index - (var3 / 2);
+ for (int j = 0; j < 16; j++) {
+ ((byte *)_mainSurface->getPixels())[tmpIndex + j] = 17;
+ }
+ index += 320;
+ }
+
+ displayFunction4();
+}
+
void LilliputEngine::displayFunction12() {
debugC(1, kDebugEngine, "displayFunction12()");
diff --git a/engines/lilliput/lilliput.h b/engines/lilliput/lilliput.h
index 88c8d9c008..11784393e6 100644
--- a/engines/lilliput/lilliput.h
+++ b/engines/lilliput/lilliput.h
@@ -182,12 +182,14 @@ public:
void displayFunction1(byte *buf, int var1, int var2, int var4);
void displayFunction1a(byte *buf, int var2, int var4);
void displayFunction2(byte *buf, int var2, int var4);
+ void displayFunction3(int var1, int var2, int var4);
void displayFunction4();
void displayFunction5();
void displayFunction6();
void displayFunction7();
void displayFunction8();
void displayFunction9();
+ void displayFunction10();
void displayFunction12();
void displayFunction13(byte *buf, int var1, int var2, int var3);
void displayFunction14();