diff options
Diffstat (limited to 'engines/agos/saveload.cpp')
-rw-r--r-- | engines/agos/saveload.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/engines/agos/saveload.cpp b/engines/agos/saveload.cpp index 5d5e2d7b03..1ba0f56353 100644 --- a/engines/agos/saveload.cpp +++ b/engines/agos/saveload.cpp @@ -25,7 +25,6 @@ #include "common/textconsole.h" #include "common/translation.h" -#include "gui/about.h" #include "gui/message.h" #include "agos/agos.h" @@ -495,7 +494,7 @@ void AGOSEngine_Elvira2::userGame(bool load) { i = userGameGetKey(&b, 128); if (b) { - if (i <= 223) { + if (i <= 23) { if (!confirmOverWrite(window)) { listSaveGames(); continue; @@ -1261,7 +1260,6 @@ bool AGOSEngine_Elvira2::loadGame(const Common::String &filename, bool restartMo uint16 room = _currentRoom; _currentRoom = f->readUint16BE(); - if (_roomsListPtr) { byte *p = _roomsListPtr; if (room == _currentRoom) { @@ -1293,8 +1291,7 @@ bool AGOSEngine_Elvira2::loadGame(const Common::String &filename, bool restartMo for (uint16 z = minNum; z <= maxNum; z++) { uint16 itemNum = z + 2; - Item *item = derefItem(itemNum); - item->parent = 0; + _itemArrayPtr[itemNum] = 0; } } } @@ -1318,6 +1315,9 @@ bool AGOSEngine_Elvira2::loadGame(const Common::String &filename, bool restartMo uint parent = f->readUint16BE(); uint next = f->readUint16BE(); + if (getGameType() == GType_WW && getPlatform() == Common::kPlatformDOS && derefItem(item->parent) == NULL) + item->parent = 0; + parent_item = derefItem(parent); setItemParent(item, parent_item); |