aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorMax Horn2010-11-08 22:53:36 +0000
committerMax Horn2010-11-08 22:53:36 +0000
commit82e473bc3b1498325bad28d804e4314f0c3a528c (patch)
treef186d8b9eeb665a81897deca3a3fadcf74007c16 /common
parent4242229c91c356bdd90c66ce8c0642488a1b4bf5 (diff)
parent74a53df11b51fa4956745c086b2e6351b8383568 (diff)
downloadscummvm-rg350-82e473bc3b1498325bad28d804e4314f0c3a528c.tar.gz
scummvm-rg350-82e473bc3b1498325bad28d804e4314f0c3a528c.tar.bz2
scummvm-rg350-82e473bc3b1498325bad28d804e4314f0c3a528c.zip
BACKENDS: Partial merge of gsoc2010-opengl: Audio CD changes only
This commit contains the AudioCDManager changes from the gsoc2010-opengl branch. The other changes in that branch are restricted to the backends directory only (plus configure). The Nintendo DS and Dreamcast ports still need to be ported over to the new Audio CD system, but that should be fairly easy to do. svn-id: r54147
Diffstat (limited to 'common')
-rw-r--r--common/system.cpp8
-rw-r--r--common/system.h49
2 files changed, 13 insertions, 44 deletions
diff --git a/common/system.cpp b/common/system.cpp
index 387e0dfa0f..816d444c89 100644
--- a/common/system.cpp
+++ b/common/system.cpp
@@ -53,11 +53,3 @@ bool OSystem::setGraphicsMode(const char *name) {
return false;
}
-
-bool OSystem::openCD(int drive) {
- return false;
-}
-
-bool OSystem::pollCD() {
- return false;
-}
diff --git a/common/system.h b/common/system.h
index 0ff841e441..a11adb4134 100644
--- a/common/system.h
+++ b/common/system.h
@@ -33,6 +33,8 @@
#include "graphics/pixelformat.h"
+#include "backends/audiocd/audiocd.h"
+
namespace Audio {
class Mixer;
}
@@ -354,6 +356,13 @@ public:
*/
virtual int getGraphicsMode() const = 0;
+ /**
+ * Sets the graphics scale factor to x1. Games with large screen sizes
+ * reset the scale to x1 so the screen will not be too big when starting
+ * the game.
+ */
+ virtual void resetGraphicsScale() = 0;
+
#ifdef USE_RGB_COLOR
/**
* Determine the pixel format currently in use for screen rendering.
@@ -926,46 +935,14 @@ public:
- /**
- * @name Audio CD
- * The methods in this group deal with Audio CD playback.
- * The default implementation simply does nothing.
- * This is the lower level implementation as provided by the
- * backends. The engines should use the Audio::AudioCDManager
- * class instead of using it directly.
- */
+ /** @name Audio CD */
//@{
/**
- * Initialise the specified CD drive for audio playback.
- * @return true if the CD drive was inited succesfully
- */
- virtual bool openCD(int drive);
-
- /**
- * Poll CD status.
- * @return true if CD audio is playing
- */
- virtual bool pollCD();
-
- /**
- * Start audio CD playback.
- * @param track the track to play.
- * @param num_loops how often playback should be repeated (-1 = infinitely often).
- * @param start_frame the frame at which playback should start (75 frames = 1 second).
- * @param duration the number of frames to play.
- */
- virtual void playCD(int track, int num_loops, int start_frame, int duration) {}
-
- /**
- * Stop audio CD playback.
- */
- virtual void stopCD() {}
-
- /**
- * Update cdrom audio status.
+ * Return the audio cd manager. For more information, refer to the
+ * AudioCDManager documentation.
*/
- virtual void updateCD() {}
+ virtual AudioCDManager *getAudioCDManager() = 0;
//@}