aboutsummaryrefslogtreecommitdiff
path: root/scumm/player_v3a.h
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/player_v3a.h')
-rw-r--r--scumm/player_v3a.h38
1 files changed, 19 insertions, 19 deletions
diff --git a/scumm/player_v3a.h b/scumm/player_v3a.h
index e9f2d050d0..020036a2c0 100644
--- a/scumm/player_v3a.h
+++ b/scumm/player_v3a.h
@@ -26,12 +26,10 @@
#include "common/scummsys.h"
#include "common/system.h"
#include "scumm/music.h"
+#include "scumm/player_mod.h"
-#define V3A_MAXMUS 8
-#define V3A_MAXSFX 8
-
-#define V3A_MUS_BASEID (1)
-#define V3A_SFX_BASEID (V3A_MUS_BASEID + V3A_MAXMUS)
+#define V3A_MAXMUS 8
+#define V3A_MAXSFX 8
class Scumm;
class SoundMixer;
@@ -42,26 +40,31 @@ public:
virtual ~Player_V3A();
virtual void setMasterVolume(int vol);
-
virtual void startSound(int nr);
virtual void stopSound(int nr);
virtual void stopAllSounds();
virtual int getMusicTimer() const;
-
virtual int getSoundStatus(int nr) const;
-protected:
- SoundMixer *_mixer;
+private:
OSystem *_system;
Scumm *_scumm;
+ Player_MOD *_mod;
- struct soundChan
+ struct musChan
{
- uint16 id;
- uint16 dur;
- } _mus[V3A_MAXMUS], _sfx[V3A_MAXSFX];
-
- uint8 _maxvol;
+ int id;
+ int dur;
+ } _mus[V3A_MAXMUS];
+ int getMusChan (int id = 0) const;
+
+ struct sfxChan
+ {
+ int id;
+ int dur;
+ // SFX will eventually have pitch bends
+ } _sfx[V3A_MAXSFX];
+ int getSfxChan (int id = 0) const;
int _curSong;
uint8 *_songData;
@@ -80,11 +83,8 @@ protected:
int16 _pitadjust;
} **_wavetable;
- void playSoundSFX (int nr, char *data, int size, int rate, int vol, int tl, bool looped, int loopStart = 0, int loopEnd = 0);
- void playSoundMUS (char *data, int size, int rate, int vol, int tl, bool looped, int loopStart = 0, int loopEnd = 0);
-
+ static void update_proc(void *param);
void playMusic();
- static void timerHandler(void *engine);
};
#endif