aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/scumm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/scumm.cpp')
-rw-r--r--engines/scumm/scumm.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index db7dca86ed..3bfefb1410 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -1607,12 +1607,19 @@ void ScummEngine_v99he::scummInit() {
_hePalettes = (uint8 *)malloc((_numPalettes + 1) * 1024);
memset(_hePalettes, 0, (_numPalettes + 1) * 1024);
+ byte basename[256];
+ char buf1[128];
+
+ strcpy((char *)basename, _baseName.c_str());
+ if (_substResFileName.almostGameID != 0) {
+ generateSubstResFileName((char *)basename, buf1, sizeof(buf1));
+ strcpy((char *)basename, buf1);
+ }
+
// Array 129 is set to base name
- // FIXME: Of course, we probably would want to insert the value
- // *after* applying the filename substitution here... ?
- int len = _baseName.size() + 1;
+ int len = resStrLen(basename);
ArrayHeader *ah = defineArray(129, kStringArray, 0, 0, 0, len);
- memcpy(ah->data, _baseName.c_str(), len);
+ memcpy(ah->data, basename, len);
}
#endif