diff options
Diffstat (limited to 'engines/kyra/saveload_hof.cpp')
-rw-r--r-- | engines/kyra/saveload_hof.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/engines/kyra/saveload_hof.cpp b/engines/kyra/saveload_hof.cpp index 2d276cc6a4..37678540b6 100644 --- a/engines/kyra/saveload_hof.cpp +++ b/engines/kyra/saveload_hof.cpp @@ -64,7 +64,7 @@ Common::Error KyraEngine_HoF::saveGameState(int slot, const char *saveName, cons for (int i = 0; i < 25; ++i) out->writeSint16BE(_cauldronTable[i]); for (int i = 0; i < 20; ++i) - out->writeUint16BE(_hiddenItems[i]); + out->writeSint16BE(_hiddenItems[i]); for (int i = 0; i < 19; ++i) out->write(_conversationState[i], 14); out->write(_newSceneDlgState, 32); @@ -83,7 +83,7 @@ Common::Error KyraEngine_HoF::saveGameState(int slot, const char *saveName, cons out->writeSint16BE(_mainCharacter.y2); for (int i = 0; i < 30; ++i) { - out->writeUint16BE(_itemList[i].id); + out->writeSint16BE(_itemList[i].id); out->writeUint16BE(_itemList[i].sceneId); out->writeSint16BE(_itemList[i].x); out->writeByte(_itemList[i].y); @@ -183,7 +183,7 @@ Common::Error KyraEngine_HoF::loadGameState(int slot) { for (int i = 0; i < 25; ++i) _cauldronTable[i] = in.readSint16(); for (int i = 0; i < 20; ++i) - _hiddenItems[i] = in.readUint16(); + _hiddenItems[i] = in.readSint16(); if (header.originalSave) { assert(sizeof(_flagsTable) >= 0x41); @@ -222,7 +222,7 @@ Common::Error KyraEngine_HoF::loadGameState(int slot) { _mainCharacter.y2 = in.readSint16(); for (int i = 0; i < 30; ++i) { - _itemList[i].id = in.readUint16(); + _itemList[i].id = in.readSint16(); _itemList[i].sceneId = in.readUint16(); _itemList[i].x = in.readSint16(); _itemList[i].y = in.readByte(); |