diff options
author | Chris Apers | 2006-02-25 20:54:01 +0000 |
---|---|---|
committer | Chris Apers | 2006-02-25 20:54:01 +0000 |
commit | ba6c48583c284db946b3395d485a1e0429af061e (patch) | |
tree | cb08cd957d9cda89f574cf44a7c28884119a9dc5 /backends/PalmOS/Src | |
parent | b558663e849312c7f548c181c8fe2e5b57da39e4 (diff) | |
download | scummvm-rg350-ba6c48583c284db946b3395d485a1e0429af061e.tar.gz scummvm-rg350-ba6c48583c284db946b3395d485a1e0429af061e.tar.bz2 scummvm-rg350-ba6c48583c284db946b3395d485a1e0429af061e.zip |
- Added 3DO platform
- talkSpeed and copryprotection are now global to all engines
- Fixed music and sound configuration
svn-id: r20891
Diffstat (limited to 'backends/PalmOS/Src')
-rw-r--r-- | backends/PalmOS/Src/launch.cpp | 65 |
1 files changed, 26 insertions, 39 deletions
diff --git a/backends/PalmOS/Src/launch.cpp b/backends/PalmOS/Src/launch.cpp index 7f9106b463..282b9ae8e9 100644 --- a/backends/PalmOS/Src/launch.cpp +++ b/backends/PalmOS/Src/launch.cpp @@ -169,12 +169,10 @@ Boolean StartScummVM() { UInt32 stackSize; Boolean toLauncher, direct, isARM; UInt8 engine; + Char num[6]; - UInt16 musicDriver = sysInvalidRefNum; // for launch call UInt16 index = GamGetSelected(); - Char num[6]; - argvP = ArgsInit(); direct = false; @@ -302,6 +300,7 @@ Boolean StartScummVM() { // not a PC version if (gameInfoP->setPlatform) { static const char *platform[] = { + "3do", "acorn", "amiga", "atari", @@ -331,17 +330,14 @@ Boolean StartScummVM() { ArgsAdd(&argvP[argc], "--tempo=", num, &argc); } - if (engine == ENGINE_SCUMM || engine == ENGINE_SAGA) { - // talk speed - if (gameInfoP->talkSpeed) { - StrIToA(num, gameInfoP->talkValue); - ArgsAdd(&argvP[argc], "--talkspeed=", num, &argc); - } + // talk speed + if (gameInfoP->talkSpeed) { + StrIToA(num, gameInfoP->talkValue); + ArgsAdd(&argvP[argc], "--talkspeed=", num, &argc); } // music driver - musicDriver = gameInfoP->musicInfo.sound.music; - if (musicDriver) { + if (gameInfoP->musicInfo.sound.music) { switch (gameInfoP->musicInfo.sound.drvMusic) { case 0: // NULL ArgsAdd(&argvP[argc], "-e", "null", &argc); @@ -372,9 +368,18 @@ Boolean StartScummVM() { ArgsAdd(&argvP[argc], "-e", "pcspk", &argc); break; } - } - else // NULL as default + + // output rate + UInt32 rates[] = {4000, 8000, 11025, 22050, 44100}; + StrIToA(num, rates[gameInfoP->musicInfo.sound.rate]); + ArgsAdd(&argvP[argc], "--output-rate=", num, &argc); + + // FM quality + gVars->fmQuality = gameInfoP->fmQuality; + + } else { ArgsAdd(&argvP[argc], "-e", "null", &argc); + } // volume control StrIToA(num, gameInfoP->musicInfo.volume.sfx); @@ -384,25 +389,9 @@ Boolean StartScummVM() { StrIToA(num, gameInfoP->musicInfo.volume.speech); ArgsAdd(&argvP[argc], "-r", num, &argc); - // output rate - if (gameInfoP->musicInfo.sound.sfx) { - UInt32 rates[] = {4000, 8000, 11025, 22050, 44100}; - StrIToA(num, rates[gameInfoP->musicInfo.sound.rate]); - ArgsAdd(&argvP[argc], "--output-rate=", num, &argc); - } - - // FM quality - gVars->fmQuality = gameInfoP->fmQuality; - // game name ArgsAdd(&argvP[argc], gameInfoP->gameP, NULL, &argc); - // use sound - if (!gameInfoP->musicInfo.sound.sfx) { // FIXME : not the good way to do it -// OPTIONS_RST(kOptSonyPa1LibAPI); -// OPTIONS_RST(kOptPalmSoundAPI); - } - // others globals data gVars->CD.enable = gameInfoP->musicInfo.sound.CD; gVars->CD.driver = gameInfoP->musicInfo.sound.drvCD; @@ -410,7 +399,7 @@ Boolean StartScummVM() { gVars->CD.volume = gameInfoP->musicInfo.volume.audiocd; gVars->CD.defaultTrackLength = gameInfoP->musicInfo.sound.defaultTrackLength; gVars->CD.firstTrack = gameInfoP->musicInfo.sound.firstTrack; - gVars->palmVolume = musicDriver ? gameInfoP->musicInfo.volume.palm : 0; + gVars->palmVolume = gameInfoP->musicInfo.sound.music ? gameInfoP->musicInfo.volume.palm : 0; MemHandleUnlock(recordH); } // end no game / game selected @@ -428,19 +417,17 @@ Boolean StartScummVM() { if (gPrefs->altIntro) ArgsAdd(&argvP[argc], "--alt-intro", NULL, &argc); } - - if (engine == ENGINE_SCUMM || engine == ENGINE_SAGA) { - // copy protection ? - if (gPrefs->copyProtection) - ArgsAdd(&argvP[argc], "--copy-protection", NULL, &argc); - } - + if (engine == ENGINE_SCUMM) { // demo mode ? if (gPrefs->demoMode) ArgsAdd(&argvP[argc], "--demo-mode", NULL, &argc); } + // copy protection ? + if (gPrefs->copyProtection) + ArgsAdd(&argvP[argc], "--copy-protection", NULL, &argc); + // exceed max args ? if (argc > MAX_ARG) FrmCustomAlert(FrmErrorAlert, "Too many parameters.",0,0); @@ -474,14 +461,14 @@ Boolean StartScummVM() { if (gVars->vibrator) HWR_SET(INIT_VIBRATOR); - +/* ???? if ( musicDriver == 1 || musicDriver == 3 || musicDriver == 4 || musicDriver == sysInvalidRefNum) { HWR_SET(INIT_PA1LIB); } - +*/ if (ModImport(gVars->VFS.volRefNum, engine, &isARM) != errNone) { if (bDirectMode) { // and force exit if nothing selected |