diff options
Diffstat (limited to 'engines/sci/engine/seg_manager.h')
-rw-r--r-- | engines/sci/engine/seg_manager.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/engines/sci/engine/seg_manager.h b/engines/sci/engine/seg_manager.h index 2e785b1341..4d385e0d32 100644 --- a/engines/sci/engine/seg_manager.h +++ b/engines/sci/engine/seg_manager.h @@ -440,6 +440,16 @@ public: public: // TODO: make private Common::Array<SegmentObj *> _heap; Common::Array<Class> _classtable; /**< Table of all classes */ + +#ifdef ENABLE_SCI32 + SciArray<reg_t> *allocateArray(reg_t *addr); + SciArray<reg_t> *lookupArray(reg_t addr); + void freeArray(reg_t addr); + SciString *allocateString(reg_t *addr); + SciString *lookupString(reg_t addr); + void freeString(reg_t addr); + SegmentId getStringSegmentId() { return String_seg_id; } +#endif private: /** Map script ids to segment ids. */ @@ -454,6 +464,11 @@ private: SegmentId Nodes_seg_id; ///< ID of the (a) node segment SegmentId Hunks_seg_id; ///< ID of the (a) hunk segment +#ifdef ENABLE_SCI32 + SegmentId Arrays_seg_id; + SegmentId String_seg_id; +#endif + private: SegmentObj *allocSegment(SegmentObj *mem, SegmentId *segid); LocalVariables *allocLocalsSegment(Script *scr, int count); |