From ceacf7df12edbdce058f9124ea3639a490fd824b Mon Sep 17 00:00:00 2001 From: Colin Snover Date: Thu, 5 Jan 2017 21:06:52 -0600 Subject: SCI: Handle >64KiB offsets in parse_reg_t --- engines/sci/console.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'engines') diff --git a/engines/sci/console.cpp b/engines/sci/console.cpp index 16f59523b4..5c7a9e6d4a 100644 --- a/engines/sci/console.cpp +++ b/engines/sci/console.cpp @@ -4233,14 +4233,14 @@ static int parse_reg_t(EngineState *s, const char *str, reg_t *dest, bool mayBeV relativeOffset = true; if (!scumm_strnicmp(str + 1, "PC", 2)) { - // TODO: Handle 32-bit PC addresses reg32_t pc = s->_executionStack.back().addr.pc; - *dest = make_reg(pc.getSegment(), (uint16)pc.getOffset()); + dest->setSegment(pc.getSegment()); + dest->setOffset(pc.getOffset()); offsetStr = str + 3; } else if (!scumm_strnicmp(str + 1, "P", 1)) { - // TODO: Handle 32-bit PC addresses reg32_t pc = s->_executionStack.back().addr.pc; - *dest = make_reg(pc.getSegment(), (uint16)pc.getOffset()); + dest->setSegment(pc.getSegment()); + dest->setOffset(pc.getOffset()); offsetStr = str + 2; } else if (!scumm_strnicmp(str + 1, "PREV", 4)) { *dest = s->r_prev; -- cgit v1.2.3