From 0676e640dbebbe2f49aab902454b99693b1bb560 Mon Sep 17 00:00:00 2001 From: Colin Snover Date: Thu, 16 Feb 2017 20:19:25 -0600 Subject: SCI: Fix bad offsets in disassembly for SCI3 lofsa/lofss --- engines/sci/engine/scriptdebug.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'engines/sci/engine/scriptdebug.cpp') diff --git a/engines/sci/engine/scriptdebug.cpp b/engines/sci/engine/scriptdebug.cpp index 507fd97795..52281e228c 100644 --- a/engines/sci/engine/scriptdebug.cpp +++ b/engines/sci/engine/scriptdebug.cpp @@ -225,9 +225,12 @@ reg_t disassemble(EngineState *s, reg32_t pos, reg_t objAddr, bool printBWTag, b } if (opcode == op_lofsa || opcode == op_lofss) { - reg_t addr = make_reg(pos.getSegment(), findOffset(param_value, script_entity, pos.getOffset())); + const uint32 offset = findOffset(param_value, script_entity, retval.getOffset()); + reg_t addr; + addr.setSegment(retval.getSegment()); + addr.setOffset(offset); debugN("\t%s", s->_segMan->getObjectName(addr)); - debugN(opsize ? "[%02x]" : "[%04x]", param_value); + debugN(opsize ? "[%02x]" : "[%04x]", offset); } else { debugN(opsize ? "\t%02x" : "\t%04x", param_value); } -- cgit v1.2.3