aboutsummaryrefslogtreecommitdiff
path: root/sky/music
diff options
context:
space:
mode:
authorRobert Göffringmann2003-06-01 21:21:10 +0000
committerRobert Göffringmann2003-06-01 21:21:10 +0000
commit5bb59b47551c42e128e5270dd6407f375b4dd712 (patch)
treef3dc6b01100d794f527a1384793b3be39b647b8d /sky/music
parent674a34a3921dc084ae6050e3f2f930cd2a3909e3 (diff)
downloadscummvm-rg350-5bb59b47551c42e128e5270dd6407f375b4dd712.tar.gz
scummvm-rg350-5bb59b47551c42e128e5270dd6407f375b4dd712.tar.bz2
scummvm-rg350-5bb59b47551c42e128e5270dd6407f375b4dd712.zip
cleaned code a bit, added SYSTEM_FLAGS and MOUSE_FLAG
svn-id: r8253
Diffstat (limited to 'sky/music')
-rw-r--r--sky/music/adlibchannel.cpp5
-rw-r--r--sky/music/adlibchannel.h4
-rw-r--r--sky/music/adlibmusic.cpp9
-rw-r--r--sky/music/adlibmusic.h3
-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.cpp3
-rw-r--r--sky/music/musicbase.h3
10 files changed, 18 insertions, 21 deletions
diff --git a/sky/music/adlibchannel.cpp b/sky/music/adlibchannel.cpp
index 26ad970814..a6922af634 100644
--- a/sky/music/adlibchannel.cpp
+++ b/sky/music/adlibchannel.cpp
@@ -22,9 +22,8 @@
#include "adlibchannel.h"
#include "sound/fmopl.h"
-SkyAdlibChannel::SkyAdlibChannel(uint8 *pMusicData, uint16 startOfData, uint32 version)
+SkyAdlibChannel::SkyAdlibChannel(uint8 *pMusicData, uint16 startOfData)
{
- _gameVersion = version;
_musicData = pMusicData;
_channelData.startOfData = startOfData;
_channelData.eventDataPtr = startOfData;
@@ -42,7 +41,7 @@ SkyAdlibChannel::SkyAdlibChannel(uint8 *pMusicData, uint16 startOfData, uint32 v
uint16 instrumentDataLoc;
- if (_gameVersion == 267) {
+ if (SkyState::_systemVars.gameVersion == 267) {
instrumentDataLoc = (_musicData[0x11FC] << 8) | _musicData[0x11FB];
_frequenceTable = (uint16*)(_musicData+0x7F4);
_registerTable = _musicData+0xDF4;
diff --git a/sky/music/adlibchannel.h b/sky/music/adlibchannel.h
index a9b43c3f9b..586f92466a 100644
--- a/sky/music/adlibchannel.h
+++ b/sky/music/adlibchannel.h
@@ -24,6 +24,7 @@
#include "stdafx.h"
#include "common/engine.h"
+#include "sky/sky.h"
#include "sky/music/musicbase.h"
typedef struct {
@@ -59,12 +60,11 @@ typedef struct {
class SkyAdlibChannel : public SkyChannelBase {
public:
- SkyAdlibChannel(uint8 *pMusicData, uint16 startOfData, uint32 version);
+ SkyAdlibChannel(uint8 *pMusicData, uint16 startOfData);
virtual void stopNote(void);
virtual uint8 process(uint16 aktTime);
virtual void updateVolume(uint16 pVolume);
private:
- uint32 _gameVersion;
uint8 *_musicData;
uint16 _musicVolume;
AdlibChannelType _channelData;
diff --git a/sky/music/adlibmusic.cpp b/sky/music/adlibmusic.cpp
index b23afd879c..46b72e7f03 100644
--- a/sky/music/adlibmusic.cpp
+++ b/sky/music/adlibmusic.cpp
@@ -27,8 +27,8 @@ void SkyAdlibMusic::passMixerFunc(void *param, int16 *buf, uint len) {
((SkyAdlibMusic*)param)->premixerCall(buf, len);
}
-SkyAdlibMusic::SkyAdlibMusic(SoundMixer *pMixer, SkyDisk *pSkyDisk, uint32 version)
- : SkyMusicBase(pSkyDisk, version) {
+SkyAdlibMusic::SkyAdlibMusic(SoundMixer *pMixer, SkyDisk *pSkyDisk)
+ : SkyMusicBase(pSkyDisk) {
_driverFileBase = 60202;
_mixer = pMixer;
@@ -74,8 +74,7 @@ void SkyAdlibMusic::premixerCall(int16 *buf, uint len) {
void SkyAdlibMusic::setupPointers(void) {
- printf("game version: %d\n",_gameVersion);
- if (_gameVersion == 267) {
+ if (SkyState::_systemVars.gameVersion == 267) {
// disk demo uses a different adlib driver version, some offsets have changed
_musicDataLoc = (_musicData[0x11F8] << 8) | _musicData[0x11F7];
_initSequence = _musicData + 0xE87;
@@ -92,7 +91,7 @@ void SkyAdlibMusic::setupChannels(uint8 *channelData) {
channelData++;
for (uint8 cnt = 0; cnt < _numberOfChannels; cnt++) {
uint16 chDataStart = ((channelData[(cnt << 1) | 1] << 8) | channelData[cnt << 1]) + _musicDataLoc;
- _channels[cnt] = new SkyAdlibChannel(_musicData, chDataStart, _gameVersion);
+ _channels[cnt] = new SkyAdlibChannel(_musicData, chDataStart);
}
}
diff --git a/sky/music/adlibmusic.h b/sky/music/adlibmusic.h
index dcde24150c..4fb8fea7fb 100644
--- a/sky/music/adlibmusic.h
+++ b/sky/music/adlibmusic.h
@@ -23,6 +23,7 @@
#define ADLIBMUSIC_H
#include "stdafx.h"
+#include "sky/sky.h"
#include "sound/mixer.h"
#include "common/engine.h"
#include "adlibchannel.h"
@@ -30,7 +31,7 @@
class SkyAdlibMusic : public SkyMusicBase {
public:
- SkyAdlibMusic(SoundMixer *pMixer, SkyDisk *pSkyDisk, uint32 version);
+ SkyAdlibMusic(SoundMixer *pMixer, SkyDisk *pSkyDisk);
~SkyAdlibMusic(void);
private:
SoundMixer *_mixer;
diff --git a/sky/music/gmmusic.cpp b/sky/music/gmmusic.cpp
index 2d2dabd864..92ea1e4954 100644
--- a/sky/music/gmmusic.cpp
+++ b/sky/music/gmmusic.cpp
@@ -26,8 +26,8 @@ void SkyGmMusic::passTimerFunc(void *param) {
((SkyGmMusic*)param)->timerCall();
}
-SkyGmMusic::SkyGmMusic(MidiDriver *pMidiDrv, SkyDisk *pSkyDisk, uint32 version)
- : SkyMusicBase(pSkyDisk, version) {
+SkyGmMusic::SkyGmMusic(MidiDriver *pMidiDrv, SkyDisk *pSkyDisk)
+ : SkyMusicBase(pSkyDisk) {
_driverFileBase = 60200;
_midiDrv = pMidiDrv;
diff --git a/sky/music/gmmusic.h b/sky/music/gmmusic.h
index be26bf26fd..b3dca05b39 100644
--- a/sky/music/gmmusic.h
+++ b/sky/music/gmmusic.h
@@ -30,7 +30,7 @@
class SkyGmMusic : public SkyMusicBase {
public:
- SkyGmMusic(MidiDriver *pMidiDrv, SkyDisk *pSkyDisk, uint32 version);
+ SkyGmMusic(MidiDriver *pMidiDrv, SkyDisk *pSkyDisk);
~SkyGmMusic(void);
private:
static void passTimerFunc(void *param);
diff --git a/sky/music/mt32music.cpp b/sky/music/mt32music.cpp
index 503b182121..03f3c80a77 100644
--- a/sky/music/mt32music.cpp
+++ b/sky/music/mt32music.cpp
@@ -26,8 +26,8 @@ void SkyMT32Music::passTimerFunc(void *param) {
((SkyMT32Music*)param)->timerCall();
}
-SkyMT32Music::SkyMT32Music(MidiDriver *pMidiDrv, SkyDisk *pSkyDisk, uint32 version)
- : SkyMusicBase(pSkyDisk, version) {
+SkyMT32Music::SkyMT32Music(MidiDriver *pMidiDrv, SkyDisk *pSkyDisk)
+ : SkyMusicBase(pSkyDisk) {
_driverFileBase = 60200;
_midiDrv = pMidiDrv;
diff --git a/sky/music/mt32music.h b/sky/music/mt32music.h
index 9b396b649d..76b2a18fc5 100644
--- a/sky/music/mt32music.h
+++ b/sky/music/mt32music.h
@@ -30,7 +30,7 @@
class SkyMT32Music : public SkyMusicBase {
public:
- SkyMT32Music(MidiDriver *pMidiDrv, SkyDisk *pSkyDisk, uint32 version);
+ SkyMT32Music(MidiDriver *pMidiDrv, SkyDisk *pSkyDisk);
~SkyMT32Music(void);
private:
static void passTimerFunc(void *param);
diff --git a/sky/music/musicbase.cpp b/sky/music/musicbase.cpp
index 7d930dae18..cc1670f996 100644
--- a/sky/music/musicbase.cpp
+++ b/sky/music/musicbase.cpp
@@ -21,9 +21,8 @@
#include "musicbase.h"
-SkyMusicBase::SkyMusicBase(SkyDisk *pSkyDisk, uint32 version) {
+SkyMusicBase::SkyMusicBase(SkyDisk *pSkyDisk) {
- _gameVersion = version;
_musicData = NULL;
_allowedCommands = 0;
_skyDisk = pSkyDisk;
diff --git a/sky/music/musicbase.h b/sky/music/musicbase.h
index 306cfaa0db..cae59616a8 100644
--- a/sky/music/musicbase.h
+++ b/sky/music/musicbase.h
@@ -43,14 +43,13 @@ private:
class SkyMusicBase {
public:
- SkyMusicBase(SkyDisk *pSkyDisk, uint32 version);
+ SkyMusicBase(SkyDisk *pSkyDisk);
virtual ~SkyMusicBase(void);
void loadSection(uint8 pSection);
void musicCommand(uint16 command);
void startMusic(uint16 param) { _onNextPoll.musicToProcess = param & 0xF; }; // 4
protected:
- uint32 _gameVersion;
SkyDisk *_skyDisk;
uint8 *_musicData;