aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/dreamweb.cpp
diff options
context:
space:
mode:
authorVladimir Menshakov2011-06-25 18:20:19 +0400
committerVladimir Menshakov2011-06-25 18:21:37 +0400
commit545e482b5ad5cd440070904dc4446f1569d2b066 (patch)
tree6c0857079ccfe99c3923e5b70538a41f866ea5d5 /engines/dreamweb/dreamweb.cpp
parent375298f69a69e478447feab360fa9296b53e2698 (diff)
downloadscummvm-rg350-545e482b5ad5cd440070904dc4446f1569d2b066.tar.gz
scummvm-rg350-545e482b5ad5cd440070904dc4446f1569d2b066.tar.bz2
scummvm-rg350-545e482b5ad5cd440070904dc4446f1569d2b066.zip
DREAMWEB: Reimplemented modifychar and language switching
Diffstat (limited to 'engines/dreamweb/dreamweb.cpp')
-rw-r--r--engines/dreamweb/dreamweb.cpp55
1 files changed, 54 insertions, 1 deletions
diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp
index e8152e9963..74fcf33407 100644
--- a/engines/dreamweb/dreamweb.cpp
+++ b/engines/dreamweb/dreamweb.cpp
@@ -65,6 +65,8 @@ DreamWebEngine::DreamWebEngine(OSystem *syst, const DreamWebGameDescription *gam
_oldMouseState = 0;
_channel0 = 0;
_channel1 = 0;
+
+ _language = gameDesc->desc.language;
}
DreamWebEngine::~DreamWebEngine() {
@@ -569,7 +571,58 @@ void DreamWebEngine::loadSounds(uint bank, const Common::String &filename) {
}
uint8 DreamWebEngine::modifyChar(uint8 c) const {
- return c;
+ if (c < 128)
+ return c;
+
+ switch(_language) {
+ case Common::DE_DEU:
+ switch(c)
+ {
+ case 129:
+ return 'Z' + 3;
+ case 132:
+ return 'Z' + 1;
+ case 142:
+ return 'Z' + 4;
+ case 154:
+ return 'Z' + 6;
+ case 255:
+ return 'A' - 1;
+ case 153:
+ return 'Z' + 5;
+ case 148:
+ return 'Z' + 2;
+ default:
+ return c;
+ }
+ case Common::ES_ESP:
+ switch(c) {
+ case 160:
+ return 'Z' + 1;
+ case 130:
+ return 'Z' + 2;
+ case 161:
+ return 'Z' + 3;
+ case 162:
+ return 'Z' + 4;
+ case 163:
+ return 'Z' + 5;
+ case 164:
+ return 'Z' + 6;
+ case 165:
+ return ',' - 1;
+ case 168:
+ return 'A' - 1;
+ case 173:
+ return 'A' - 4;
+ case 129:
+ return 'A' - 5;
+ default:
+ return c;
+ }
+ default:
+ return c;
+ }
}
} // End of namespace DreamWeb