aboutsummaryrefslogtreecommitdiff
path: root/engines/lilliput/lilliput.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/lilliput/lilliput.cpp')
-rw-r--r--engines/lilliput/lilliput.cpp44
1 files changed, 21 insertions, 23 deletions
diff --git a/engines/lilliput/lilliput.cpp b/engines/lilliput/lilliput.cpp
index ec45493521..f436466318 100644
--- a/engines/lilliput/lilliput.cpp
+++ b/engines/lilliput/lilliput.cpp
@@ -472,8 +472,8 @@ void LilliputEngine::displayInterfaceHotspots() {
displayMousePointer();
}
-void LilliputEngine::displayFunction9() {
- debugC(2, kDebugEngineTBC, "displayFunction9()");
+void LilliputEngine::displayLandscape() {
+ debugC(2, kDebugEngine, "displayLandscape()");
memcpy(_buffer2_45k, _buffer3_45k, 45056);
@@ -484,12 +484,11 @@ void LilliputEngine::displayFunction9() {
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8 ; j++) {
var2 = (j << 8) + i;
- displayFunction13(_buffer2_45k, _bufferIsoMap[var1 + index], var2, 0);
+ displayIsometricBlock(_buffer2_45k, _bufferIsoMap[var1 + index], var2, 0);
index += 4;
}
index += 224;
}
-
}
// Display dialog bubble
@@ -595,7 +594,7 @@ void LilliputEngine::displayFunction12() {
displayFunction6();
displayFunction7();
displayInterfaceHotspots();
- displayFunction9();
+ displayLandscape();
displayFunction15();
displayFunction14();
@@ -603,9 +602,9 @@ void LilliputEngine::displayFunction12() {
free(tmpBuf);
}
-void LilliputEngine::displayFunction13(byte *buf, int var1, int var2, int var3) {
- debugC(1, kDebugEngineTBC, "displayFunction13(buf, %d, %d, %d)", var1, var2, var3);
-
+void LilliputEngine::displayIsometricBlock(byte *buf, int var1, int var2, int var3) {
+ debugC(1, kDebugEngine, "displayIsometricBlock(buf, %d, %d, %d)", var1, var2, var3);
+
byte tmpByte1 = ((7 + (var2 >> 8) - (var2 & 0xFF)) << 4) & 0xFF;
byte tmpByte2 = ((4 + (var2 >> 8) + (var2 & 0xFF) - (var3 >> 7) ) << 3) & 0xFF;
@@ -768,7 +767,7 @@ void LilliputEngine::displayFunction15() {
int var1 = map[1];
if (_rulesChunk9[var1] != 128)
var1 += _scriptHandler->_byte12A04;
- displayFunction13(_buffer1_45k, var1, tmpVal, 1 << 8);
+ displayIsometricBlock(_buffer1_45k, var1, tmpVal, 1 << 8);
}
renderCharacters(map, Common::Point(j, i));
@@ -776,7 +775,7 @@ void LilliputEngine::displayFunction15() {
int var1 = map[2];
if (_rulesChunk9[var1] != 128)
var1 += _scriptHandler->_byte12A04;
- displayFunction13(_buffer1_45k, var1, tmpVal, 2 << 8);
+ displayIsometricBlock(_buffer1_45k, var1, tmpVal, 2 << 8);
}
map += 4;
}
@@ -1242,7 +1241,7 @@ void LilliputEngine::viewportScrollTo(Common::Point goalPos) {
_scriptHandler->_viewportPos.x += dx;
_scriptHandler->_viewportPos.y += dy;
- displayFunction9();
+ displayLandscape();
displayFunction15();
displayFunction14();
@@ -1271,17 +1270,16 @@ void LilliputEngine::renderCharacters(byte *buf, Common::Point pos) {
}
int index = _charactersToDisplay[_currentDisplayCharacter];
- int displayX = _characterDisplayX[index];
- int displayY = _characterDisplayY[index];
+ Common::Point characterPos = Common::Point(_characterDisplayX[index], _characterDisplayY[index]);
if (index == _scriptHandler->_word1881B)
- sub1546F(displayX, displayY);
+ sub1546F(characterPos);
if (_byte16552 != 1) {
- int flag = _characterDirectionArray[index];
- int frame = _characterFrameArray[index];
+ byte flag = _characterDirectionArray[index];
+ int16 frame = _characterFrameArray[index];
- if (frame != 0xFFFF) {
+ if (frame != -1) {
frame += _scriptHandler->_array10AB1[index];
if ((flag & 1) == 1)
frame += _spriteSizeArray[index];
@@ -1292,7 +1290,7 @@ void LilliputEngine::renderCharacters(byte *buf, Common::Point pos) {
frame = -frame;
}
- displayCharacter(frame, Common::Point(displayX, displayY), flag);
+ displayCharacter(frame, characterPos, flag);
}
}
@@ -1302,11 +1300,11 @@ void LilliputEngine::renderCharacters(byte *buf, Common::Point pos) {
renderCharacters(buf, pos);
}
-void LilliputEngine::sub1546F(byte displayX, byte displayY) {
- debugC(2, kDebugEngineTBC, "sub1546F(%d, %d)", displayX, displayY);
+void LilliputEngine::sub1546F(Common::Point displayPos) {
+ debugC(2, kDebugEngineTBC, "sub1546F(%d, %d)", displayPos.x, displayPos.y);
- int orgX = displayX + 8;
- int orgY = displayY;
+ int orgX = displayPos.x + 8;
+ int orgY = displayPos.y;
int var2 = 0;
int x = orgX;
@@ -1539,7 +1537,7 @@ byte LilliputEngine::sub16A76(int indexb, int indexs) {
if (var2 == -1)
return 1;
- int _word16A74 = var2; // useless?
+// int _word16A74 = var2; // useless?
var1h = _word16937Pos.x;
var1l = _word16937Pos.y;