This commit is contained in:
Paul 2001-01-29 17:55:07 +00:00
parent 410be002f9
commit e0e6d5d853
6 changed files with 68 additions and 262 deletions

View file

@ -95,6 +95,7 @@ static CXMPlaySound *s_xmplaySound;
// Songs
static XMSONGDATA s_xmSongData[CSoundMediator::NUM_SONGIDS]=
{
// m_vh m_vb m_pxm m_startPattern;
{ MUSIC_SB_TITLE_VH, MUSIC_SB_TITLE_VB, MUSIC_SB_TITLE_PXM, 0x00 }, // SONG_TITLE
{ MUSIC_SB_TITLE_VH, MUSIC_SB_TITLE_VB, MUSIC_SB_TITLE_PXM, 0x0a }, // SONG_OPTIONS
{ MUSIC_SB_TITLE_VH, MUSIC_SB_TITLE_VB, MUSIC_SB_TITLE_PXM, 0x13 }, // SONG_MEMORYCARD
@ -116,29 +117,46 @@ static XMSONGDATA s_xmSongData[CSoundMediator::NUM_SONGIDS]=
{ MUSIC_CHAPTER3_VH, MUSIC_CHAPTER3_VB, MUSIC_CHAPTER3_PXM, 0x0b }, // SONG_CHAPTER3_LEVEL4,
{ MUSIC_CHAPTER3_VH, MUSIC_CHAPTER3_VB, MUSIC_CHAPTER3_PXM, 0x21 }, // SONG_CHAPTER3_BOSS_ASLEEP,
{ MUSIC_CHAPTER3_VH, MUSIC_CHAPTER3_VB, MUSIC_CHAPTER3_PXM, 0x22 }, // SONG_CHAPTER3_BOSS_AWAKE,
{ MUSIC_CHAPTER4_VH, MUSIC_CHAPTER4_VB, MUSIC_CHAPTER4_PXM, 0x1b }, // SONG_CHAPTER4_LEVEL1,
{ MUSIC_CHAPTER4_VH, MUSIC_CHAPTER4_VB, MUSIC_CHAPTER4_PXM, 0x00 }, // SONG_CHAPTER4_LEVEL2,
{ MUSIC_CHAPTER4_VH, MUSIC_CHAPTER4_VB, MUSIC_CHAPTER4_PXM, 0x2c }, // SONG_CHAPTER4_LEVEL3,
{ MUSIC_CHAPTER4_VH, MUSIC_CHAPTER4_VB, MUSIC_CHAPTER4_PXM, 0x00 }, // SONG_CHAPTER4_LEVEL4,
{ MUSIC_CHAPTER4_VH, MUSIC_CHAPTER4_VB, MUSIC_CHAPTER4_PXM, 0x3c }, // SONG_CHAPTER4_BOSS,
{ MUSIC_CHAPTER5_VH, MUSIC_CHAPTER5_VB, MUSIC_CHAPTER5_PXM, 0x00 }, // SONG_CHAPTER5_LEVEL1,
{ MUSIC_CHAPTER5_VH, MUSIC_CHAPTER5_VB, MUSIC_CHAPTER5_PXM, 0x14 }, // SONG_CHAPTER5_LEVEL2,
{ MUSIC_CHAPTER5_VH, MUSIC_CHAPTER5_VB, MUSIC_CHAPTER5_PXM, 0x00 }, // SONG_CHAPTER5_LEVEL3,
{ MUSIC_CHAPTER5_VH, MUSIC_CHAPTER5_VB, MUSIC_CHAPTER5_PXM, 0x2a }, // SONG_CHAPTER5_LEVEL4,
{ MUSIC_CHAPTER5_VH, MUSIC_CHAPTER5_VB, MUSIC_CHAPTER5_PXM, 0x3e }, // SONG_CHAPTER5_BOSS,
};
// SFX banks
static XMSFXFILEDATA s_xmSfxData[CSoundMediator::NUM_SFXBANKIDS]=
{
// m_vh m_vb m_pxm
{ SFX_INGAME_VH, SFX_INGAME_VB, SFX_INGAME_PXM }, // SFX_INGAME
};
// Individual SFX details
static SFXDETAILS s_sfxDetails[]=
static SFXDETAILS s_sfxDetails[CSoundMediator::NUM_SFXIDS]=
{
{ 1, 6, 1 },
{ 1, 4, 0 },
{ 1, 5, 0 },
{ 1, 0, 1 },
// m_channelMask m_pattern m_looping
{ 1, 0, 0 }, // SFX_TEST0
{ 1, 1, 0 }, // SFX_TEST1
{ 1, 2, 0 }, // SFX_TEST2
{ 1, 3, 0 }, // SFX_TEST3
{ 1, 4, 0 }, // SFX_TEST4
{ 1, 5, 0 }, // SFX_TEST5
{ 1, 6, 0 }, // SFX_TEST6
{ 1, 7, 0 }, // SFX_TEST7
};
// Reverb details
static ReverbDetails s_reverbDetails[CSoundMediator::NUM_REVERBTYPES]=
{
{ SPU_REV_MODE_OFF, 0, 0, 0 }, // REV_NONE
{ SPU_REV_MODE_ECHO, 75, 0x3000, 100 }, // REV_ECHOTEST
// m_type m_delay m_depth m_feedback
{ SPU_REV_MODE_OFF, 0, 0, 0 }, // REV_NONE
{ SPU_REV_MODE_ECHO, 75, 0x3000, 100 }, // REV_ECHOTEST
};
@ -372,7 +390,7 @@ void CSoundMediator::setSfxBank(SFXBANKID _bankId)
same time as *lots* of other sfx.
Returns:
---------------------------------------------------------------------- */
xmPlayingId CSoundMediator::playSfx(int _sfxId,int _lock=false)
xmPlayingId CSoundMediator::playSfx(SFXID _sfxId,int _lock=false)
{
int sfxChannelMask;
xmPlayingId playId;

View file

@ -49,34 +49,26 @@ class CSoundMediator
public:
typedef enum SONGID
{
SONG_TITLE,
SONG_OPTIONS,
SONG_MEMORYCARD,
SONG_GAMECOMPLETE,
SONG_GAMEOVER,
SONG_CHAPTER1_LEVEL1,
SONG_CHAPTER1_LEVEL2,
SONG_CHAPTER1_LEVEL3,
SONG_CHAPTER1_LEVEL4,
SONG_CHAPTER1_BOSS,
SONG_CHAPTER2_LEVEL1,
SONG_CHAPTER2_LEVEL2,
SONG_CHAPTER2_LEVEL3,
SONG_CHAPTER2_LEVEL4,
SONG_CHAPTER2_BOSS,
SONG_CHAPTER3_LEVEL1,
SONG_CHAPTER3_LEVEL2,
SONG_CHAPTER3_LEVEL3,
SONG_CHAPTER3_LEVEL4,
SONG_CHAPTER3_BOSS_ALSEEP,
SONG_CHAPTER3_BOSS_AWAKE,
SONG_TITLE, SONG_OPTIONS, SONG_MEMORYCARD, SONG_GAMECOMPLETE, SONG_GAMEOVER,
SONG_CHAPTER1_LEVEL1, SONG_CHAPTER1_LEVEL2, SONG_CHAPTER1_LEVEL3, SONG_CHAPTER1_LEVEL4, SONG_CHAPTER1_BOSS,
SONG_CHAPTER2_LEVEL1, SONG_CHAPTER2_LEVEL2, SONG_CHAPTER2_LEVEL3, SONG_CHAPTER2_LEVEL4, SONG_CHAPTER2_BOSS,
SONG_CHAPTER3_LEVEL1, SONG_CHAPTER3_LEVEL2, SONG_CHAPTER3_LEVEL3, SONG_CHAPTER3_LEVEL4, SONG_CHAPTER3_BOSS_ALSEEP, SONG_CHAPTER3_BOSS_AWAKE,
SONG_CHAPTER4_LEVEL1, SONG_CHAPTER4_LEVEL2, SONG_CHAPTER4_LEVEL3, SONG_CHAPTER4_LEVEL4, SONG_CHAPTER4_BOSS,
SONG_CHAPTER5_LEVEL1, SONG_CHAPTER5_LEVEL2, SONG_CHAPTER5_LEVEL3, SONG_CHAPTER5_LEVEL4, SONG_CHAPTER5_BOSS,
NUM_SONGIDS,
};
typedef enum SFXBANKID
{
SFX_INGAME,
NUM_SFXBANKIDS,
};
typedef enum SFXID
{
SFX_TEST0, SFX_TEST1, SFX_TEST2, SFX_TEST3,
SFX_TEST4, SFX_TEST5, SFX_TEST6, SFX_TEST7,
NUM_SFXIDS,
};
typedef enum VOLUMETYPE
{
@ -119,7 +111,7 @@ public:
// SFX interface
static void setSfxBank(SFXBANKID _bankId);
static xmPlayingId playSfx(int _sfxId,int _lock=false);
static xmPlayingId playSfx(SFXID _sfxId,int _lock=false);
static void setposition(xmPlayingId _playingId,VECTOR *pos);
static void stopSfx(xmPlayingId _playingId);