diff options
author | Strangerke | 2012-05-26 02:06:12 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2018-03-28 17:36:57 +0200 |
commit | 850017581154a9ce691f9583ed1a51d1b2feffd0 (patch) | |
tree | 65df63e00589bf8889c669a08613ce6986c48b7b | |
parent | e1c783d6a2f8abb35659f40c080c42ef4a0beaa3 (diff) | |
download | scummvm-rg350-850017581154a9ce691f9583ed1a51d1b2feffd0.tar.gz scummvm-rg350-850017581154a9ce691f9583ed1a51d1b2feffd0.tar.bz2 scummvm-rg350-850017581154a9ce691f9583ed1a51d1b2feffd0.zip |
LILLIPUT: Some more renaming
-rw-r--r-- | engines/lilliput/lilliput.cpp | 8 | ||||
-rw-r--r-- | engines/lilliput/lilliput.h | 6 | ||||
-rw-r--r-- | engines/lilliput/script.cpp | 69 | ||||
-rw-r--r-- | engines/lilliput/script.h | 2 |
4 files changed, 43 insertions, 42 deletions
diff --git a/engines/lilliput/lilliput.cpp b/engines/lilliput/lilliput.cpp index ee37f02c18..a97f77c9fc 100644 --- a/engines/lilliput/lilliput.cpp +++ b/engines/lilliput/lilliput.cpp @@ -217,7 +217,7 @@ LilliputEngine::LilliputEngine(OSystem *syst, const LilliputGameDescription *gd) _displayStringBuf[i] = 0; for (int i = 0; i < 1400 + 3120; i++) { - _characterVariables_[i] = 0; + _characterVariables[i] = 0; } _currentCharacterVariables = NULL; @@ -2461,7 +2461,7 @@ void LilliputEngine::loadRules() { _rulesBuffer2_14_posY[j] = f.readByte(); for (int k = 0; k < 32; k++) - _characterVariables_[(j * 32) + k] = f.readByte(); + _characterVariables[(j * 32) + k] = f.readByte(); for (int k = 0; k < 32; k++) _rulesBuffer2_16[(j * 32) + k] = f.readByte(); @@ -2780,9 +2780,9 @@ byte *LilliputEngine::getCharacterVariablesPtr(int16 index) { assert((index > -3120) && (index < 1400)); if (index >= 0) - return &_characterVariables_[index]; + return &_characterVariables[index]; else - return &_characterVariables_[1400 - index]; + return &_characterVariables[1400 - index]; } void LilliputEngine::syncSoundSettings() { diff --git a/engines/lilliput/lilliput.h b/engines/lilliput/lilliput.h index 28f5a4ba39..8ae4691b78 100644 --- a/engines/lilliput/lilliput.h +++ b/engines/lilliput/lilliput.h @@ -140,7 +140,7 @@ public: Common::Point _currentScriptCharacterPos; int _nextCharacterIndex; int _word16EFE; - int _word1817B; + uint16 _word1817B; Common::Point _savedSurfaceUnderMousePos; int _word15AC2; int _currentDisplayCharacter; @@ -158,7 +158,7 @@ public: int16 _currentScriptCharacter; int16 _characterPositionX[40]; int16 _characterPositionY[40]; - char _characterPositionAltitude[40]; + int8 _characterPositionAltitude[40]; int16 _characterFrameArray[40]; byte _rulesBuffer2_5[40]; byte _rulesBuffer2_6[40]; @@ -170,7 +170,7 @@ public: byte _rulesBuffer2_12[40]; byte _rulesBuffer2_13_posX[40]; byte _rulesBuffer2_14_posY[40]; - byte _characterVariables_[1400 + 3120]; + byte _characterVariables[1400 + 3120]; byte *_currentCharacterVariables; byte _rulesBuffer2_16[40 * 32]; int *_packedStringIndex; diff --git a/engines/lilliput/script.cpp b/engines/lilliput/script.cpp index 7cdefdd16c..f223a0c5a9 100644 --- a/engines/lilliput/script.cpp +++ b/engines/lilliput/script.cpp @@ -403,7 +403,7 @@ void LilliputScript::handleOpcodeType2(int curWord) { OC_SetCurrentCharacterVar2ToZero(); break; case 0x35: - OC_sub1801D(); + OC_setCharacterProperties(); break; case 0x36: OC_sub1805D(); @@ -663,7 +663,7 @@ static const OpCode opCodes2[] = { /* 0x32 */ { "OC_setByte10B29", 1, kGetValue1, kNone, kNone, kNone, kNone }, /* 0x33 */ { "OC_setCurrentCharacterVar2", 1, kImmediateValue, kNone, kNone, kNone, kNone }, /* 0x34 */ { "OC_SetCurrentCharacterVar2ToZero", 0, kNone, kNone, kNone, kNone, kNone }, -/* 0x35 */ { "OC_sub1801D", 5, kGetValue1, kImmediateValue, kImmediateValue, kImmediateValue, kImmediateValue }, +/* 0x35 */ { "OC_setCharacterProperties", 5, kGetValue1, kImmediateValue, kImmediateValue, kImmediateValue, kImmediateValue }, /* 0x36 */ { "OC_sub1805D", 5, kGetValue1, kImmediateValue, kImmediateValue, kImmediateValue, kImmediateValue }, /* 0x37 */ { "OC_sub18074", 2, kImmediateValue, kImmediateValue, kNone, kNone, kNone }, /* 0x38 */ { "OC_setCurrentCharacterDirection", 1, kImmediateValue, kNone, kNone, kNone, kNone }, @@ -1877,12 +1877,12 @@ byte LilliputScript::OC_CompareNumberOfCharacterWithVar0Equals() { } byte LilliputScript::OC_IsPositionInViewport() { - debugC(1, kDebugScriptTBC, "OC_IsPositionInViewport()"); + debugC(1, kDebugScript, "OC_IsPositionInViewport()"); Common::Point var1 = getPosFromScript(); - int dx = var1.x - _viewportPos.x; - int dy = var1.y - _viewportPos.y; + int16 dx = var1.x - _viewportPos.x; + int16 dy = var1.y - _viewportPos.y; if ((dx >= 0) && (dx < 8) && (dy >= 0) && (dy < 8)) return 1; @@ -2525,9 +2525,9 @@ void LilliputScript::OC_resetWord16EFE() { } void LilliputScript::OC_enableCurrentCharacterScript() { - debugC(1, kDebugScriptTBC, "OC_enableCurrentCharacterScript()"); + debugC(1, kDebugScript, "OC_enableCurrentCharacterScript()"); - int var1 = _currScript->readUint16LE(); + uint8 var1 = (_currScript->readUint16LE() & 0xFF); enableCharacterScript(_vm->_currentScriptCharacter , var1, _vm->_currentCharacterVariables); sub17B6C(0); } @@ -2610,12 +2610,12 @@ Common::Point LilliputScript::getCharacterTilePos(int index) { } void LilliputScript::OC_setCharacterDirectionTowardsPos() { - debugC(1, kDebugScriptTBC, "OC_setCharacterDirectionTowardsPos()"); + debugC(1, kDebugScript, "OC_setCharacterDirectionTowardsPos()"); Common::Point pos1 = getPosFromScript(); Common::Point tilePos = getCharacterTilePos(_vm->_currentScriptCharacter); - int dir = _vm->getDirection(tilePos, pos1); - _vm->_characterDirectionArray[_vm->_currentScriptCharacter] = dir; + + _vm->_characterDirectionArray[_vm->_currentScriptCharacter] = _vm->getDirection(tilePos, pos1); } void LilliputScript::OC_sub17F08() { @@ -2733,22 +2733,21 @@ void LilliputScript::OC_SetCurrentCharacterVar2ToZero() { _vm->_currentCharacterVariables[2] = 0; } -void LilliputScript::OC_sub1801D() { - debugC(1, kDebugScriptTBC, "OC_SetCurrentCharacterVar2ToZero()"); - - int var1 = getValue1(); +void LilliputScript::OC_setCharacterProperties() { + debugC(1, kDebugScript, "OC_setCharacterProperties()"); - int x = _vm->_characterPositionX[var1] & 0xFFF8; - x += _currScript->readUint16LE(); - _vm->_characterPositionX[var1] = x; + int16 index = getValue1(); - int y = _vm->_characterPositionY[var1] & 0xFFF8; - y += _currScript->readUint16LE(); - _vm->_characterPositionY[var1] = y; + int16 x = _vm->_characterPositionX[index] & 0xFFF8; + x += _currScript->readSint16LE(); + _vm->_characterPositionX[index] = x; - _vm->_characterPositionAltitude[var1] = _currScript->readUint16LE(); - _vm->_characterDirectionArray[var1] = _currScript->readUint16LE(); + int16 y = _vm->_characterPositionY[index] & 0xFFF8; + y += _currScript->readSint16LE(); + _vm->_characterPositionY[index] = y; + _vm->_characterPositionAltitude[index] = (int8)(_currScript->readUint16LE() & 0xFF); + _vm->_characterDirectionArray[index] = _currScript->readUint16LE() & 0xFF; } void LilliputScript::OC_sub1805D() { @@ -2838,16 +2837,14 @@ void LilliputScript::OC_setCurrentCharacterAltitude() { void LilliputScript::OC_sub1817F() { debugC(1, kDebugScript, "OC_sub1817F()"); - int16 var1 = _currScript->readUint16LE(); - int16 var2 = _currScript->readUint16LE(); - - int16 x = var1 & 0xFF; - int16 y = var2 & 0xFF; + int8 x = (int8)(_currScript->readUint16LE() & 0xFF); + int8 y = (int8)(_currScript->readUint16LE() & 0xFF); + sub1818B(Common::Point(x, y)); } void LilliputScript::sub1818B(Common::Point point) { - debugC(2, kDebugScriptTBC, "sub1818B(%d - %d)", point.x, point.y); + debugC(2, kDebugScript, "sub1818B(%d - %d)", point.x, point.y); Common::Point pos = point; for (int i = 0; i < _vm->_word1817B; i++) { @@ -2866,11 +2863,11 @@ void LilliputScript::sub1818B(Common::Point point) { } void LilliputScript::OC_sub181BB() { - debugC(1, kDebugScriptTBC, "OC_sub181BB()"); + debugC(1, kDebugScript, "OC_sub181BB()"); - int16 x = _currScript->readUint16LE() & 0xFF; - int8 oper = _currScript->readUint16LE() & 0xFF; - int16 index = _currScript->readSint16LE(); + int8 x = (int8)(_currScript->readUint16LE() & 0xFF); + byte oper = _currScript->readUint16LE() & 0xFF; + uint16 index = _currScript->readUint16LE(); int16 c = _vm->_currentCharacterVariables[index]; switch (oper) { @@ -2889,11 +2886,15 @@ void LilliputScript::OC_sub181BB() { c = 0; c *= 2; break; + case '+': + break; default: - warning("OC_sub181BB: skipped oper 0x%x", oper); + warning("OC_sub181BB: skipped oper %c", oper); break; } - c &= 0xFF; + if (c > 0xFF) + warning("OC_sub181BB- Abnormal value c = %d, should put back c &= 0xFF;", c); + int y = (_currScript->readSint16LE() * c) + c; y >>= 8; sub1818B(Common::Point(x, y)); diff --git a/engines/lilliput/script.h b/engines/lilliput/script.h index 39f8364b79..fa575cf858 100644 --- a/engines/lilliput/script.h +++ b/engines/lilliput/script.h @@ -247,7 +247,7 @@ private: void OC_setByte10B29(); void OC_setCurrentCharacterVar2(); void OC_SetCurrentCharacterVar2ToZero(); - void OC_sub1801D(); + void OC_setCharacterProperties(); void OC_sub1805D(); void OC_sub18074(); void OC_setCurrentCharacterDirection(); |