aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStrangerke2012-05-26 02:06:12 +0200
committerEugene Sandulenko2018-03-28 17:36:57 +0200
commit850017581154a9ce691f9583ed1a51d1b2feffd0 (patch)
tree65df63e00589bf8889c669a08613ce6986c48b7b
parente1c783d6a2f8abb35659f40c080c42ef4a0beaa3 (diff)
downloadscummvm-rg350-850017581154a9ce691f9583ed1a51d1b2feffd0.tar.gz
scummvm-rg350-850017581154a9ce691f9583ed1a51d1b2feffd0.tar.bz2
scummvm-rg350-850017581154a9ce691f9583ed1a51d1b2feffd0.zip
LILLIPUT: Some more renaming
-rw-r--r--engines/lilliput/lilliput.cpp8
-rw-r--r--engines/lilliput/lilliput.h6
-rw-r--r--engines/lilliput/script.cpp69
-rw-r--r--engines/lilliput/script.h2
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();