diff options
-rw-r--r-- | engines/parallaction/disk_ns.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/engines/parallaction/disk_ns.cpp b/engines/parallaction/disk_ns.cpp index 718265664f..bad854525d 100644 --- a/engines/parallaction/disk_ns.cpp +++ b/engines/parallaction/disk_ns.cpp @@ -262,8 +262,15 @@ Common::SeekableReadStream *DosDisk_ns::tryOpenFile(const char* name) { Script* Disk_ns::loadLocation(const char *name) { char path[PATH_LEN]; + const char *charName = _vm->_char.getBaseName(); - sprintf(path, "%s%s/%s.loc", _vm->_char.getBaseName(), _language.c_str(), name); + // WORKAROUND: Special case for the Multilingual DOS version: during the ending + // sequence, it tries to load a non-existing file using "Dinor" as a character + // name. In this case, the character name should be just "dino". + if (!strcmp(charName, "Dinor")) + charName = "dino"; + + sprintf(path, "%s%s/%s.loc", charName, _language.c_str(), name); debugC(3, kDebugDisk, "Disk_ns::loadLocation(%s): trying '%s'", name, path); Common::SeekableReadStream *stream = tryOpenFile(path); |