SCI: change segment offsets in reg segments to be in half reg_t.
This makes offsets in raw and reg segments consistent, which fixes string addressing in savegame dialogs. svn-id: r44396
This commit is contained in:
parent
56e2e32268
commit
77751a0455
3 changed files with 5 additions and 9 deletions
|
@ -264,7 +264,7 @@ SegmentRef LocalVariables::dereference(reg_t pointer) {
|
|||
SegmentRef ret;
|
||||
ret.isRaw = false; // reg_t based data!
|
||||
ret.maxSize = _locals.size() * sizeof(reg_t);
|
||||
ret.raw = (byte *)&_locals[0] + pointer.offset;
|
||||
ret.raw = (byte *)&_locals[pointer.offset/2];
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -279,7 +279,7 @@ SegmentRef DataStack::dereference(reg_t pointer) {
|
|||
// FIXME: Is this correct? See comment in LocalVariables::dereference
|
||||
if (pointer.offset & 1)
|
||||
warning("LocalVariables::dereference: Odd offset in pointer %04x:%04x", PRINT_REG(pointer));
|
||||
ret.raw = (byte *)_entries + pointer.offset;
|
||||
ret.raw = (byte *)&_entries[pointer.offset/2];
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue