Fix objects structure and object scripts in PCE version of Loom.
svn-id: r45335
This commit is contained in:
parent
512c9cae11
commit
4350f7b8c0
2 changed files with 9 additions and 7 deletions
|
@ -936,12 +936,13 @@ void ScummEngine_v4::resetRoomObject(ObjectData *od, const byte *room, const byt
|
||||||
od->x_pos = *(ptr + 8) * 8;
|
od->x_pos = *(ptr + 8) * 8;
|
||||||
od->y_pos = ((*(ptr + 9)) & 0x7F) * 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->width = *(ptr + 10) * 8;
|
||||||
|
|
||||||
od->parent = *(ptr + 11);
|
// TODO: Where is parent data?
|
||||||
od->walk_x = *(ptr + 13) * 8;
|
od->parent = 0;
|
||||||
od->walk_y = (*(ptr + 14) & 0x1f) * 8;
|
od->walk_x = READ_LE_UINT16(ptr + 11);
|
||||||
|
od->walk_y = READ_LE_UINT16(ptr + 13);
|
||||||
od->actordir = (*(ptr + 15)) & 7;
|
od->actordir = (*(ptr + 15)) & 7;
|
||||||
od->height = *(ptr + 15) & 0xf8;
|
od->height = *(ptr + 15) & 0xf8;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -214,9 +214,10 @@ int ScummEngine::getVerbEntrypoint(int obj, int entry) {
|
||||||
verbptr += 3;
|
verbptr += 3;
|
||||||
} while (1);
|
} while (1);
|
||||||
|
|
||||||
if (_game.id == GID_LOOM && _game.platform == Common::kPlatformPCEngine)
|
if (_game.id == GID_LOOM && _game.platform == Common::kPlatformPCEngine) {
|
||||||
return verboffs + READ_LE_UINT16(verbptr + 1) + 3;
|
verbptr += READ_LE_UINT16(verbptr + 1) + 3;
|
||||||
else if (_game.features & GF_SMALL_HEADER)
|
return verbptr - objptr;
|
||||||
|
} else if (_game.features & GF_SMALL_HEADER)
|
||||||
return READ_LE_UINT16(verbptr + 1);
|
return READ_LE_UINT16(verbptr + 1);
|
||||||
else
|
else
|
||||||
return verboffs + READ_LE_UINT16(verbptr + 1);
|
return verboffs + READ_LE_UINT16(verbptr + 1);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue