Fix objects structure and object scripts in PCE version of Loom.

svn-id: r45335
This commit is contained in:
Travis Howell 2009-10-22 11:33:05 +00:00
parent 512c9cae11
commit 4350f7b8c0
2 changed files with 9 additions and 7 deletions

View File

@ -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 {

View File

@ -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);