aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/fullpipe/utils.cpp')
-rw-r--r--engines/fullpipe/utils.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/engines/fullpipe/utils.cpp b/engines/fullpipe/utils.cpp
index 5403adec68..ba0e180547 100644
--- a/engines/fullpipe/utils.cpp
+++ b/engines/fullpipe/utils.cpp
@@ -109,7 +109,7 @@ char *MfcArchive::readPascalString(bool twoByte) {
return tmp;
}
-void MfcArchive::writePascalString(char *str, bool twoByte) {
+void MfcArchive::writePascalString(const char *str, bool twoByte) {
int len = strlen(str);
if (twoByte)
@@ -475,6 +475,14 @@ void MfcArchive::writeObject(CObject *obj) {
writeUint16LE(0xffff); // New class
_objectHash[obj] = _lastIndex++;
+ switch (obj->_objtype) {
+ case kObjTypeGameVar:
+ writePascalString(lookupObjectId(kGameVar));
+ break;
+ default:
+ error("Unhandled save for object type: %d", obj->_objtype);
+ }
+
obj->save(*this);
}
}