aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/he/script_v80he.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/scumm/he/script_v80he.cpp')
-rw-r--r--engines/scumm/he/script_v80he.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/engines/scumm/he/script_v80he.cpp b/engines/scumm/he/script_v80he.cpp
index a0a6ab1ef2..aa78757c53 100644
--- a/engines/scumm/he/script_v80he.cpp
+++ b/engines/scumm/he/script_v80he.cpp
@@ -466,8 +466,17 @@ void ScummEngine_v80he::o80_readConfigFile() {
copyScriptString(option, sizeof(option));
copyScriptString(section, sizeof(section));
copyScriptString(filename, sizeof(filename));
+
r = convertFilePath(filename);
+ if (_game.id == GID_TREASUREHUNT) {
+ // WORKAROUND: Remove invalid characters
+ if (!strcmp((char *)section, "Blue'sTreasureHunt-Disc1"))
+ memcpy(section, "BluesTreasureHunt-Disc1\0", 24);
+ else if (!strcmp((char *)section, "Blue'sTreasureHunt-Disc2"))
+ memcpy(section, "BluesTreasureHunt-Disc2\0", 24);
+ }
+
Common::ConfigFile ConfFile;
if (!strcmp((char *)filename + r, "map.ini"))
ConfFile.loadFromFile((const char *)filename + r);
@@ -528,6 +537,14 @@ void ScummEngine_v80he::o80_writeConfigFile() {
r = convertFilePath(filename);
+ if (_game.id == GID_TREASUREHUNT) {
+ // WORKAROUND: Remove invalid characters
+ if (!strcmp((char *)section, "Blue'sTreasureHunt-Disc1"))
+ memcpy(section, "BluesTreasureHunt-Disc1\0", 24);
+ else if (!strcmp((char *)section, "Blue'sTreasureHunt-Disc2"))
+ memcpy(section, "BluesTreasureHunt-Disc2\0", 24);
+ }
+
Common::ConfigFile ConfFile;
ConfFile.loadFromSaveFile((const char *)filename + r);
ConfFile.setKey((char *)option, (char *)section, (char *)string);