aboutsummaryrefslogtreecommitdiff
path: root/engines/drascula
diff options
context:
space:
mode:
authorPaweł Kołodziejski2007-08-01 20:11:32 +0000
committerPaweł Kołodziejski2007-08-01 20:11:32 +0000
commitb2a9379470f3a64cb2b341e91427c147236aeae5 (patch)
tree54b4de46e66ad58a6a50dca0e18c8fc811175b37 /engines/drascula
parentabec62d46b164be60cda331958418f00d8832acf (diff)
downloadscummvm-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.cpp42
-rw-r--r--engines/drascula/drascula.h1
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"