aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--simon/res.cpp17
-rw-r--r--simon/sound.cpp12
2 files changed, 22 insertions, 7 deletions
diff --git a/simon/res.cpp b/simon/res.cpp
index fcf4444a2e..f179986936 100644
--- a/simon/res.cpp
+++ b/simon/res.cpp
@@ -102,8 +102,14 @@ bool SimonState::loadGamePcFile(const char *filename)
/* read main gamepc file */
in->open(filename, _gameDataPath);
- if (in->isOpen() == false)
- return false;
+ if (in->isOpen() == false) {
+ char filename2[strlen(filename) + 1];
+ strcpy(filename2, filename);
+ strcat(filename2, ".");
+ in->open(filename2, _gameDataPath);
+ if (in->isOpen() == false)
+ return false;
+ }
num_inited_objects = allocGamePcVars(in);
@@ -121,8 +127,11 @@ bool SimonState::loadGamePcFile(const char *filename)
/* Read list of TABLE resources */
in->open("TBLLIST", _gameDataPath);
- if (in->isOpen() == false)
- return false;
+ if (in->isOpen() == false) {
+ in->open("TBLLIST.", _gameDataPath);
+ if (in->isOpen() == false)
+ return false;
+ }
file_size = in->size();
diff --git a/simon/sound.cpp b/simon/sound.cpp
index be2eef7803..3c316396b5 100644
--- a/simon/sound.cpp
+++ b/simon/sound.cpp
@@ -94,9 +94,15 @@ void SimonSound::readSfxFile(const char *filename, const char *gameDataPath)
file->open(filename, gameDataPath);
if (file->isOpen() == false) {
- if (atoi(filename + 6) != 1 && atoi(filename + 6) != 30)
- warning("readSfxFile: Cannot load sfx file %s", filename);
- return;
+ char filename2[strlen(filename) + 1];
+ strcpy(filename2, filename);
+ strcat(filename2, ".");
+ file->open(filename2, gameDataPath);
+ if (file->isOpen() == false) {
+ if (atoi(filename + 6) != 1 && atoi(filename + 6) != 30)
+ warning("readSfxFile: Cannot load sfx file %s", filename);
+ return;
+ }
}
_effects = new WavSound(_mixer, file);