aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/saveload_hof.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/saveload_hof.cpp')
-rw-r--r--engines/kyra/saveload_hof.cpp8
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();