aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStrangerke2012-05-10 08:11:45 +0200
committerEugene Sandulenko2018-03-28 17:36:57 +0200
commitaedc95231ddab06af6cb15d75c8cbccdcb80e0c4 (patch)
tree8a725358591e8f9781cb33260d1cdbb1992c3e24
parente1f6fe2226d4825e70025872c00054efbafee0c2 (diff)
downloadscummvm-rg350-aedc95231ddab06af6cb15d75c8cbccdcb80e0c4.tar.gz
scummvm-rg350-aedc95231ddab06af6cb15d75c8cbccdcb80e0c4.tar.bz2
scummvm-rg350-aedc95231ddab06af6cb15d75c8cbccdcb80e0c4.zip
LILLIPUT: More renaming
-rw-r--r--engines/lilliput/lilliput.cpp44
-rw-r--r--engines/lilliput/lilliput.h8
-rw-r--r--engines/lilliput/script.cpp42
-rw-r--r--engines/lilliput/script.h6
4 files changed, 52 insertions, 48 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;
diff --git a/engines/lilliput/lilliput.h b/engines/lilliput/lilliput.h
index b521c087dd..870ebcb70c 100644
--- a/engines/lilliput/lilliput.h
+++ b/engines/lilliput/lilliput.h
@@ -155,7 +155,7 @@ public:
int16 _characterPositionX[40];
int16 _characterPositionY[40];
char _characterPositionAltitude[40];
- int _characterFrameArray[40];
+ int16 _characterFrameArray[40];
byte _rulesBuffer2_5[40];
byte _rulesBuffer2_6[40];
byte _rulesBuffer2_7[40];
@@ -228,11 +228,11 @@ public:
void displayFunction6();
void displayFunction7();
void displayInterfaceHotspots();
- void displayFunction9();
+ void displayLandscape();
void displayFunction10();
void displayFunction11(byte *buf);
void displayFunction12();
- void displayFunction13(byte *buf, int var1, int var2, int var3);
+ void displayIsometricBlock(byte *buf, int var1, int var2, int var3);
void displayFunction14();
void displayFunction15();
void displayFunction16();
@@ -287,7 +287,7 @@ public:
int sub13240(Common::Point mousePos, int var3, int var4);
void sub131B2(Common::Point pos, bool &forceReturnFl);
void sub131FC(Common::Point pos);
- void sub1546F(byte displayX, byte displayY);
+ void sub1546F(Common::Point displayPos);
void sub15498(byte x, byte y, int var2);
void sub15A4C(int &vgaIndex, byte *srcBuf, int &bufIndex);
void sub15F31(bool &forceReturnFl);
diff --git a/engines/lilliput/script.cpp b/engines/lilliput/script.cpp
index 2dfdf061e9..821d701a6a 100644
--- a/engines/lilliput/script.cpp
+++ b/engines/lilliput/script.cpp
@@ -98,7 +98,7 @@ byte LilliputScript::handleOpcodeType1(int curWord) {
return OC_sub1740A();
break;
case 0x3:
- return OC_sub17434();
+ return OC_compareCharacterId();
break;
case 0x4:
return OC_sub17468();
@@ -563,7 +563,7 @@ static const OpCode opCodes1[] = {
{ "OC_checkCharacterGoalPos", 1, kgetPosFromScript, kNone, kNone, kNone, kNone },
{ "OC_comparePos", 2, kGetValue1, kgetPosFromScript, kNone, kNone, kNone },
{ "OC_sub1740A", 1, kImmediateValue, kNone, kNone, kNone, kNone },
- { "OC_sub17434", 4, kGetValue1, kImmediateValue, kCompareOperation, kImmediateValue, kNone },
+ { "OC_compareCharacterId", 4, kGetValue1, kImmediateValue, kCompareOperation, kImmediateValue, kNone },
{ "OC_sub17468", 2, kCompareOperation, kImmediateValue, kNone, kNone, kNone },
{ "OC_getRandom", 1, kImmediateValue, kNone, kNone, kNone, kNone },
{ "OC_for", 2, kImmediateValue, kImmediateValue, kNone, kNone, kNone },
@@ -965,18 +965,25 @@ void LilliputScript::sub185ED(byte index, byte subIndex) {
_vm->display16x16IndexedBuf(_vm->_bufferIdeogram, _vm->_arr18560[index]._field5[subIndex], _vm->_arr18560[index]._field1);
}
-byte LilliputScript::compareValues(byte var1, int oper, int var2) {
- debugC(2, kDebugScriptTBC, "compareValues(%d, %c, %d)", var1, oper & 0xFF, var2);
+byte LilliputScript::compareValues(int var1, int oper, int var2) {
+ debugC(2, kDebugScript, "compareValues(%d, %c, %d)", var1, oper & 0xFF, var2);
switch (oper & 0xFF) {
case '<':
- return (var1 < var2);
+ if (var1 < var2)
+ return 1;
+ break;
case '>':
- return (var1 > var2);
+ if (var1 > var2)
+ return 1;
+ break;
default:
- return (var1 == var2);
+ if (var1 == var2)
+ return 1;
break;
}
+
+ return 0;
}
void LilliputScript::computeOperation(byte *bufPtr, int oper, int var3) {
@@ -1274,7 +1281,7 @@ void LilliputScript::sub18B3C(int var) {
}
int16 LilliputScript::getValue1() {
- debugC(2, kDebugScriptTBC, "getValue1()");
+ debugC(2, kDebugScript, "getValue1()");
int16 curWord = _currScript->readUint16LE();
if (curWord < 1000)
@@ -1366,7 +1373,7 @@ void LilliputScript::sub130B6() {
}
byte *LilliputScript::getCharacterVariablePtr() {
- debugC(2, kDebugScriptTBC, "getCharacterVariablePtr()");
+ debugC(2, kDebugScript, "getCharacterVariablePtr()");
int8 tmpVal = (int8) (getValue1() & 0xFF);
int index = tmpVal * 32;
@@ -1420,9 +1427,8 @@ byte LilliputScript::OC_sub1740A() {
}
}
-// Compare field0 with value -> character id?
-byte LilliputScript::OC_sub17434() {
- debugC(1, kDebugScriptTBC, "OC_sub17434()");
+byte LilliputScript::OC_compareCharacterId() {
+ debugC(1, kDebugScript, "OC_compareCharacterId()");
byte *tmpArr = getCharacterVariablePtr();
byte var1 = tmpArr[0];
@@ -2410,7 +2416,7 @@ void LilliputScript::OC_sub17C0E() {
if (b2 == 0) {
_byte12A09 = 1;
- _vm->displayFunction9();
+ _vm->displayLandscape();
_byte12A09 = 0;
}
}
@@ -2802,7 +2808,7 @@ void LilliputScript::OC_sub1810A() {
_viewportCharacterTarget = 0xFFFF;
_viewportPos = getPosFromScript();
- _vm->displayFunction9();
+ _vm->displayLandscape();
_vm->displayFunction15();
}
@@ -2933,15 +2939,15 @@ void LilliputScript::OC_PaletteFadeIn() {
}
void LilliputScript::OC_loadAndDisplayCUBESx_GFX() {
- debugC(1, kDebugScriptTBC, "OC_loadAndDisplayCUBESx_GFX()");
+ debugC(1, kDebugScript, "OC_loadAndDisplayCUBESx_GFX()");
- int curWord = _currScript->readUint16LE();
+ int curWord = (_currScript->readUint16LE() & 0xFF);
assert((curWord >= 0) && (curWord <= 9));
Common::String fileName = Common::String::format("CUBES%d.GFX", curWord);
- _byte10806 = curWord + 0x30;
+ _byte10806 = curWord + 0x30; // Useless?
_vm->_bufferCubegfx = _vm->loadVGA(fileName, 61440, false);
- _vm->displayFunction9();
+ _vm->displayLandscape();
_vm->displayFunction15();
}
diff --git a/engines/lilliput/script.h b/engines/lilliput/script.h
index 07db0a9020..ca61d2b62c 100644
--- a/engines/lilliput/script.h
+++ b/engines/lilliput/script.h
@@ -64,7 +64,7 @@ public:
char _array16123PosX[40];
char _array1614BPosY[40];
byte _array12811[40];
- byte _array10AB1[40];
+ char _array10AB1[40];
byte _array122FD[20];
byte _array122C1[40];
byte _array10A39[40];
@@ -146,14 +146,14 @@ private:
Common::Point getPosFromScript();
byte *getCharacterVariablePtr();
- byte compareValues(byte var1, int oper, int var2);
+ byte compareValues(int var1, int oper, int var2);
void computeOperation(byte *bufPtr, int oper, int var2);
//Opcodes Type 1
byte OC_checkCharacterGoalPos();
byte OC_comparePos();
byte OC_sub1740A();
- byte OC_sub17434();
+ byte OC_compareCharacterId();
byte OC_sub17468();
byte OC_getRandom();
byte OC_for();