diff options
author | Colin Snover | 2017-04-22 20:44:51 -0500 |
---|---|---|
committer | Colin Snover | 2017-04-23 13:07:25 -0500 |
commit | d24f5537be84ac175e85ed15415c8b3c0e00674d (patch) | |
tree | 8755aafe0b64e65a263b00a62e94c28f2bf1f3ec | |
parent | b3ecc54a7a3023a648378771f543b060f46f7fae (diff) | |
download | scummvm-rg350-d24f5537be84ac175e85ed15415c8b3c0e00674d.tar.gz scummvm-rg350-d24f5537be84ac175e85ed15415c8b3c0e00674d.tar.bz2 scummvm-rg350-d24f5537be84ac175e85ed15415c8b3c0e00674d.zip |
SCI32: Implement SCI3 Script::syncStringHeap
-rw-r--r-- | engines/sci/engine/savegame.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp index 04715d6034..4c16770fc5 100644 --- a/engines/sci/engine/savegame.cpp +++ b/engines/sci/engine/savegame.cpp @@ -478,7 +478,10 @@ void Script::syncStringHeap(Common::Serializer &s) { const int length = _heap.size() - (buf - _heap); s.syncBytes(buf.getUnsafeDataAt(0, length), length); } else if (getSciVersion() == SCI_VERSION_3) { - warning("TODO: syncStringHeap(): Implement SCI3 variant"); + const int stringOffset = _buf->getInt32SEAt(4); + const int length = _buf->getInt32SEAt(8) - stringOffset; + SciSpan<byte> buf = _buf->subspan<byte>(stringOffset, length); + s.syncBytes(buf.getUnsafeDataAt(0, length), length); } } |