aboutsummaryrefslogtreecommitdiff
path: root/sky
diff options
context:
space:
mode:
Diffstat (limited to 'sky')
-rw-r--r--sky/music/adlibmusic.cpp4
-rw-r--r--sky/music/adlibmusic.h2
-rw-r--r--sky/music/gmmusic.cpp4
-rw-r--r--sky/music/gmmusic.h2
-rw-r--r--sky/music/mt32music.cpp4
-rw-r--r--sky/music/mt32music.h2
-rw-r--r--sky/music/musicbase.cpp13
-rw-r--r--sky/music/musicbase.h7
-rw-r--r--sky/sky.cpp6
9 files changed, 19 insertions, 25 deletions
diff --git a/sky/music/adlibmusic.cpp b/sky/music/adlibmusic.cpp
index 0fb112efbe..6db9b83359 100644
--- a/sky/music/adlibmusic.cpp
+++ b/sky/music/adlibmusic.cpp
@@ -26,8 +26,8 @@
namespace Sky {
-AdlibMusic::AdlibMusic(SoundMixer *pMixer, Disk *pDisk, OSystem *system)
- : MusicBase(pDisk, system) {
+AdlibMusic::AdlibMusic(SoundMixer *pMixer, Disk *pDisk)
+ : MusicBase(pDisk) {
_driverFileBase = 60202;
_mixer = pMixer;
diff --git a/sky/music/adlibmusic.h b/sky/music/adlibmusic.h
index 86ab9a899c..b4be9b8cde 100644
--- a/sky/music/adlibmusic.h
+++ b/sky/music/adlibmusic.h
@@ -32,7 +32,7 @@ namespace Sky {
class AdlibMusic : public AudioStream, public MusicBase {
public:
- AdlibMusic(SoundMixer *pMixer, Disk *pDisk, OSystem *system);
+ AdlibMusic(SoundMixer *pMixer, Disk *pDisk);
~AdlibMusic(void);
virtual void setVolume(uint8 volume);
diff --git a/sky/music/gmmusic.cpp b/sky/music/gmmusic.cpp
index ba68ec2259..49f2796006 100644
--- a/sky/music/gmmusic.cpp
+++ b/sky/music/gmmusic.cpp
@@ -32,8 +32,8 @@ void GmMusic::passTimerFunc(void *param) {
((GmMusic*)param)->timerCall();
}
-GmMusic::GmMusic(MidiDriver *pMidiDrv, Disk *pDisk, OSystem *system)
- : MusicBase(pDisk, system) {
+GmMusic::GmMusic(MidiDriver *pMidiDrv, Disk *pDisk)
+ : MusicBase(pDisk) {
_driverFileBase = 60200;
_midiDrv = pMidiDrv;
diff --git a/sky/music/gmmusic.h b/sky/music/gmmusic.h
index b75c0f69a3..90e9ec68db 100644
--- a/sky/music/gmmusic.h
+++ b/sky/music/gmmusic.h
@@ -30,7 +30,7 @@ namespace Sky {
class GmMusic : public MusicBase {
public:
- GmMusic(MidiDriver *pMidiDrv, Disk *pDisk, OSystem *system);
+ GmMusic(MidiDriver *pMidiDrv, Disk *pDisk);
~GmMusic(void);
virtual void setVolume(uint8 volume);
private:
diff --git a/sky/music/mt32music.cpp b/sky/music/mt32music.cpp
index 6f941499d1..0b176fe44c 100644
--- a/sky/music/mt32music.cpp
+++ b/sky/music/mt32music.cpp
@@ -32,8 +32,8 @@ void MT32Music::passTimerFunc(void *param) {
((MT32Music*)param)->timerCall();
}
-MT32Music::MT32Music(MidiDriver *pMidiDrv, Disk *pDisk, OSystem *system)
- : MusicBase(pDisk, system) {
+MT32Music::MT32Music(MidiDriver *pMidiDrv, Disk *pDisk)
+ : MusicBase(pDisk) {
_driverFileBase = 60200;
_midiDrv = pMidiDrv;
diff --git a/sky/music/mt32music.h b/sky/music/mt32music.h
index fb2e131554..bf56f161da 100644
--- a/sky/music/mt32music.h
+++ b/sky/music/mt32music.h
@@ -30,7 +30,7 @@ namespace Sky {
class MT32Music : public MusicBase {
public:
- MT32Music(MidiDriver *pMidiDrv, Disk *pDisk, OSystem *system);
+ MT32Music(MidiDriver *pMidiDrv, Disk *pDisk);
~MT32Music(void);
private:
static void passTimerFunc(void *param);
diff --git a/sky/music/musicbase.cpp b/sky/music/musicbase.cpp
index 104b132103..29c2b73c19 100644
--- a/sky/music/musicbase.cpp
+++ b/sky/music/musicbase.cpp
@@ -22,20 +22,17 @@
#include "sky/music/musicbase.h"
#include "sky/disk.h"
#include "common/util.h"
-#include "common/system.h"
namespace Sky {
-MusicBase::MusicBase(Disk *pDisk, OSystem *system) {
+MusicBase::MusicBase(Disk *pDisk) {
_musicData = NULL;
_allowedCommands = 0;
_skyDisk = pDisk;
_currentMusic = 0;
_musicVolume = 127;
- _system = system;
_numberOfChannels = _currentMusic = 0;
- _mutex = _system->createMutex();
}
MusicBase::~MusicBase(void) {
@@ -46,7 +43,7 @@ MusicBase::~MusicBase(void) {
void MusicBase::loadSection(uint8 pSection) {
- _system->lockMutex(_mutex);
+ _mutex.lock();
if (_currentMusic)
stopMusic();
if (_musicData)
@@ -63,7 +60,7 @@ void MusicBase::loadSection(uint8 pSection) {
_numberOfChannels = _currentMusic = 0;
setupPointers();
startDriver();
- _system->unlockMutex(_mutex);
+ _mutex.unlock();
}
bool MusicBase::musicIsPlaying(void) {
@@ -166,7 +163,7 @@ void MusicBase::loadNewMusic(void) {
void MusicBase::pollMusic(void) {
- _system->lockMutex(_mutex);
+ _mutex.lock();
uint8 newTempo;
if (_onNextPoll.doReInit) startDriver();
if (_onNextPoll.doStopMusic) stopMusic();
@@ -182,7 +179,7 @@ void MusicBase::pollMusic(void) {
updateTempo();
}
}
- _system->unlockMutex(_mutex);
+ _mutex.unlock();
_aktTime &= 0xFFFF;
}
diff --git a/sky/music/musicbase.h b/sky/music/musicbase.h
index f3e88dc1f2..f44c828d83 100644
--- a/sky/music/musicbase.h
+++ b/sky/music/musicbase.h
@@ -26,8 +26,6 @@
#include "common/scummsys.h"
#include "common/mutex.h"
-class OSystem;
-
namespace Sky {
class Disk;
@@ -50,7 +48,7 @@ private:
class MusicBase {
public:
- MusicBase(Disk *pDisk, OSystem *system);
+ MusicBase(Disk *pDisk);
virtual ~MusicBase(void);
void loadSection(uint8 pSection);
void musicCommand(uint16 command);
@@ -62,7 +60,6 @@ public:
protected:
- OSystem *_system;
Disk *_skyDisk;
uint8 *_musicData;
uint8 _allowedCommands;
@@ -77,7 +74,7 @@ protected:
uint32 _aktTime;
Actions _onNextPoll;
ChannelBase *_channels[10];
- Common::MutexRef _mutex;
+ Common::Mutex _mutex;
virtual void setupPointers(void) = 0;
virtual void setupChannels(uint8 *channelData) = 0;
diff --git a/sky/sky.cpp b/sky/sky.cpp
index 5e398dd812..28021847c2 100644
--- a/sky/sky.cpp
+++ b/sky/sky.cpp
@@ -252,13 +252,13 @@ int SkyEngine::init(GameDetector &detector) {
int midiDriver = MidiDriver::detectMusicDriver(MDT_ADLIB | MDT_NATIVE | MDT_PREFER_NATIVE);
if (midiDriver == MD_ADLIB) {
_systemVars.systemFlags |= SF_SBLASTER;
- _skyMusic = new AdlibMusic(_mixer, _skyDisk, _system);
+ _skyMusic = new AdlibMusic(_mixer, _skyDisk);
} else {
_systemVars.systemFlags |= SF_ROLAND;
if (ConfMan.getBool("native_mt32") || (midiDriver == MD_MT32))
- _skyMusic = new MT32Music(MidiDriver::createMidi(midiDriver), _skyDisk, _system);
+ _skyMusic = new MT32Music(MidiDriver::createMidi(midiDriver), _skyDisk);
else
- _skyMusic = new GmMusic(MidiDriver::createMidi(midiDriver), _skyDisk, _system);
+ _skyMusic = new GmMusic(MidiDriver::createMidi(midiDriver), _skyDisk);
}
if (isCDVersion()) {