From 0eea1447d378d1b7e1667aaf06dd93d1a7aa01e1 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 5 May 2012 00:10:55 +0200 Subject: LILLIPUT: fix a bug in OC_sub17D04 --- engines/lilliput/lilliput.cpp | 1 + engines/lilliput/script.cpp | 6 ++---- 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'engines/lilliput') diff --git a/engines/lilliput/lilliput.cpp b/engines/lilliput/lilliput.cpp index 95407cda7a..a86fed852e 100644 --- a/engines/lilliput/lilliput.cpp +++ b/engines/lilliput/lilliput.cpp @@ -2746,6 +2746,7 @@ void LilliputEngine::initialize() { byte *LilliputEngine::getCharacterVariablesPtr(int16 index) { debugC(1, kDebugEngine, "getCharacterVariablesPtr(%d)", index); + assert((index > -3120) && (index < 1400)); if (index >= 0) return &_characterVariables_[index]; else diff --git a/engines/lilliput/script.cpp b/engines/lilliput/script.cpp index 75e1fd7da9..f27682234b 100644 --- a/engines/lilliput/script.cpp +++ b/engines/lilliput/script.cpp @@ -1372,8 +1372,6 @@ byte *LilliputScript::getCharacterVariablePtr() { int index = tmpVal * 32; index += _currScript->readUint16LE(); - assert(index < 1400); - return _vm->getCharacterVariablesPtr(index); } @@ -2979,10 +2977,10 @@ void LilliputScript::OC_sub18367() { void LilliputScript::OC_sub17D04() { debugC(1, kDebugScript, "OC_sub17D04()"); - byte var1 = getValue1(); + int16 index = getValue1(); byte var2 = _currScript->readUint16LE() & 0xFF; - sub1823E(var1, var2, _vm->getCharacterVariablesPtr(var1)); + sub1823E(index, var2, _vm->getCharacterVariablesPtr(index * 32)); } void LilliputScript::OC_sub18387() { -- cgit v1.2.3