diff --git a/engines/agos/saveload.cpp b/engines/agos/saveload.cpp index 32b767073a9..44fc35d6ac1 100644 --- a/engines/agos/saveload.cpp +++ b/engines/agos/saveload.cpp @@ -1173,7 +1173,7 @@ bool AGOSEngine_Elvira2::loadGame(const char *filename, bool restartMode) { addTimeEvent(timeout, subroutine_id); } - if (getGameType() == GType_WW) { + if (getGameType() == GType_WW && getPlatform() == Common::kPlatformPC) { // TODO Load room state data for (uint s = 0; s <= _numRoomStates; s++) { f->readUint16BE(); @@ -1185,7 +1185,8 @@ bool AGOSEngine_Elvira2::loadGame(const char *filename, bool restartMode) { for (num = _itemArrayInited - 1; num; num--) { Item *item = _itemArrayPtr[item_index++], *parent_item; - if (getGameType() == GType_ELVIRA2) { + if ((getGameType() == GType_WW && getPlatform() == Common::kPlatformAmiga) || + getGameType() == GType_ELVIRA2) { parent_item = derefItem(readItemID(f)); setItemParent(item, parent_item); } else {