LILLIPUT: Fix regression introduced in 56db8c626e

This commit is contained in:
Strangerke 2018-04-26 07:09:57 +02:00
parent beeddc8c7e
commit ef1b0171bf
2 changed files with 6 additions and 6 deletions

View file

@ -1423,9 +1423,9 @@ void LilliputEngine::homeInPathFinding(int index) {
} }
if (_enclosureRect[enclosureSrc].bottom != _enclosureRect[enclosureSrc].top) { if (_enclosureRect[enclosureSrc].bottom != _enclosureRect[enclosureSrc].top) {
if (_portalPos[enclosureSrc].y == _enclosureRect[enclosureSrc].bottom) if (_portalPos[enclosureSrc].y == _enclosureRect[enclosureSrc].top)
_characterSubTargetPos[index] = Common::Point(_portalPos[enclosureSrc].x, _portalPos[enclosureSrc].y - 1); _characterSubTargetPos[index] = Common::Point(_portalPos[enclosureSrc].x, _portalPos[enclosureSrc].y - 1);
else // CHECKME: Should be a check on y == top else // CHECKME: Should be a check on y == bottom
_characterSubTargetPos[index] = Common::Point(_portalPos[enclosureSrc].x, _portalPos[enclosureSrc].y + 1); _characterSubTargetPos[index] = Common::Point(_portalPos[enclosureSrc].x, _portalPos[enclosureSrc].y + 1);
return; return;
@ -2573,8 +2573,8 @@ void LilliputEngine::loadRules() {
for (int i = 0; i < _rectNumb; i++) { for (int i = 0; i < _rectNumb; i++) {
_enclosureRect[i].right = (int16)f.readByte(); _enclosureRect[i].right = (int16)f.readByte();
_enclosureRect[i].left = (int16)f.readByte(); _enclosureRect[i].left = (int16)f.readByte();
_enclosureRect[i].top = (int16)f.readByte();
_enclosureRect[i].bottom = (int16)f.readByte(); _enclosureRect[i].bottom = (int16)f.readByte();
_enclosureRect[i].top = (int16)f.readByte();
int16 tmpValY = (int16)f.readByte(); int16 tmpValY = (int16)f.readByte();
int16 tmpValX = (int16)f.readByte(); int16 tmpValX = (int16)f.readByte();

View file

@ -1534,10 +1534,10 @@ byte LilliputScript::OC_compareCoords_1() {
byte LilliputScript::OC_compareCoords_2() { byte LilliputScript::OC_compareCoords_2() {
debugC(1, kDebugScript, "OC_compareCoords_2()"); debugC(1, kDebugScript, "OC_compareCoords_2()");
int16 index = getValue1(); int16 idx1 = getValue1();
index = _currScript->readUint16LE(); int16 idx2 = _currScript->readUint16LE();
if (_vm->_enclosureRect[index].contains(_characterTilePos[index])) if (_vm->_enclosureRect[idx2].contains(_characterTilePos[idx1]))
return 1; return 1;
return 0; return 0;
} }