diff options
Diffstat (limited to 'engines/sci/engine/vm.cpp')
-rw-r--r-- | engines/sci/engine/vm.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/engines/sci/engine/vm.cpp b/engines/sci/engine/vm.cpp index d5bcb63ce4..e8808a715c 100644 --- a/engines/sci/engine/vm.cpp +++ b/engines/sci/engine/vm.cpp @@ -222,7 +222,9 @@ ExecStack *execute_method(EngineState *s, uint16 script, uint16 pubfunct, StackP } // Check if a breakpoint is set on this method - g_sci->checkExportBreakpoint(script, pubfunct); + if (g_sci->checkExportBreakpoint(script, pubfunct)) { + logExportCall(script, pubfunct, s, argc, argp); + } uint32 exportAddr = scr->validateExportFunc(pubfunct, false); if (!exportAddr) @@ -1133,7 +1135,7 @@ void run_vm(EngineState *s) { case op_pToa: // 0x31 (49) // Property To Accumulator if (g_sci->_debugState._activeBreakpointTypes & BREAK_SELECTORREAD) { - debugPropertyAccess(obj, s->xs->objp, opparams[0], + debugPropertyAccess(obj, s->xs->objp, opparams[0], NULL_SELECTOR, validate_property(s, obj, opparams[0]), NULL_REG, s->_segMan, BREAK_SELECTORREAD); } @@ -1145,7 +1147,7 @@ void run_vm(EngineState *s) { // Accumulator To Property reg_t &opProperty = validate_property(s, obj, opparams[0]); if (g_sci->_debugState._activeBreakpointTypes & BREAK_SELECTORWRITE) { - debugPropertyAccess(obj, s->xs->objp, opparams[0], + debugPropertyAccess(obj, s->xs->objp, opparams[0], NULL_SELECTOR, opProperty, s->r_acc, s->_segMan, BREAK_SELECTORWRITE); } @@ -1162,7 +1164,7 @@ void run_vm(EngineState *s) { // Property To Stack reg_t value = validate_property(s, obj, opparams[0]); if (g_sci->_debugState._activeBreakpointTypes & BREAK_SELECTORREAD) { - debugPropertyAccess(obj, s->xs->objp, opparams[0], + debugPropertyAccess(obj, s->xs->objp, opparams[0], NULL_SELECTOR, value, NULL_REG, s->_segMan, BREAK_SELECTORREAD); } @@ -1176,7 +1178,7 @@ void run_vm(EngineState *s) { reg_t newValue = POP32(); reg_t &opProperty = validate_property(s, obj, opparams[0]); if (g_sci->_debugState._activeBreakpointTypes & BREAK_SELECTORWRITE) { - debugPropertyAccess(obj, s->xs->objp, opparams[0], + debugPropertyAccess(obj, s->xs->objp, opparams[0], NULL_SELECTOR, opProperty, newValue, s->_segMan, BREAK_SELECTORWRITE); } @@ -1198,7 +1200,7 @@ void run_vm(EngineState *s) { reg_t oldValue = opProperty; if (g_sci->_debugState._activeBreakpointTypes & BREAK_SELECTORREAD) { - debugPropertyAccess(obj, s->xs->objp, opparams[0], + debugPropertyAccess(obj, s->xs->objp, opparams[0], NULL_SELECTOR, oldValue, NULL_REG, s->_segMan, BREAK_SELECTORREAD); } @@ -1209,7 +1211,7 @@ void run_vm(EngineState *s) { opProperty -= 1; if (g_sci->_debugState._activeBreakpointTypes & BREAK_SELECTORWRITE) { - debugPropertyAccess(obj, s->xs->objp, opparams[0], + debugPropertyAccess(obj, s->xs->objp, opparams[0], NULL_SELECTOR, oldValue, opProperty, s->_segMan, BREAK_SELECTORWRITE); } |