aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/statesaver.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2017-12-02 00:51:53 +0100
committerEugene Sandulenko2017-12-02 00:53:57 +0100
commit1f2290cd30602b9e6602b38bf85bfb6da1b2c164 (patch)
treeae34471464edbeb1c973e98da161f2dea50c2d2a /engines/fullpipe/statesaver.cpp
parentdfbf27bd31dd584e7b974a860c0a99f40f852bda (diff)
downloadscummvm-rg350-1f2290cd30602b9e6602b38bf85bfb6da1b2c164.tar.gz
scummvm-rg350-1f2290cd30602b9e6602b38bf85bfb6da1b2c164.tar.bz2
scummvm-rg350-1f2290cd30602b9e6602b38bf85bfb6da1b2c164.zip
FULLPIPE: Fix bug #10317: Save game metadata is missing
Diffstat (limited to 'engines/fullpipe/statesaver.cpp')
-rw-r--r--engines/fullpipe/statesaver.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/fullpipe/statesaver.cpp b/engines/fullpipe/statesaver.cpp
index d06bd9c593..942c07ae53 100644
--- a/engines/fullpipe/statesaver.cpp
+++ b/engines/fullpipe/statesaver.cpp
@@ -31,7 +31,7 @@
namespace Fullpipe {
-bool GameLoader::writeSavegame(Scene *sc, const char *fname) {
+bool GameLoader::writeSavegame(Scene *sc, const char *fname, const Common::String &description) {
GameVar *v = _gameVar->getSubVarByName("OBJSTATES")->getSubVarByName("SAVEGAME");
if (!v) {
@@ -146,6 +146,11 @@ bool GameLoader::writeSavegame(Scene *sc, const char *fname) {
saveFile->writeUint16LE(header2.time);
saveFile->writeUint32LE(header2.playtime);
+ // Added in save version 2
+ Common::String desc(description.c_str(), MIN(255u, description.size())); // Restrict description size
+ saveFile->writeByte(desc.size());
+ saveFile->writeString(desc);
+
g_fp->_currentScene->draw();
Graphics::saveThumbnail(*saveFile); // FIXME. Render proper screen