aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/script.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/engine/script.h')
-rw-r--r--engines/sci/engine/script.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/sci/engine/script.h b/engines/sci/engine/script.h
index ff061e0e36..b6610aadea 100644
--- a/engines/sci/engine/script.h
+++ b/engines/sci/engine/script.h
@@ -69,6 +69,8 @@ private:
uint16 _localsCount;
bool _markedAsDeleted;
+ SegmentId _localsSegment; /**< The local variable segment */
+ LocalVariables *_localsBlock;
public:
/**
@@ -76,8 +78,6 @@ public:
* Indexed by the TODO offset.
*/
ObjMap _objects;
- SegmentId _localsSegment; /**< The local variable segment */
- LocalVariables *_localsBlock;
public:
int getLocalsOffset() const { return _localsOffset; }
@@ -89,6 +89,9 @@ public:
const byte *getBuf(uint offset = 0) const { return _buf + offset; }
int getScriptNumber() const { return _nr; }
+ SegmentId getLocalsSegment() const { return _localsSegment; }
+ reg_t *getLocalsBegin() { return _localsBlock ? _localsBlock->_locals.begin() : NULL; }
+ void syncLocalsBlock(SegManager *segMan);
public:
Script();
@@ -295,6 +298,8 @@ private:
* @param segmentId The script's segment id
*/
void initializeObjectsSci3(SegManager *segMan, SegmentId segmentId);
+
+ LocalVariables *allocLocalsSegment(SegManager *segMan);
};
} // End of namespace Sci