HE 7.2 uses different array headers. they introduced start indexes, so it
became in somewhat Pascal fashion, i.e. array[2..3][10..20]. So I had to override ArrayHeader function in ScummEngine_v72he. Also there is new array type kDwordArray. So that is implemented as well. Though, not everything yet transferred to use new ArrayHeader, so running HE 7.2 titles is risky now. Some opcodes were implemented along the way. svn-id: r14735
This commit is contained in:
parent
45d8b3b002
commit
d3727e1c2a
4 changed files with 288 additions and 56 deletions
|
@ -1968,6 +1968,9 @@ byte *ScummEngine::getStringAddress(int i) {
|
|||
if (!b)
|
||||
return NULL;
|
||||
|
||||
if (_heversion >= 72)
|
||||
return (b + 0x14); // ArrayHeader->data
|
||||
|
||||
if (_features & GF_NEW_OPCODES)
|
||||
return ((ArrayHeader *)b)->data;
|
||||
return b;
|
||||
|
@ -1983,6 +1986,9 @@ byte *ScummEngine::getStringAddressVar(int i) {
|
|||
// error("NULL string var %d slot %d", i, _scummVars[i]);
|
||||
return NULL;
|
||||
|
||||
if (_heversion >= 72)
|
||||
return (addr + 0x14); // ArrayHeader->data
|
||||
|
||||
if (_features & GF_NEW_OPCODES)
|
||||
return ((ArrayHeader *)addr)->data;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue