aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/script.h
diff options
context:
space:
mode:
authorFilippos Karapetis2010-11-17 11:15:52 +0000
committerFilippos Karapetis2010-11-17 11:15:52 +0000
commitb707d6e7dc1baf2fb403ecf5e6e67c5ffa1d7019 (patch)
tree6d9b657c26007671133baa2a63aaeae3f5e86574 /engines/sci/engine/script.h
parent59ad5085bc317488ebb006737cc130c9cb100a80 (diff)
downloadscummvm-rg350-b707d6e7dc1baf2fb403ecf5e6e67c5ffa1d7019.tar.gz
scummvm-rg350-b707d6e7dc1baf2fb403ecf5e6e67c5ffa1d7019.tar.bz2
scummvm-rg350-b707d6e7dc1baf2fb403ecf5e6e67c5ffa1d7019.zip
SCI: More work on SCI3, based on a patch by lskovlun
- Added SCI3 equivalents for access to object selectors - Added SCI3 implementation of object relocation - Added SCI3 implementation of Script::initialiseClasses() svn-id: r54283
Diffstat (limited to 'engines/sci/engine/script.h')
-rw-r--r--engines/sci/engine/script.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/engines/sci/engine/script.h b/engines/sci/engine/script.h
index 2105d1e6de..313f53600c 100644
--- a/engines/sci/engine/script.h
+++ b/engines/sci/engine/script.h
@@ -250,17 +250,30 @@ public:
private:
/**
- * Processes a relocation block witin a script
+ * Processes a relocation block within a SCI0-SCI2.1 script
* This function is idempotent, but it must only be called after all
* objects have been instantiated, or a run-time error will occur.
* @param obj_pos Location (segment, offset) of the block
- * @return Location of the relocation block
*/
- void relocate(reg_t block);
+ void relocateSci0Sci21(reg_t block);
+
+ /**
+ * Processes a relocation block within a SCI3 script
+ * This function is idempotent, but it must only be called after all
+ * objects have been instantiated, or a run-time error will occur.
+ * @param obj_pos Location (segment, offset) of the block
+ */
+ void relocateSci3(reg_t block);
bool relocateLocal(SegmentId segment, int location);
/**
+ * Resolve a relocation in an SCI3 script
+ * @param offset The offset to relocate from
+ */
+ int relocateOffsetSci3(uint32 offset);
+
+ /**
* Gets a pointer to the beginning of the objects in a SCI3 script
*/
const byte *getSci3ObjectsPointer();