aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2010-02-14 12:23:22 +0000
committerFilippos Karapetis2010-02-14 12:23:22 +0000
commit07e405588dc09fa119f649b7efc1f357f8c40683 (patch)
treeb3914ab991085df44c0cab64845b579042407efa
parentdd5518d3c5afaefe8269f86e298529712a60121c (diff)
downloadscummvm-rg350-07e405588dc09fa119f649b7efc1f357f8c40683.tar.gz
scummvm-rg350-07e405588dc09fa119f649b7efc1f357f8c40683.tar.bz2
scummvm-rg350-07e405588dc09fa119f649b7efc1f357f8c40683.zip
Moved the reference to AudioPlayer inside SciEngine (as it doesn't have a state, per se, and is static)
svn-id: r48059
-rw-r--r--engines/sci/engine/game.cpp2
-rw-r--r--engines/sci/engine/ksound.cpp30
-rw-r--r--engines/sci/engine/savegame.cpp2
-rw-r--r--engines/sci/engine/state.cpp4
-rw-r--r--engines/sci/engine/state.h3
-rw-r--r--engines/sci/sci.cpp3
-rw-r--r--engines/sci/sci.h2
7 files changed, 22 insertions, 24 deletions
diff --git a/engines/sci/engine/game.cpp b/engines/sci/engine/game.cpp
index 950041873e..db77724a57 100644
--- a/engines/sci/engine/game.cpp
+++ b/engines/sci/engine/game.cpp
@@ -301,7 +301,7 @@ int game_exit(EngineState *s) {
// Reinit because some other code depends on having a valid state
game_init_sound(s, SFX_STATE_FLAG_NOSOUND, g_sci->_features->detectDoSoundType());
#else
- s->_audio->stopAllAudio();
+ g_sci->_audio->stopAllAudio();
s->_soundCmd->clearPlayList();
#endif
}
diff --git a/engines/sci/engine/ksound.cpp b/engines/sci/engine/ksound.cpp
index c5de72fc5a..caf9f6bcff 100644
--- a/engines/sci/engine/ksound.cpp
+++ b/engines/sci/engine/ksound.cpp
@@ -52,10 +52,10 @@ reg_t kDoCdAudio(EngineState *s, int argc, reg_t *argv) {
uint32 startFrame = (argc > 2) ? argv[2].toUint16() * 75 : 0;
uint32 totalFrames = (argc > 3) ? argv[3].toUint16() * 75 : 0;
- return make_reg(0, s->_audio->audioCdPlay(track, startFrame, totalFrames));
+ return make_reg(0, g_sci->_audio->audioCdPlay(track, startFrame, totalFrames));
}
case kSciAudioStop:
- s->_audio->audioCdStop();
+ g_sci->_audio->audioCdStop();
if (getSciVersion() == SCI_VERSION_1_1)
return make_reg(0, 1);
@@ -67,10 +67,10 @@ reg_t kDoCdAudio(EngineState *s, int argc, reg_t *argv) {
case kSciAudioResume:
// This seems to be hacked up to update the CD instead of resuming
// audio like kDoAudio does.
- s->_audio->audioCdUpdate();
+ g_sci->_audio->audioCdUpdate();
break;
case kSciAudioPosition:
- return make_reg(0, s->_audio->audioCdPosition());
+ return make_reg(0, g_sci->_audio->audioCdPosition());
case kSciAudioRate: // No need to set the audio rate
case kSciAudioVolume: // The speech setting isn't used by CD Audio
case kSciAudioLanguage: // No need to set the language
@@ -102,7 +102,7 @@ reg_t kDoAudio(EngineState *s, int argc, reg_t *argv) {
uint16 module;
uint32 number;
- s->_audio->stopAudio();
+ g_sci->_audio->stopAudio();
if (argc == 2) {
module = 65535;
@@ -118,21 +118,21 @@ reg_t kDoAudio(EngineState *s, int argc, reg_t *argv) {
return NULL_REG;
}
- return make_reg(0, s->_audio->startAudio(module, number)); // return sample length in ticks
+ return make_reg(0, g_sci->_audio->startAudio(module, number)); // return sample length in ticks
}
case kSciAudioStop:
- s->_audio->stopAudio();
+ g_sci->_audio->stopAudio();
break;
case kSciAudioPause:
- s->_audio->pauseAudio();
+ g_sci->_audio->pauseAudio();
break;
case kSciAudioResume:
- s->_audio->resumeAudio();
+ g_sci->_audio->resumeAudio();
break;
case kSciAudioPosition:
- return make_reg(0, s->_audio->getAudioPosition());
+ return make_reg(0, g_sci->_audio->getAudioPosition());
case kSciAudioRate:
- s->_audio->setAudioRate(argv[1].toUint16());
+ g_sci->_audio->setAudioRate(argv[1].toUint16());
break;
case kSciAudioVolume: {
int16 volume = argv[1].toUint16();
@@ -171,7 +171,7 @@ reg_t kDoSync(EngineState *s, int argc, reg_t *argv) {
case kSciAudioSyncStart: {
ResourceId id;
- s->_audio->stopSoundSync();
+ g_sci->_audio->stopSoundSync();
// Load sound sync resource and lock it
if (argc == 3) {
@@ -184,14 +184,14 @@ reg_t kDoSync(EngineState *s, int argc, reg_t *argv) {
return s->r_acc;
}
- s->_audio->setSoundSync(id, argv[1], segMan);
+ g_sci->_audio->setSoundSync(id, argv[1], segMan);
break;
}
case kSciAudioSyncNext:
- s->_audio->doSoundSync(argv[1], segMan);
+ g_sci->_audio->doSoundSync(argv[1], segMan);
break;
case kSciAudioSyncStop:
- s->_audio->stopSoundSync();
+ g_sci->_audio->stopSoundSync();
break;
default:
warning("DoSync: Unhandled subfunction %d", argv[0].toUint16());
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp
index 792f1c4392..7e713f3d81 100644
--- a/engines/sci/engine/savegame.cpp
+++ b/engines/sci/engine/savegame.cpp
@@ -944,7 +944,7 @@ void gamestate_restore(EngineState *s, Common::SeekableReadStream *fh) {
}
// Create a new EngineState object
- retval = new EngineState(s->_voc, s->_segMan, s->_audio);
+ retval = new EngineState(s->_voc, s->_segMan);
retval->_event = new SciEvent();
// Copy some old data
diff --git a/engines/sci/engine/state.cpp b/engines/sci/engine/state.cpp
index e78f7bce1d..01e7cdf76f 100644
--- a/engines/sci/engine/state.cpp
+++ b/engines/sci/engine/state.cpp
@@ -33,8 +33,8 @@
namespace Sci {
-EngineState::EngineState(Vocabulary *voc, SegManager *segMan, AudioPlayer *audio)
-: _voc(voc), _segMan(segMan), _audio(audio), _dirseeker() {
+EngineState::EngineState(Vocabulary *voc, SegManager *segMan)
+: _voc(voc), _segMan(segMan), _dirseeker() {
#ifdef USE_OLD_MUSIC_FUNCTIONS
sfx_init_flags = 0;
diff --git a/engines/sci/engine/state.h b/engines/sci/engine/state.h
index fc80b91c2c..7f5d3cb8c1 100644
--- a/engines/sci/engine/state.h
+++ b/engines/sci/engine/state.h
@@ -96,7 +96,7 @@ public:
struct EngineState : public Common::Serializable {
public:
- EngineState(Vocabulary *voc, SegManager *segMan, AudioPlayer *audio);
+ EngineState(Vocabulary *voc, SegManager *segMan);
virtual ~EngineState();
virtual void saveLoadWithSerializer(Common::Serializer &ser);
@@ -111,7 +111,6 @@ public:
SciEvent *_event; // Event handling
- AudioPlayer *_audio;
#ifdef USE_OLD_MUSIC_FUNCTIONS
SfxState _sound; /**< sound subsystem */
int sfx_init_flags; /**< flags the sfx subsystem was initialised with */
diff --git a/engines/sci/sci.cpp b/engines/sci/sci.cpp
index e1cfacc8b4..2d4d59f3e4 100644
--- a/engines/sci/sci.cpp
+++ b/engines/sci/sci.cpp
@@ -180,8 +180,7 @@ Common::Error SciEngine::run() {
_features = new GameFeatures(segMan, _kernel);
- // We'll set the GUI below
- _gamestate = new EngineState(_vocabulary, segMan, _audio);
+ _gamestate = new EngineState(_vocabulary, segMan);
_gamestate->_event = new SciEvent();
if (script_init_engine(_gamestate))
diff --git a/engines/sci/sci.h b/engines/sci/sci.h
index 088b4312bf..b376a7094d 100644
--- a/engines/sci/sci.h
+++ b/engines/sci/sci.h
@@ -212,11 +212,11 @@ public:
GfxFrameout *_gfxFrameout; // kFrameout and the like for 32-bit gfx
#endif
+ AudioPlayer *_audio;
GameFeatures *_features;
private:
const ADGameDescription *_gameDescription;
- AudioPlayer *_audio;
ResourceManager *_resMan; /**< The resource manager */
EngineState *_gamestate;
Kernel *_kernel;