aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/segment.h
diff options
context:
space:
mode:
authorFilippos Karapetis2010-05-30 23:31:33 +0000
committerFilippos Karapetis2010-05-30 23:31:33 +0000
commit50cd1d1da4a934cfcdcf7cb0b05bed6f7d9735c2 (patch)
tree1db296cc9949220a807398ae340c90189e832c11 /engines/sci/engine/segment.h
parent4e25867a671a8847b167decba1ed1e95cf699e66 (diff)
downloadscummvm-rg350-50cd1d1da4a934cfcdcf7cb0b05bed6f7d9735c2.tar.gz
scummvm-rg350-50cd1d1da4a934cfcdcf7cb0b05bed6f7d9735c2.tar.bz2
scummvm-rg350-50cd1d1da4a934cfcdcf7cb0b05bed6f7d9735c2.zip
Limited access to the script export table and synonyms block
svn-id: r49338
Diffstat (limited to 'engines/sci/engine/segment.h')
-rw-r--r--engines/sci/engine/segment.h29
1 files changed, 21 insertions, 8 deletions
diff --git a/engines/sci/engine/segment.h b/engines/sci/engine/segment.h
index ea85a6e764..dce1eb8445 100644
--- a/engines/sci/engine/segment.h
+++ b/engines/sci/engine/segment.h
@@ -325,12 +325,6 @@ public:
byte *_buf; /**< Static data buffer, or NULL if not used */
byte *_heapStart; /**< Start of heap if SCI1.1, NULL otherwise */
- const uint16 *_exportTable; /**< Abs. offset of the export table or 0 if not present */
- int _numExports; /**< Number of entries in the exports table */
-
- const byte *_synonyms; /**< Synonyms block or 0 if not present*/
- int _numSynonyms; /**< Number of entries in the synonyms block */
-
uint32 getScriptSize() { return _scriptSize; }
uint32 getHeapSize() { return _heapSize; }
uint32 getBufSize() { return _bufSize; }
@@ -342,6 +336,13 @@ private:
size_t _scriptSize;
size_t _heapSize;
size_t _bufSize;
+
+ const uint16 *_exportTable; /**< Abs. offset of the export table or 0 if not present */
+ uint16 _numExports; /**< Number of entries in the exports table */
+
+ const byte *_synonyms; /**< Synonyms block or 0 if not present*/
+ uint16 _numSynonyms; /**< Number of entries in the synonyms block */
+
Common::Array<CodeBlock> _codeBlocks;
public:
@@ -432,16 +433,28 @@ public:
void setLockers(int lockers);
/**
+ * Retrieves a pointer to the exports of this script
+ * @return pointer to the exports.
+ */
+ const uint16 *getExportTable() const { return _exportTable; }
+
+ /**
+ * Retrieves the number of exports of script.
+ * @return the number of exports of this script
+ */
+ uint16 getExportsNr() const { return _numExports; }
+
+ /**
* Retrieves a pointer to the synonyms associated with this script
* @return pointer to the synonyms, in non-parsed format.
*/
- const byte *getSynonyms() const;
+ const byte *getSynonyms() const { return _synonyms; }
/**
* Retrieves the number of synonyms associated with this script.
* @return the number of synonyms associated with this script
*/
- int getSynonymsNr() const;
+ uint16 getSynonymsNr() const { return _numSynonyms; }
/**
* Validate whether the specified public function is exported by