diff options
author | sluicebox | 2020-01-09 17:53:11 -0800 |
---|---|---|
committer | sluicebox | 2020-01-09 18:04:03 -0800 |
commit | a804afc57192a5ca5db0ce408d658300ceb2651f (patch) | |
tree | 3b9f34eebf8a6abbb5badfc03fcdfd8e31785d52 /engines/sci/engine/vm.cpp | |
parent | 485e8bee17230ed8e17a27eaf148a3330f305a6f (diff) | |
download | scummvm-rg350-a804afc57192a5ca5db0ce408d658300ceb2651f.tar.gz scummvm-rg350-a804afc57192a5ca5db0ce408d658300ceb2651f.tar.bz2 scummvm-rg350-a804afc57192a5ca5db0ce408d658300ceb2651f.zip |
SCI: Trigger bpr/bpw breakpoints within kernel calls
Trac #9835
Diffstat (limited to 'engines/sci/engine/vm.cpp')
-rw-r--r-- | engines/sci/engine/vm.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/engines/sci/engine/vm.cpp b/engines/sci/engine/vm.cpp index d5bcb63ce4..b4221eb28c 100644 --- a/engines/sci/engine/vm.cpp +++ b/engines/sci/engine/vm.cpp @@ -1133,7 +1133,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 +1145,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 +1162,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 +1176,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 +1198,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 +1209,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); } |