aboutsummaryrefslogtreecommitdiff
path: root/engines/prince/prince.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2016-09-03 16:10:59 +0200
committerEugene Sandulenko2016-09-03 16:10:59 +0200
commit38cf75e885983b88d03272f35e39f5d874eae575 (patch)
treeac0315acc13ff4c829a14de5d658c4a33a7c6c0a /engines/prince/prince.cpp
parent7255a5390192a2cfbc4ecc2f70f226c27aef7a69 (diff)
downloadscummvm-rg350-38cf75e885983b88d03272f35e39f5d874eae575.tar.gz
scummvm-rg350-38cf75e885983b88d03272f35e39f5d874eae575.tar.bz2
scummvm-rg350-38cf75e885983b88d03272f35e39f5d874eae575.zip
PRINCE: Make Russian version of the game start.
Crashes right after the intro AVI.
Diffstat (limited to 'engines/prince/prince.cpp')
-rw-r--r--engines/prince/prince.cpp55
1 files changed, 31 insertions, 24 deletions
diff --git a/engines/prince/prince.cpp b/engines/prince/prince.cpp
index c501f6944d..903f609d80 100644
--- a/engines/prince/prince.cpp
+++ b/engines/prince/prince.cpp
@@ -219,33 +219,40 @@ void PrinceEngine::init() {
debugEngine("Adding all path: %s", gameDataDir.getPath().c_str());
- PtcArchive *all = new PtcArchive();
- if (!all->open("all/databank.ptc"))
- error("Can't open all/databank.ptc");
-
- PtcArchive *voices = new PtcArchive();
- if (!voices->open("voices/databank.ptc"))
- error("Can't open voices/databank.ptc");
-
- PtcArchive *sound = new PtcArchive();
- if (!sound->open("sound/databank.ptc"))
- error("Can't open sound/databank.ptc");
-
- PtcArchive *translation = new PtcArchive();
- if (getFeatures() & GF_TRANSLATED) {
- if (!translation->openTranslation("all/prince_translation.dat"))
- error("Can't open prince_translation.dat");
+ if (getLanguage() != Common::RU_RUS) {
+ PtcArchive *all = new PtcArchive();
+ if (!all->open("all/databank.ptc"))
+ error("Can't open all/databank.ptc");
+
+ PtcArchive *voices = new PtcArchive();
+ if (!voices->open("voices/databank.ptc"))
+ error("Can't open voices/databank.ptc");
+
+ PtcArchive *sound = new PtcArchive();
+ if (!sound->open("sound/databank.ptc"))
+ error("Can't open sound/databank.ptc");
+
+ SearchMan.addSubDirectoryMatching(gameDataDir, "all");
+
+ // Prefix the archive names, so that "all" doesn't conflict with the
+ // "all" directory, if that happens to be named in all lower case.
+ // It isn't on the CD, but we should try to stay case-insensitive.
+ SearchMan.add("_all", all);
+ SearchMan.add("_voices", voices);
+ SearchMan.add("_sound", sound);
+ } else {
+ SearchMan.addSubDirectoryMatching(gameDataDir, "all");
+ SearchMan.addSubDirectoryMatching(gameDataDir, "voices");
+ SearchMan.addSubDirectoryMatching(gameDataDir, "sound");
}
- SearchMan.addSubDirectoryMatching(gameDataDir, "all");
-
- // Prefix the archive names, so that "all" doesn't conflict with the
- // "all" directory, if that happens to be named in all lower case.
- // It isn't on the CD, but we should try to stay case-insensitive.
- SearchMan.add("_all", all);
- SearchMan.add("_voices", voices);
- SearchMan.add("_sound", sound);
if (getFeatures() & GF_TRANSLATED) {
+ PtcArchive *translation = new PtcArchive();
+ if (getFeatures() & GF_TRANSLATED) {
+ if (!translation->openTranslation("all/prince_translation.dat"))
+ error("Can't open prince_translation.dat");
+ }
+
SearchMan.add("translation", translation);
}