diff options
Diffstat (limited to 'scumm/player_v3a.h')
-rw-r--r-- | scumm/player_v3a.h | 38 |
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 |