diff options
Diffstat (limited to 'engines/sci/engine/seg_manager.h')
-rw-r--r-- | engines/sci/engine/seg_manager.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/sci/engine/seg_manager.h b/engines/sci/engine/seg_manager.h index e3ccb9ae5f..916b813eb5 100644 --- a/engines/sci/engine/seg_manager.h +++ b/engines/sci/engine/seg_manager.h @@ -432,6 +432,13 @@ public: reg_t getParserPtr() const { return _parserPtr; } #ifdef ENABLE_SCI32 + bool isValidAddr(reg_t reg, SegmentType expected) const { + SegmentObj *mobj = getSegmentObj(reg.getSegment()); + return (mobj && + mobj->getType() == expected && + mobj->isValidOffset(reg.getOffset())); + } + SciArray *allocateArray(SciArrayType type, uint16 size, reg_t *addr); SciArray *lookupArray(reg_t addr); void freeArray(reg_t addr); |