diff options
author | Lars Skovlund | 2016-01-15 03:14:34 +0100 |
---|---|---|
committer | Lars Skovlund | 2016-01-15 03:14:34 +0100 |
commit | 9e672dab60540f0a981c65cf5ca9f536b8c0e6a0 (patch) | |
tree | e81acab16d4b89a40c43eecc301169b9ed849791 /engines/sci | |
parent | 2a4b04f3b28a924cad402f21979e143fa5cd248a (diff) | |
download | scummvm-rg350-9e672dab60540f0a981c65cf5ca9f536b8c0e6a0.tar.gz scummvm-rg350-9e672dab60540f0a981c65cf5ca9f536b8c0e6a0.tar.bz2 scummvm-rg350-9e672dab60540f0a981c65cf5ca9f536b8c0e6a0.zip |
SCI3: Add comment re new function
Diffstat (limited to 'engines/sci')
-rw-r--r-- | engines/sci/engine/seg_manager.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/engines/sci/engine/seg_manager.h b/engines/sci/engine/seg_manager.h index 7a689603a0..c1b492929a 100644 --- a/engines/sci/engine/seg_manager.h +++ b/engines/sci/engine/seg_manager.h @@ -472,6 +472,17 @@ private: void createClassTable(); SegmentId findFreeSegment() const; + +/** + * This implements our handling of scripts greater than 64K in size. + * They occur sporadically in SCI3 games (and in The Realm (SCI2.1), + * if we ever decide to support it). It works by "stealing" the upper + * two bits of the segment value to use as extra offset bits, making + * the maximum offset 0x3FFFF (262143). This is enough. + * + * The "actual" segment, then, is the segment value with the upper two + * bits masked out. + */ SegmentId getActualSegment(SegmentId seg) const; }; |