diff options
Diffstat (limited to 'engines/sci/engine/segment.cpp')
-rw-r--r-- | engines/sci/engine/segment.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/engines/sci/engine/segment.cpp b/engines/sci/engine/segment.cpp index 7d2889aefc..bf4b8bfea0 100644 --- a/engines/sci/engine/segment.cpp +++ b/engines/sci/engine/segment.cpp @@ -233,6 +233,10 @@ SegmentRef Script::dereference(reg_t pointer) { SegmentRef ret; ret.isRaw = true; + // FIXME: here we subtract pointer.offset from maxSize, elsewhere we don't -- huh? + // It's hard to say which is right, because it depends on how the various + // SegManager::deref*() methods are used. It's quite possible that this variant + // is "correct" and all the others aren't... we'll have to find out. ret.maxSize = _bufSize - pointer.offset; ret.raw = _buf + pointer.offset; return ret; |