diff options
author | Robert Göffringmann | 2003-07-12 15:26:07 +0000 |
---|---|---|
committer | Robert Göffringmann | 2003-07-12 15:26:07 +0000 |
commit | 7c92fb40aec2a20c22bf889a46d3c3177b7a9cae (patch) | |
tree | d5757f36300e89a5dc5f0d09fc64808786b0cd75 /sky | |
parent | 5825d77e3746a9d11b940e9b0345eb53a60ea2bd (diff) | |
download | scummvm-rg350-7c92fb40aec2a20c22bf889a46d3c3177b7a9cae.tar.gz scummvm-rg350-7c92fb40aec2a20c22bf889a46d3c3177b7a9cae.tar.bz2 scummvm-rg350-7c92fb40aec2a20c22bf889a46d3c3177b7a9cae.zip |
try all languages, if selected one can't be found.
svn-id: r8946
Diffstat (limited to 'sky')
-rw-r--r-- | sky/sky.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/sky/sky.cpp b/sky/sky.cpp index 1fa9c2d063..ba08c1a750 100644 --- a/sky/sky.cpp +++ b/sky/sky.cpp @@ -177,7 +177,7 @@ void SkyState::go() { bool introSkipped = false; if (!_quickLaunch) { - if (_systemVars.gameVersion != 267) // don't do intro for floppydemo + if (_systemVars.gameVersion <= 267) // don't do intro for floppydemos introSkipped = !intro(); _skyDisk->flushPrefetched(); @@ -270,8 +270,17 @@ void SkyState::initialise(void) { _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; + warning("The language you selected does not exist in your BASS version."); + if (_skyDisk->fileExists(60600)) + SkyState::_systemVars.language = SKY_ENGLISH; + else if (_skyDisk->fileExists(60600 + SKY_USA * 8)) + SkyState::_systemVars.language = SKY_USA; + else + for (uint8 cnt = SKY_ENGLISH; cnt <= SKY_SPANISH; cnt++) + if (_skyDisk->fileExists(60600 + cnt * 8)) { + SkyState::_systemVars.language = cnt; + break; + } } uint16 result = 0; |