aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/vm.h
diff options
context:
space:
mode:
authorFilippos Karapetis2012-06-23 21:38:46 +0300
committerFilippos Karapetis2012-06-23 21:45:26 +0300
commit20b677080881580706652b17dd5a4c3ed3e36c07 (patch)
tree299521363c9962767c2acc7f28a6bb4f8aa747de /engines/sci/engine/vm.h
parentc1eb93bc5a9866787f27add5ca1d821e1470a4be (diff)
downloadscummvm-rg350-20b677080881580706652b17dd5a4c3ed3e36c07.tar.gz
scummvm-rg350-20b677080881580706652b17dd5a4c3ed3e36c07.tar.bz2
scummvm-rg350-20b677080881580706652b17dd5a4c3ed3e36c07.zip
SCI: Change the program counter (PC) to be a 32-bit variable
This is needed for future support of large SCI3 scripts. The program counter is isolated and does not interfere with other parts of the VM, plus it does not get stored in saved games, so it's pretty straightforward to convert
Diffstat (limited to 'engines/sci/engine/vm.h')
-rw-r--r--engines/sci/engine/vm.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/engines/sci/engine/vm.h b/engines/sci/engine/vm.h
index f2d225b1d8..a0fd6689df 100644
--- a/engines/sci/engine/vm.h
+++ b/engines/sci/engine/vm.h
@@ -82,7 +82,7 @@ struct ExecStack {
union {
ObjVarRef varp; // Variable pointer for r/w access
- reg_t pc; // Pointer to the initial program counter. Not accurate for the TOS element
+ reg32_t pc; // Pointer to the initial program counter. Not accurate for the TOS element
} addr;
StackPtr fp; // Frame pointer
@@ -102,7 +102,7 @@ struct ExecStack {
reg_t* getVarPointer(SegManager *segMan) const;
ExecStack(reg_t objp_, reg_t sendp_, StackPtr sp_, int argc_, StackPtr argp_,
- SegmentId localsSegment_, reg_t pc_, Selector debugSelector_,
+ SegmentId localsSegment_, reg32_t pc_, Selector debugSelector_,
int debugExportId_, int debugLocalCallOffset_, int debugOrigin_,
ExecStackType type_) {
objp = objp_;