diff options
-rw-r--r-- | scumm/script_v6.cpp | 2 | ||||
-rw-r--r-- | scumm/script_v72he.cpp | 8 |
2 files changed, 3 insertions, 7 deletions
diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp index 220899cae7..1519a2b71a 100644 --- a/scumm/script_v6.cpp +++ b/scumm/script_v6.cpp @@ -3018,7 +3018,7 @@ void ScummEngine_v6::o6_pickVarRandom() { num = readArray(value, 0, 0); - byte *ptr = getResourceAddress(rtString, num); + byte *ptr = getResourceAddress(rtString, readVar(value)); if (_version >= 7 || _heversion >= 72) { var_A = READ_LE_UINT32(ptr + 4); var_C = READ_LE_UINT32(ptr + 8); diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp index 1fbcda7c95..48d39aee92 100644 --- a/scumm/script_v72he.cpp +++ b/scumm/script_v72he.cpp @@ -1565,12 +1565,8 @@ void ScummEngine_v72he::o72_pickVarRandom() { num = readArray(value, 0, 0); - ArrayHeader *ah = (ArrayHeader *)getResourceAddress(rtString, num); - // FIXME - if (!ah) - var_A = 0; - else - var_A = FROM_LE_32(ah->dim1end); + ArrayHeader *ah = (ArrayHeader *)getResourceAddress(rtString, readVar(value)); + var_A = FROM_LE_32(ah->dim1end); if (var_A-1 <= num) { int16 var_2 = readArray(value, 0, num - 1); |