diff options
author | Paweł Kołodziejski | 2007-08-01 20:11:32 +0000 |
---|---|---|
committer | Paweł Kołodziejski | 2007-08-01 20:11:32 +0000 |
commit | b2a9379470f3a64cb2b341e91427c147236aeae5 (patch) | |
tree | 54b4de46e66ad58a6a50dca0e18c8fc811175b37 /engines/drascula | |
parent | abec62d46b164be60cda331958418f00d8832acf (diff) | |
download | scummvm-rg350-b2a9379470f3a64cb2b341e91427c147236aeae5.tar.gz scummvm-rg350-b2a9379470f3a64cb2b341e91427c147236aeae5.tar.bz2 scummvm-rg350-b2a9379470f3a64cb2b341e91427c147236aeae5.zip |
added cd audio playing
svn-id: r28389
Diffstat (limited to 'engines/drascula')
-rw-r--r-- | engines/drascula/drascula.cpp | 42 | ||||
-rw-r--r-- | engines/drascula/drascula.h | 1 |
2 files changed, 11 insertions, 32 deletions
diff --git a/engines/drascula/drascula.cpp b/engines/drascula/drascula.cpp index fe3d0105f2..556d61df58 100644 --- a/engines/drascula/drascula.cpp +++ b/engines/drascula/drascula.cpp @@ -73,6 +73,10 @@ DrasculaEngine::DrasculaEngine(OSystem *syst) : Engine(syst) { _gameId = g->id; _rnd = new Common::RandomSource(); + + int cd_num = ConfMan.getInt("cdrom"); + if (cd_num >= 0) + _system->openCD(cd_num); } DrasculaEngine::~DrasculaEngine() { @@ -1532,6 +1536,8 @@ void DrasculaEngine::update_events() { Common::Event event; Common::EventManager *eventMan = _system->getEventManager(); + AudioCD.updateCD(); + while (eventMan->pollEvent(event)) { switch (event.type) { case Common::EVENT_KEYDOWN: @@ -3080,44 +3086,16 @@ bucless: } void DrasculaEngine::playmusic(int p) { -// TODO -/* unsigned short v; - stopmusic(); - - v=GetCDVolume(); - if ((p==12 || p==21) && !reducido) { - SetCDVolume(v-2); - reducido = 1; - } - cd_track_length(p, &min, &sec, &frame); - cd_set_track (p); - get_musicpos(); - cd_play_audio(startpos, endpos); - Playing=1; -*/ + AudioCD.stop(); + AudioCD.play(p - 1, 1, 0, 0); } void DrasculaEngine::stopmusic() { -//TODO -/* unsigned short v; - - cd_stop_audio (); - /v=GetCDVolume(); - if (reducido) - { - SetCDVolume(v+2); - reducido=0; - } - cd_done_play (); - Playing=0; -*/ + AudioCD.stop(); } int DrasculaEngine::music_status() { - // TODO - //cd_status(); - //return ((cdrom_data.error & BUSY) != 0); - return 0; + return AudioCD.isPlaying() != 0; } void DrasculaEngine::refresca_pantalla() { diff --git a/engines/drascula/drascula.h b/engines/drascula/drascula.h index 55f8a3b189..4e737a8870 100644 --- a/engines/drascula/drascula.h +++ b/engines/drascula/drascula.h @@ -40,6 +40,7 @@ #include "sound/audiostream.h" #include "sound/mixer.h" #include "sound/voc.h" +#include "sound/audiocd.h" #include "engines/engine.h" |