From fd389260f87d347ecf2255014a70f2ffd005c9cc Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Sun, 12 Mar 2006 10:44:42 +0000 Subject: Adjust basename array setting in HE99+ games, for filename substitution svn-id: r21229 --- engines/scumm/scumm.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'engines') 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 -- cgit v1.2.3