aboutsummaryrefslogtreecommitdiff
path: root/sky/sky.cpp
diff options
context:
space:
mode:
authorRobert Göffringmann2003-07-12 05:38:04 +0000
committerRobert Göffringmann2003-07-12 05:38:04 +0000
commit67a760d10c18f4b0af37fa6a11ff817b2c318e87 (patch)
tree8f18c284338b01aa78a2973152c95eb5c1a6bf23 /sky/sky.cpp
parentcb48b4fca0b6a1fc816ba6cb49f497476ebcd534 (diff)
downloadscummvm-rg350-67a760d10c18f4b0af37fa6a11ff817b2c318e87.tar.gz
scummvm-rg350-67a760d10c18f4b0af37fa6a11ff817b2c318e87.tar.bz2
scummvm-rg350-67a760d10c18f4b0af37fa6a11ff817b2c318e87.zip
floppy versions don't seem to have all languages in their datafiles.
svn-id: r8927
Diffstat (limited to 'sky/sky.cpp')
-rw-r--r--sky/sky.cpp24
1 files changed, 15 insertions, 9 deletions
diff --git a/sky/sky.cpp b/sky/sky.cpp
index 25e51c40a1..0abec1227c 100644
--- a/sky/sky.cpp
+++ b/sky/sky.cpp
@@ -87,10 +87,6 @@ SkyState::SkyState(GameDetector *detector, OSystem *syst)
_debugMode = detector->_debugMode;
_debugLevel = detector->_debugLevel;
- if (detector->_language > 10)
- _systemVars.language = SKY_USA;
- else
- _systemVars.language = _languageTable[detector->_language];
_detector = detector;
_floppyIntro = detector->_floppyIntro;
@@ -232,11 +228,11 @@ void SkyState::initialise(void) {
_skyMusic = new SkyGmMusic(_detector->createMidi(), _skyDisk, _system);
}
- // Override global fullscreen setting with any game-specific define
- if (g_config->getBool("fullscreen", false)) {
- if (!_system->property(OSystem::PROP_GET_FULLSCREEN, 0))
- _system->property(OSystem::PROP_TOGGLE_FULLSCREEN, 0);
- }
+ // Override global fullscreen setting with any game-specific define
+ if (g_config->getBool("fullscreen", false)) {
+ if (!_system->property(OSystem::PROP_GET_FULLSCREEN, 0))
+ _system->property(OSystem::PROP_TOGGLE_FULLSCREEN, 0);
+ }
if (isCDVersion()) {
if (_detector->_noSubtitles)
@@ -268,6 +264,16 @@ void SkyState::initialise(void) {
if (_systemVars.gameVersion == 288)
SkyCompact::patchFor288();
+ if (_detector->_language > 10)
+ _systemVars.language = SKY_USA;
+ else
+ _systemVars.language = _languageTable[_detector->_language];
+
+ if (!_skyDisk->fileExists(60600 + SkyState::_systemVars.language * 8)) {
+ warning("The language you selected does not exist in your BASS version.\nSwitching to english.");
+ SkyState::_systemVars.language = SKY_ENGLISH;
+ }
+
uint16 result = 0;
if (_detector->_save_slot >= 0)
result = _skyControl->quickXRestore(_detector->_save_slot);