aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/stateloader.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2016-09-19 18:58:39 +0200
committerEugene Sandulenko2016-09-19 18:58:39 +0200
commit783d968e20fb7a29d5c19ba6671d6c9ba363ec41 (patch)
treef923b8e1767e1e94f5a2712309d1e0d6534df516 /engines/fullpipe/stateloader.cpp
parent1e9351efaf5c7c99c23f6155b4f9ac591f8c42d4 (diff)
downloadscummvm-rg350-783d968e20fb7a29d5c19ba6671d6c9ba363ec41.tar.gz
scummvm-rg350-783d968e20fb7a29d5c19ba6671d6c9ba363ec41.tar.bz2
scummvm-rg350-783d968e20fb7a29d5c19ba6671d6c9ba363ec41.zip
FULLPIPE: Fix saving object to savegames
Diffstat (limited to 'engines/fullpipe/stateloader.cpp')
-rw-r--r--engines/fullpipe/stateloader.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/engines/fullpipe/stateloader.cpp b/engines/fullpipe/stateloader.cpp
index 12895fd42a..1f327b541a 100644
--- a/engines/fullpipe/stateloader.cpp
+++ b/engines/fullpipe/stateloader.cpp
@@ -78,11 +78,11 @@ void GameLoader::readSavegame(const char *fname) {
for (uint i = 0; i < header.encSize; i++)
data[i] -= i & 0x7f;
- MfcArchive *archive = new MfcArchive(new Common::MemoryReadStream(data, header.encSize));
+ //Common::hexdump(data, 48);
- GameVar var;
+ MfcArchive *archive = new MfcArchive(new Common::MemoryReadStream(data, header.encSize));
- var.load(*archive);
+ GameVar *var = (GameVar *)archive->readClass();
GameVar *v = _gameVar->getSubVarByName("OBJSTATES");
@@ -96,7 +96,7 @@ void GameLoader::readSavegame(const char *fname) {
}
}
- addVar(&var, v);
+ addVar(var, v);
getGameLoaderInventory()->loadPartial(*archive);
@@ -313,6 +313,8 @@ GameVar::GameVar() {
_varType = 0;
_value.floatValue = 0;
_varName = 0;
+
+ _objtype = kObjTypeGameVar;
}
GameVar::~GameVar() {