From 4350f7b8c05a4ba22927f273c89171d840387c4e Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Thu, 22 Oct 2009 11:33:05 +0000 Subject: Fix objects structure and object scripts in PCE version of Loom. svn-id: r45335 --- engines/scumm/object.cpp | 9 +++++---- engines/scumm/script.cpp | 7 ++++--- 2 files changed, 9 insertions(+), 7 deletions(-) (limited to 'engines/scumm') diff --git a/engines/scumm/object.cpp b/engines/scumm/object.cpp index 2eab2cfa3a..4466ced2cc 100644 --- a/engines/scumm/object.cpp +++ b/engines/scumm/object.cpp @@ -936,12 +936,13 @@ void ScummEngine_v4::resetRoomObject(ObjectData *od, const byte *room, const byt od->x_pos = *(ptr + 8) * 8; od->y_pos = ((*(ptr + 9)) & 0x7F) * 8; - od->parentstate = (*(ptr + 11) & 0x80) ? 1 : 0; + od->parentstate = (*(ptr + 9) & 0x80) ? 1 : 0; od->width = *(ptr + 10) * 8; - od->parent = *(ptr + 11); - od->walk_x = *(ptr + 13) * 8; - od->walk_y = (*(ptr + 14) & 0x1f) * 8; + // TODO: Where is parent data? + od->parent = 0; + od->walk_x = READ_LE_UINT16(ptr + 11); + od->walk_y = READ_LE_UINT16(ptr + 13); od->actordir = (*(ptr + 15)) & 7; od->height = *(ptr + 15) & 0xf8; } else { diff --git a/engines/scumm/script.cpp b/engines/scumm/script.cpp index 2c3fe09db2..d01d38b463 100644 --- a/engines/scumm/script.cpp +++ b/engines/scumm/script.cpp @@ -214,9 +214,10 @@ int ScummEngine::getVerbEntrypoint(int obj, int entry) { verbptr += 3; } while (1); - if (_game.id == GID_LOOM && _game.platform == Common::kPlatformPCEngine) - return verboffs + READ_LE_UINT16(verbptr + 1) + 3; - else if (_game.features & GF_SMALL_HEADER) + if (_game.id == GID_LOOM && _game.platform == Common::kPlatformPCEngine) { + verbptr += READ_LE_UINT16(verbptr + 1) + 3; + return verbptr - objptr; + } else if (_game.features & GF_SMALL_HEADER) return READ_LE_UINT16(verbptr + 1); else return verboffs + READ_LE_UINT16(verbptr + 1); -- cgit v1.2.3