diff options
author | Travis Howell | 2006-03-12 10:44:42 +0000 |
---|---|---|
committer | Travis Howell | 2006-03-12 10:44:42 +0000 |
commit | fd389260f87d347ecf2255014a70f2ffd005c9cc (patch) | |
tree | a68c1ac32a67ea5730bd4fcc3ccf34876b15f440 /engines/scumm | |
parent | e94aa88ecedac24e0a2f3581425f60b10d5acb41 (diff) | |
download | scummvm-rg350-fd389260f87d347ecf2255014a70f2ffd005c9cc.tar.gz scummvm-rg350-fd389260f87d347ecf2255014a70f2ffd005c9cc.tar.bz2 scummvm-rg350-fd389260f87d347ecf2255014a70f2ffd005c9cc.zip |
Adjust basename array setting in HE99+ games, for filename substitution
svn-id: r21229
Diffstat (limited to 'engines/scumm')
-rw-r--r-- | engines/scumm/scumm.cpp | 15 |
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 |