From b48045662dd4618ec9058bdc05ec50089abf740f Mon Sep 17 00:00:00 2001 From: Martin Kiewitz Date: Mon, 19 Jul 2010 10:19:13 +0000 Subject: SCI: fix ult to work for pq2 japanese pq2 japanese compares pointers to 2000 to find out if its a resourceid or a pointer svn-id: r51023 --- engines/sci/engine/vm.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'engines/sci/engine') diff --git a/engines/sci/engine/vm.cpp b/engines/sci/engine/vm.cpp index ba35e024e1..419acd3871 100644 --- a/engines/sci/engine/vm.cpp +++ b/engines/sci/engine/vm.cpp @@ -1444,7 +1444,8 @@ void run_vm(EngineState *s, bool restoring) { r_temp = POP32(); // See above - if (r_temp.segment && (s->r_acc == make_reg(0, 1000))) + // PQ2 japanese compares pointers to 2000 to find out if its a pointer or a resourceid + if (r_temp.segment && (s->r_acc == make_reg(0, 1000) || (s->r_acc == make_reg(0, 2000)))) s->r_acc = NULL_REG; else if (r_temp.segment && s->r_acc.segment) s->r_acc = make_reg(0, (r_temp.segment == s->r_acc.segment) && r_temp.offset < s->r_acc.offset); -- cgit v1.2.3