diff options
Diffstat (limited to 'engines/kyra/saveload_lol.cpp')
-rw-r--r-- | engines/kyra/saveload_lol.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/engines/kyra/saveload_lol.cpp b/engines/kyra/saveload_lol.cpp index 480714e5c9..ee4fbf4dc1 100644 --- a/engines/kyra/saveload_lol.cpp +++ b/engines/kyra/saveload_lol.cpp @@ -31,6 +31,7 @@ #include "common/endian.h" #include "common/savefile.h" +#include "common/substream.h" #include "common/system.h" #include "graphics/scaler.h" @@ -117,7 +118,7 @@ Common::Error LoLEngine::loadGameState(int slot) { _selectedCharacter = in.readSByte(); _currentLevel = in.readByte(); for (int i = 0; i < 48; i++) - _inventory[i] = in.readUint16BE(); + _inventory[i] = in.readSint16BE(); _inventoryCurItem = in.readSint16BE(); _itemInHand = in.readSint16BE(); _lastMouseRegion = in.readSint16BE(); @@ -243,7 +244,7 @@ Common::Error LoLEngine::loadGameState(int slot) { m->enable = in.readByte(); m->objectType = in.readByte(); m->attackerId = in.readUint16BE(); - m->item = in.readUint16BE(); + m->item = in.readSint16BE(); m->x = in.readUint16BE(); m->y = in.readUint16BE(); m->flyingHeight = in.readByte(); @@ -274,7 +275,7 @@ Common::Error LoLEngine::loadGameState(int slot) { return Common::kNoError; } -Common::Error LoLEngine::saveGameState(int slot, const char *saveName, const Graphics::Surface *thumbnail) { +Common::Error LoLEngine::saveGameStateIntern(int slot, const char *saveName, const Graphics::Surface *thumbnail) { const char *fileName = getSavegameFilename(slot); Common::OutSaveFile *out = openSaveForWriting(fileName, saveName, thumbnail); @@ -340,7 +341,7 @@ Common::Error LoLEngine::saveGameState(int slot, const char *saveName, const Gra out->writeSByte(_selectedCharacter); out->writeByte(_currentLevel); for (int i = 0; i < 48; i++) - out->writeUint16BE(_inventory[i]); + out->writeSint16BE(_inventory[i]); out->writeSint16BE(_inventoryCurItem); out->writeSint16BE(_itemInHand); out->writeSint16BE(_lastMouseRegion); @@ -423,7 +424,7 @@ Common::Error LoLEngine::saveGameState(int slot, const char *saveName, const Gra out->writeByte(m->enable); out->writeByte(m->objectType); out->writeUint16BE(m->attackerId); - out->writeUint16BE(m->item); + out->writeSint16BE(m->item); out->writeUint16BE(m->x); out->writeUint16BE(m->y); out->writeByte(m->flyingHeight); |