aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/vm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/engine/vm.cpp')
-rw-r--r--engines/sci/engine/vm.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/engines/sci/engine/vm.cpp b/engines/sci/engine/vm.cpp
index d552cedf9e..f645e31fb7 100644
--- a/engines/sci/engine/vm.cpp
+++ b/engines/sci/engine/vm.cpp
@@ -1354,11 +1354,16 @@ void run_vm(EngineState *s, int restoring) {
break;
case op_pushSelf: // 0x3e (62)
- PUSH32(scriptState.xs->objp);
+ if (!(opcode & 1)) {
+ PUSH32(scriptState.xs->objp);
+ } else {
+ // Debug opcode op_file, skip null-terminated string (file name)
+ while (GET_OP_BYTE()) ;
+ }
break;
- case 0x3f: // (63)
- error("Dummy opcode 0x%x called", opnumber); // should never happen
+ case op_line: // 0x3f (63)
+ // Debug opcode (line number)
break;
case op_lag: // 0x40 (64)