aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/vm.h
diff options
context:
space:
mode:
authorMax Horn2009-05-10 19:17:51 +0000
committerMax Horn2009-05-10 19:17:51 +0000
commit019f87fd1b25f88c46615edbe09de6618d4b3bf7 (patch)
treee1948dd0ee65fb7cec3b59f5bc59bf2cc0946631 /engines/sci/engine/vm.h
parent36818ced2a546ccb5318adaa22f8d90794edca8a (diff)
downloadscummvm-rg350-019f87fd1b25f88c46615edbe09de6618d4b3bf7.tar.gz
scummvm-rg350-019f87fd1b25f88c46615edbe09de6618d4b3bf7.tar.bz2
scummvm-rg350-019f87fd1b25f88c46615edbe09de6618d4b3bf7.zip
SCI: Changed object list in Script instances to use Common:::Array
svn-id: r40431
Diffstat (limited to 'engines/sci/engine/vm.h')
-rw-r--r--engines/sci/engine/vm.h17
1 files changed, 8 insertions, 9 deletions
diff --git a/engines/sci/engine/vm.h b/engines/sci/engine/vm.h
index 65ecb0584f..0f3ed5f0ab 100644
--- a/engines/sci/engine/vm.h
+++ b/engines/sci/engine/vm.h
@@ -277,6 +277,8 @@ struct Object {
uint16 *base_method; /**< Pointer to the method selector area for this object */
uint16 *base_vars; /**< Pointer to the varselector area for this object */
reg_t *variables;
+
+ Object() { memset(this, 0, sizeof(*this)); }
};
struct CodeBlock {
@@ -323,11 +325,12 @@ struct Script : public MemObject {
int synonyms_nr; /**< Number of entries in the synonyms block */
int lockers; /**< Number of classes and objects that require this script */
- Object *objects; /**< Table for objects, contains property variables */
- /* Indexed by the value stored at SCRIPT_LOCALVARPTR_OFFSET,
- ** see VM_OBJECT_[GS]ET_INDEX() */
- int objects_nr; /**< Number of objects and classes */
- int objects_allocated; /**< Number of allocated objects */
+ /**
+ * Table for objects, contains property variables.
+ * Indexed by the value stored at SCRIPT_LOCALVARPTR_OFFSET,
+ * see VM_OBJECT_[GS]ET_INDEX()
+ */
+ Common::Array<Object> _objects;
int locals_offset;
int locals_segment; /**< The local variable segment */
@@ -353,10 +356,6 @@ public:
obj_indices = NULL;
- objects = NULL;
- objects_allocated = 0;
- objects_nr = 0;
-
locals_offset = 0;
locals_segment = 0;
locals_block = NULL;