aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/dreamweb.cpp
diff options
context:
space:
mode:
authorThierry Crozat2012-04-09 19:38:25 +0100
committerThierry Crozat2012-04-15 11:45:14 +0100
commita3406aab131142418b442e74bdd0f5a5ab196028 (patch)
tree6bbe0ad72e884cb6ca01676360c8439e902d8e4e /engines/dreamweb/dreamweb.cpp
parent586d9bf32fed9bc2009dcf890a0b714e1e618c2c (diff)
downloadscummvm-rg350-a3406aab131142418b442e74bdd0f5a5ab196028.tar.gz
scummvm-rg350-a3406aab131142418b442e74bdd0f5a5ab196028.tar.bz2
scummvm-rg350-a3406aab131142418b442e74bdd0f5a5ab196028.zip
DREAMWEB: Support opening data files from ES and FR CD version
Diffstat (limited to 'engines/dreamweb/dreamweb.cpp')
-rw-r--r--engines/dreamweb/dreamweb.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp
index a846579e46..52aa6ff487 100644
--- a/engines/dreamweb/dreamweb.cpp
+++ b/engines/dreamweb/dreamweb.cpp
@@ -63,6 +63,20 @@ DreamWebEngine::DreamWebEngine(OSystem *syst, const DreamWebGameDescription *gam
_channel1 = 0;
_datafilePrefix = "DREAMWEB.";
+ // ES and FR CD release use a different data file prefix
+ if (isCD()) {
+ switch(getLanguage()) {
+ case Common::ES_ESP:
+ _datafilePrefix = "DREAMWSP.";
+ break;
+ case Common::FR_FRA:
+ _datafilePrefix = "DREAMWFR.";
+ break;
+ default:
+ // Nothing to do
+ break;
+ }
+ }
_openChangeSize = kInventx+(4*kItempicsize);
_quitRequested = false;
@@ -530,6 +544,33 @@ uint8 DreamWebEngine::modifyChar(uint8 c) const {
return c;
}
}
+
+Common::String DreamWebEngine::modifyFileName(const char* name) {
+ Common::String fileName(name);
+
+ // Sanity check
+ if (!fileName.hasPrefix("DREAMWEB"))
+ return fileName;
+
+ // CD ES and FR release use a different file name
+ if (isCD()) {
+ switch(getLanguage()) {
+ case Common::ES_ESP:
+ fileName.setChar('S', 6);
+ fileName.setChar('P', 7);
+ break;
+ case Common::FR_FRA:
+ fileName.setChar('F', 6);
+ fileName.setChar('R', 7);
+ break;
+ default:
+ // Nothing to do
+ break;
+ }
+ }
+
+ return fileName;
+}
bool DreamWebEngine::hasSpeech() {
return isCD() && _hasSpeech;