aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/engine/vm.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/engines/sci/engine/vm.h b/engines/sci/engine/vm.h
index 5576d98871..a9313cc56c 100644
--- a/engines/sci/engine/vm.h
+++ b/engines/sci/engine/vm.h
@@ -56,14 +56,21 @@ struct MemObject /* : public Common::Serializable */ {
int _segmgrId; /**< Internal value used by the seg_manager's hash map */
public:
+ static MemObject *createMemObject(MemObjectType type);
+
+public:
virtual ~MemObject() {}
+ /**
+ * Dereferences a raw memory pointer.
+ * @param reg reference to dereference
+ * @param size if not NULL, set to the theoretical maximum size of the referenced data block
+ * @return the data block referenced
+ */
virtual byte *dereference(reg_t pointer, int *size);
inline MemObjectType getType() const { return _type; }
inline int getSegMgrId() const { return _segmgrId; }
-
- static MemObject *createMemObject(MemObjectType type);
};