diff options
Diffstat (limited to 'engines/groovie/groovie.cpp')
-rw-r--r-- | engines/groovie/groovie.cpp | 41 |
1 files changed, 31 insertions, 10 deletions
diff --git a/engines/groovie/groovie.cpp b/engines/groovie/groovie.cpp index 508049e1a0..8b6ee2ca42 100644 --- a/engines/groovie/groovie.cpp +++ b/engines/groovie/groovie.cpp @@ -54,6 +54,15 @@ GroovieEngine::GroovieEngine(OSystem *syst, const GroovieGameDescription *gd) : SearchMan.addSubDirectoryMatching(gameDataDir, "media"); SearchMan.addSubDirectoryMatching(gameDataDir, "system"); + _modeSpeed = kGroovieSpeedNormal; + if (ConfMan.hasKey("t7g_speed")) { + Common::String speed = ConfMan.get("t7g_speed"); + if (speed.equals("im_an_ios")) + _modeSpeed = kGroovieSpeediOS; + else if (speed.equals("tweaked")) + _modeSpeed = kGroovieSpeedTweaked; + } + // Initialize the custom debug levels DebugMan.addDebugChannel(kGroovieDebugAll, "All", "Debug everything"); DebugMan.addDebugChannel(kGroovieDebugVideo, "Video", "Debug video and audio playback"); @@ -141,10 +150,20 @@ Common::Error GroovieEngine::run() { } // Create the music player - if (getPlatform() == Common::kPlatformMacintosh) + switch (getPlatform()) { + case Common::kPlatformMacintosh: + // TODO: The 11th Hour Mac uses QuickTime MIDI files + // Right now, since the XMIDI are present and it is still detected as + // the DOS version, we don't have to do anything here. _musicPlayer = new MusicPlayerMac(this); - else + break; + case Common::kPlatformIOS: + _musicPlayer = new MusicPlayerIOS(this); + break; + default: _musicPlayer = new MusicPlayerXMI(this, _gameDescription->version == kGroovieT7G ? "fat" : "sample"); + break; + } // Load volume levels syncSoundSettings(); @@ -207,17 +226,19 @@ Common::Error GroovieEngine::run() { _script->directGameLoad(slot); } - // Check that the game files and the audio tracks aren't together run from - // the same cd - checkCD(); - // Game timer counter uint16 tmr = 0; - // Initialize the CD - int cd_num = ConfMan.getInt("cdrom"); - if (cd_num >= 0) - _system->getAudioCDManager()->openCD(cd_num); + // Check that the game files and the audio tracks aren't together run from + // the same cd + if (getPlatform() != Common::kPlatformIOS) { + checkCD(); + + // Initialize the CD + int cd_num = ConfMan.getInt("cdrom"); + if (cd_num >= 0) + _system->getAudioCDManager()->openCD(cd_num); + } while (!shouldQuit()) { // Give the debugger a chance to act |