diff options
author | Strangerke | 2012-04-18 08:16:39 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2018-03-28 17:36:57 +0200 |
commit | 3780999f3d4eaea606bea4a2f800cf4731dd69e1 (patch) | |
tree | 5db84d9ec8f79a0a08e449b4984fd4ec3ea34ec2 | |
parent | c67d5e127d06feeb72bb2257f3f559c864187b08 (diff) | |
download | scummvm-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.cpp | 36 | ||||
-rw-r--r-- | engines/lilliput/lilliput.h | 2 |
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(); |