diff options
author | Strangerke | 2012-05-08 21:38:43 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2018-03-28 17:36:57 +0200 |
commit | 6b9777cc9f2eb4c468fbc41dbfc09826236d5922 (patch) | |
tree | a79b29ffd51c93c94c6bdfd0e5cf731bab9ade19 /engines | |
parent | 2575378f09305ca2bea7cebc988c9217d66b6463 (diff) | |
download | scummvm-rg350-6b9777cc9f2eb4c468fbc41dbfc09826236d5922.tar.gz scummvm-rg350-6b9777cc9f2eb4c468fbc41dbfc09826236d5922.tar.bz2 scummvm-rg350-6b9777cc9f2eb4c468fbc41dbfc09826236d5922.zip |
LILLIPUT: Turn _array12311 into a Common::Point, fix initialization of _array16C58,
Diffstat (limited to 'engines')
-rw-r--r-- | engines/lilliput/lilliput.cpp | 63 | ||||
-rw-r--r-- | engines/lilliput/lilliput.h | 12 | ||||
-rw-r--r-- | engines/lilliput/script.cpp | 4 | ||||
-rw-r--r-- | engines/lilliput/script.h | 2 |
4 files changed, 41 insertions, 40 deletions
diff --git a/engines/lilliput/lilliput.cpp b/engines/lilliput/lilliput.cpp index 016dd6df3f..bcfb51431b 100644 --- a/engines/lilliput/lilliput.cpp +++ b/engines/lilliput/lilliput.cpp @@ -38,6 +38,7 @@ namespace Lilliput { LilliputEngine *LilliputEngine::s_Engine = 0; + static const byte _basisPalette[768] = { 0, 0, 0, 0, 0, 42, 0, 42, 0, 0, 42, 42, 42, 0, 0, 42, 0, 42, 42, 21, 0, 42, 42, 42, @@ -166,10 +167,10 @@ LilliputEngine::LilliputEngine(OSystem *syst, const LilliputGameDescription *gd) _saveFlag = false; _byte16F07_menuId = 0; - _array16C54[0] = _array16C54[3] = 1; - _array16C54[1] = _array16C54[2] = 2; - _array16C54[2] = _array16C54[1] = 4; - _array16C54[3] = _array16C54[0] = 8; + _array16C54[0] = _array16C58[3] = 1; + _array16C54[1] = _array16C58[2] = 2; + _array16C54[2] = _array16C58[1] = 4; + _array16C54[3] = _array16C58[0] = 8; for (int i = 0; i < 3; i++) _array147D1[i] = 0; @@ -1379,15 +1380,15 @@ int LilliputEngine::getDirection(Common::Point param1, Common::Point param2) { return _directionsArray[var2l]; } -byte LilliputEngine::sub16799(int index, int param1) { - debugC(2, kDebugEngineTBC, "sub16799(%d, %d)", index, param1); +byte LilliputEngine::sub16799(int index, Common::Point param1) { + debugC(2, kDebugEngineTBC, "sub16799(%d, %d - %d)", index, param1.x, param1.y); Common::Point var3 = Common::Point(_array109E9PosX[index], _array10A11PosY[index]); if (var3.x != -1) { if ((var3.x != _scriptHandler->_array16123PosX[index]) || (var3.y != _scriptHandler->_array1614BPosY[index])) { sub1693A(index); - _scriptHandler->_array12811[index] -= (param1 >> 8) & 0x0F; + _scriptHandler->_array12811[index] -= (param1.x & 0x0F); return 3; } @@ -1403,7 +1404,7 @@ byte LilliputEngine::sub16799(int index, int param1) { _characterDirectionArray[index] = getDirection(pos1, pos2); sub1693A(index); - _scriptHandler->_array12811[index] -= (param1 >> 8) & 0x0F; + _scriptHandler->_array12811[index] -= (param1.x & 0x0F); return 3; } @@ -1466,7 +1467,7 @@ void LilliputEngine::sub167EF(int index) { } // var4h == var4l - int mapIndex = (((_array10A11PosY[index] >> 2) + _array109E9PosX[index]) << 2); + int mapIndex = (((_array10A11PosY[index] << 8) >> 2) + _array109E9PosX[index]) << 2; int tmpVal = _bufferIsoMap[mapIndex + 3]; if ((tmpVal & 8) != 0) ++_array109E9PosX[index]; @@ -1658,9 +1659,9 @@ void LilliputEngine::sub16626() { break; var2 = (2 * (var2 & 0xFF)) + (index << 5); - uint16 var1 = _scriptHandler->_array12311[var2 / 2]; + Common::Point var1 = _scriptHandler->_array12311[var2 / 2]; int tmpVal = var2; - var2 = ((var1 >> 8) >> 3); + var2 = (var1.x >> 3); var2 &= 0xFE; switch (var2 / 2) { @@ -1693,7 +1694,7 @@ void LilliputEngine::sub16626() { result = sub16722(index, var1); break; case 14: - result = sub166F7(index, Common::Point(var1 >> 8, var1 && 0xFF), tmpVal); + result = sub166F7(index, var1, tmpVal); break; case 15: result = sub166EA(index); @@ -1730,9 +1731,9 @@ byte LilliputEngine::sub166F7(int index, Common::Point var1, int tmpVal) { a2 |= (a2 << 4); a2 -= 16; - _scriptHandler->_array12311[tmpVal] = (var1.x << 8) + var1.y; + _scriptHandler->_array12311[tmpVal] = Common::Point(var1.x, a2); - if ((var1.y & 0xF0) == 0) + if ((a2 & 0xF0) == 0) return 2; } @@ -1740,18 +1741,18 @@ byte LilliputEngine::sub166F7(int index, Common::Point var1, int tmpVal) { return 3; } -byte LilliputEngine::sub166DD(int index, int var1) { - debugC(2, kDebugEngineTBC, "sub166DD(%d, %d)", index, var1); +byte LilliputEngine::sub166DD(int index, Common::Point var1) { + debugC(2, kDebugEngineTBC, "sub166DD(%d, %d - %d)", index, var1.x, var1.y); - _characterDirectionArray[index] = (var1 >> 8) & 3; - sub16685(index, var1 & 0xFF); + _characterDirectionArray[index] = (var1.x & 3); + sub16685(index, var1); return 0; } -byte LilliputEngine::sub16722(int index, byte var1) { - debugC(2, kDebugEngineTBC, "sub16722(%d, %d)", index, var1); +byte LilliputEngine::sub16722(int index, Common::Point var1) { + debugC(2, kDebugEngineTBC, "sub16722(%d, %d - %d)", index, var1.x, var1.y); - _rulesBuffer2_10[index] = var1; + _rulesBuffer2_10[index] = var1.y; return 2; } @@ -1765,8 +1766,8 @@ byte LilliputEngine::sub16729(int index) { return 2; } -byte LilliputEngine::sub1675D(int index, int var1) { - debugC(2, kDebugEngineTBC, "sub1675D(%d)", index); +byte LilliputEngine::sub1675D(int index, Common::Point var1) { + debugC(2, kDebugEngineTBC, "sub1675D(%d, %d - %d)", index, var1.x, var1.y); int var2 = _scriptHandler->_array10A39[index]; int var1h = _scriptHandler->_array16123PosX[var2]; @@ -1967,19 +1968,19 @@ void LilliputEngine::sub1305C(byte index, byte button) { displayInterfaceHotspots(); } -void LilliputEngine::sub16685(int idx, int var1) { - debugC(2, kDebugEngineTBC, "sub16685(%d, %d)", idx, var1); +void LilliputEngine::sub16685(int idx, Common::Point var1) { + debugC(2, kDebugEngineTBC, "sub16685(%d, %d - %d)", idx, var1.x, var1.y); - int index = (idx << 5) + (var1 & 0xFF); + int index = (idx << 5) + var1.y; _scriptHandler->_array10AB1[idx] = _rulesBuffer2_16[index]; } -byte LilliputEngine::sub16675(int idx, int var1) { - debugC(2, kDebugEngineTBC, "sub16675(%d, %d)", idx, var1); +byte LilliputEngine::sub16675(int idx, Common::Point var1) { + debugC(2, kDebugEngineTBC, "sub16675(%d, %d - %d)", idx, var1.x, var1.y); sub16685(idx, var1); - int index = (var1 & 0xFF); - switch (var1 >> 8) { + int index = var1.y; + switch (var1.x) { case 0: break; case 1: @@ -2013,7 +2014,7 @@ byte LilliputEngine::sub16675(int idx, int var1) { sub166D8(index); break; default: - warning("sub16675 - Unexpected value %d", var1 >> 8); + warning("sub16675 - Unexpected value %d", var1.x); } return 0; diff --git a/engines/lilliput/lilliput.h b/engines/lilliput/lilliput.h index 9aa2924529..642069eb10 100644 --- a/engines/lilliput/lilliput.h +++ b/engines/lilliput/lilliput.h @@ -260,22 +260,22 @@ public: void sub17264(int index, int var4); int findHotspot(Common::Point pos); int reverseFindHotspot(Common::Point pos); - byte sub16722(int index, byte var1); + byte sub16722(int index, Common::Point var1); byte sub166EA(int index); void sub167EF(int index); void renderCharacters(byte *buf, Common::Point pos); - byte sub16799(int param1, int index); + byte sub16799(int index, Common::Point param1); int getDirection(Common::Point param1, Common::Point param2); void addCharToBuf(byte character); void prepareGoldAmount(int param1); void sub12F37(); - byte sub16675(int idx, int var1); - void sub16685(int idx, int var1); + byte sub16675(int idx, Common::Point var1); + void sub16685(int idx, Common::Point var1); void sub16EBC(); void sub16CA0(); - byte sub166DD(int index, int var1); + byte sub166DD(int index, Common::Point var1); void sub171CF(); void sub12FE5(); int sub16DD5(int x1, int y1, int x2, int y2); @@ -304,7 +304,7 @@ public: void sub166D8(int index); void sub16B31(int index, int val); void sub16B8F(int index, int x, int y, int flag); - byte sub1675D(int index, int var1); + byte sub1675D(int index, Common::Point var1); byte sub16729(int index); byte sub166F7(int index, Common::Point var1, int tmpVal); void sub1693A(int index); diff --git a/engines/lilliput/script.cpp b/engines/lilliput/script.cpp index 7bfbc77727..6cd5738a7f 100644 --- a/engines/lilliput/script.cpp +++ b/engines/lilliput/script.cpp @@ -75,7 +75,7 @@ LilliputScript::LilliputScript(LilliputEngine *vm) : _vm(vm), _currScript(NULL) } for (int i = 0; i < 640; i++) { - _array12311[i] = 0xFFFF; + _array12311[i] = Common::Point(-1, -1); } for (int i = 0; i < 1600; i++) @@ -1088,7 +1088,7 @@ void LilliputScript::sub16C86(int index, byte *buf) { _array12811[index] = 0; for (int i = 0; i < 16; i++) { - _array12311[(index * 16) + i] = (buf[(2 * i) + 1] << 8) + buf[2 * i]; + _array12311[(index * 16) + i] = Common::Point(buf[(2 * i) + 1], buf[2 * i]); } } diff --git a/engines/lilliput/script.h b/engines/lilliput/script.h index 8ef723e7b6..6699bb61b8 100644 --- a/engines/lilliput/script.h +++ b/engines/lilliput/script.h @@ -79,7 +79,7 @@ public: int _heroismBarBottomY; int _word1855E; - uint16 _array12311[640]; + Common::Point _array12311[640]; byte _array128EF[40]; byte _array12839[40]; int _array1813B[32]; |