diff --git a/data/Sfx/ingame/INGAME.VB b/data/Sfx/ingame/INGAME.VB index 7800d5d89..1a7a91fcc 100644 Binary files a/data/Sfx/ingame/INGAME.VB and b/data/Sfx/ingame/INGAME.VB differ diff --git a/data/Sfx/ingame/INGAME.VH b/data/Sfx/ingame/INGAME.VH index b946b0538..4e7e4afcb 100644 Binary files a/data/Sfx/ingame/INGAME.VH and b/data/Sfx/ingame/INGAME.VH differ diff --git a/data/Sfx/ingame/ingame.pxm b/data/Sfx/ingame/ingame.pxm index f38f6229c..572ebe957 100644 Binary files a/data/Sfx/ingame/ingame.pxm and b/data/Sfx/ingame/ingame.pxm differ diff --git a/data/Sfx/ingame/ingame.xm b/data/Sfx/ingame/ingame.xm index 01075bea8..cbf14873c 100644 Binary files a/data/Sfx/ingame/ingame.xm and b/data/Sfx/ingame/ingame.xm differ diff --git a/source/paul/paul.cpp b/source/paul/paul.cpp index b3103fc00..e58a689bf 100644 --- a/source/paul/paul.cpp +++ b/source/paul/paul.cpp @@ -111,7 +111,6 @@ ---- */ static FontBank s_fontBank; - /*---------------------------------------------------------------------- Function: Purpose: @@ -186,7 +185,7 @@ void CPaulScene::think(int _frames) } else if(pad&PAD_UP) { - if(++sfxNum>7)sfxNum=7; + if(++sfxNum>CSoundMediator::NUM_SFXIDS-1)sfxNum=CSoundMediator::NUM_SFXIDS-1; } else if(pad&PAD_DOWN) { diff --git a/source/sound/sound.cpp b/source/sound/sound.cpp index 502c189be..53d220cee 100644 --- a/source/sound/sound.cpp +++ b/source/sound/sound.cpp @@ -146,17 +146,119 @@ static XMSFXFILEDATA s_xmSfxData[CSoundMediator::NUM_SFXBANKIDS]= static SFXDETAILS s_sfxDetails[CSoundMediator::NUM_SFXIDS]= { // 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 + { 1, 0, 0 }, // SFX_SPONGEBOB_WALK_1 + { 1, 1, 0 }, // SFX_SPONGEBOB_WALK_2 + { 1, 2, 0 }, // SFX_SPONGEBOB_SQUEAKY_SHOES_1 + { 1, 3, 0 }, // SFX_SPONGEBOB_SQUEAKY_SHOES_2 + { 1, 4, 0 }, // SFX_SPONGEBOB_JUMP + { 1, 5, 0 }, // SFX_SPONGEBOB_BUTTBOUNCE + { 1, 6, 0 }, // SFX_SPONGEBOB_BLINK + { 3, 7, 0 }, // SFX_BUBBLE_WAND* + { 1, 8, 0 }, // SFX_SPONGEBOB_DEFEATED_JINGLE + { 1, 9, 0 }, // SFX_BALLOON_INFLATE + { 1, 21, 0 }, // SFX_BALLOON_POP + { 1, 10, 0 }, // SFX_GLASSES_ON + { 1, 11, 0 }, // SFX_JELLY_LAUNCHER + { 1, 12, 0 }, // SFX_SPONGEBOB_KARATE_1 + { 1, 13, 0 }, // SFX_SPONGEBOB_KARATE_2 + { 1, 14, 0 }, // SFX_SPONGEBOB_ATTACK_IMPACT_WITH_ENEMY_1 + { 1, 15, 0 }, // SFX_SPONGEBOB_ATTACK_IMPACT_WITH_ENEMY_2 + { 1, 16, 0 }, // SFX_SPONGEBOB_LAND_AFTER_FALL + { 1, 17, 0 }, // SFX_SPONGEBOB_NET + { 1, 18, 0 }, // SFX_ANEMONE_ATTACK_LEVEL1 + { 1, 19, 0 }, // SFX_ANEMONE_ATTACK_LEVEL2 + { 1, 20, 0 }, // SFX_ANEMONE_ATTACK_LEVEL3 + { 1, 21, 0 }, // SFX_ANEMONE_DEFEATED_LEVEL1 + { 1, 21, 0 }, // SFX_ANEMONE_DEFEATED_LEVEL2 + { 1, 22, 0 }, // SFX_ANEMONE_DEFEATED_LEVEL3 + { 1, 23, 0 }, // SFX_ANEMONE_MOVE + { 1, 24, 0 }, // SFX_ANGLER_FISH_MOVE + { 1, 25, 0 }, // SFX_BALL_BLOB_MOVE + { 1, 26, 0 }, // SFX_BALL_BLOB_ATTACK + { 1, 27, 0 }, // SFX_BEANIE_MOVE + { 3, 28, 0 }, // SFX_BOOGER_MOVE* + { 1, 29, 0 }, // SFX_CLAM_ATTACK + { 1, 30, 0 }, // SFX_CLAM_DEFEATED + { 1, 31, 0 }, // SFX_CLAM_MOVE + { 3, 32, 0 }, // SFX_EYEBALL_SENTRY_ATTACK* + { 3, 33, 0 }, // SFX_EYEBALL_SENTRY_MOVE* + { 1, 34, 0 }, // SFX_FISH_HOOK_MOVE + { 3, 35, 0 }, // SFX_FLAMING_SKULL_MOVE* + { 1, 36, 0 }, // SFX_FLAMING_SKULL_DEFEATED + { 3, 37, 0 }, // SFX_FLAMING_SKULL_ATTACK* + { 1, 38, 0 }, // SFX_GARY_DE_SNAIL + { 3, 39, 0 }, // SFX_GHOST* + { 1, 40, 0 }, // SFX_FISH_FOLK_MOVE_1 + { 1, 41, 0 }, // SFX_FISH_FOLK_MOVE_2 + { 1, 42, 0 }, // SFX_CANNING_MACHINE + { 3, 43, 0 }, // SFX_LAVA* + { 1, 44, 0 }, // SFX_ROLLING_ROCK + { 1, 45, 0 }, // SFX_SAW + { 3, 46, 0 }, // SFX_WHIRLPOOL_DRAIN* + { 3, 47, 0 }, // SFX_WHIRLPOOL_WHIRL* + { 1, 48, 0 }, // SFX_HERMIT_CRAB_ATTACK + { 1, 49, 0 }, // SFX_HERMIT_CRAB_MOVE + { 3, 50, 0 }, // SFX_HAZARD__ACID_DROP* + { 3, 51, 0 }, // SFX_HAZARD__ACORN_LAND* + { 3, 52, 0 }, // SFX_HAZARD__BLADE_ATTACK* + { 3, 53, 0 }, // SFX_HAZARD__BLADE_MOVE* + { 1, 54, 0 }, // SFX_HAZARD__ROPE_MOVE + { 3, 55, 0 }, // SFX_HAZARD__ROPE_SNAP* + { 1, 56, 0 }, // SFX_ANY_OBJECT_FALLING + { 3, 57, 0 }, // SFX_HAZARD__FIREBALL_LAND* + { 3, 58, 0 }, // SFX_HAZARD__FIREBALL_LAUNCH* + { 3, 59, 0 }, // SFX_HAZARD__FALLING_ROCK_FALL* + { 3, 60, 0 }, // SFX_HAZARD__FALLING_ROCK_LAND* + { 1, 61, 0 }, // SFX_HAZARD__MINE + { 1, 62, 0 }, // SFX_SPONGEBOB_SPLASH_INTO_WATER + { 1, 63, 0 }, // SFX_SPONGEBOB_DIVING_HELMET + { 1, 64, 0 }, // SFX_HAZARD__STALACTITE_LAND + { 1, 65, 0 }, // SFX_HAZARD__STALACTITE_RATTLE + { 3, 66, 0 }, // SFX_HAZARD__STEAM* + { 3, 67, 0 }, // SFX_HAZARD__SWAMP_GAS* + { 3, 68, 0 }, // SFX_ITEM__CORAL_BLOWER* + { 1, 69, 0 }, // SFX_ITEM__DISGUISE + { 1, 70, 0 }, // SFX_ITEM__JAMJAR_AMMO + { 3, 71, 0 }, // SFX_ITEM__LEVEL_ITEM* + { 1, 72, 0 }, // SFX_ITEM__ANY_OTHER_ITEM + { 3, 73, 0 }, // SFX_ITEM__POWER_UP_ITEM* + { 3, 74, 0 }, // SFX_ITEM__SKILL_ITEM* + { 1, 75, 0 }, // SFX_JELLYFISH_MOVE + { 1, 76, 0 }, // SFX_JELLYFISH_DEFEATED + { 3, 77, 0 }, // SFX_JELLYFISH_ATTACK* + { 1, 78, 0 }, // SFX_NAUTILUS_ATTACK + { 1, 79, 0 }, // SFX_NAUTILUS_MOVE + { 1, 80, 0 }, // SFX_NINJASTARFISH_ATTACK + { 1, 81, 0 }, // SFX_PRICKLY_BUG_ATTACK + { 1, 82, 0 }, // SFX_PRICKLY_BUG_DEFEATED + { 1, 83, 0 }, // SFX_PRICKLY_BUG_MOVE + { 3, 84, 0 }, // SFX_PUFFAFISH_MOVE* + { 3, 85, 0 }, // SFX_SKULL_ATTACK* + { 1, 86, 0 }, // SFX_SPIDERCRAB_ATTACK + { 1, 87, 0 }, // SFX_SPIDERCRAB_MOVE + { 1, 88, 0 }, // SFX_SQUIDDART_ATTACK + { 3, 89, 0 }, // SFX_SQUIDDART_DEFEATED* + { 1, 90, 0 }, // SFX_SQUIDDART_MOVE + { 1, 91, 0 }, // SFX_SEASNAKE_ATTACK + { 1, 92, 0 }, // SFX_SEASNAKE_MOVE + { 1, 93, 0 }, // SFX_TELEPHONE_BOX + { 3, 94, 0 }, // SFX_WORLD_OBJECT__BARRIER* + { 3, 95, 0 }, // SFX_WORLD_OBJECT__BIG_WHEEL* + { 3, 96, 0 }, // SFX_WORLD_OBJECT__GEYSER* + { 3, 97, 0 }, // SFX_WORLD_OBJECT__GHOST_TRAIN_DOORS* + { 1, 98, 0 }, // SFX_WORLD_OBJECT__DISAPPEARING_PLATFORM + { 1, 99, 0 }, // SFX_WORLD_OBJECT__RESPAWNING_PLATFORM + { 1, 100, 0 }, // SFX_WORLD_OBJECT__ROTATING_PLATFORM + { 1, 101, 0 }, // SFX_WORLD_OBJECT__SEESAW + { 1, 102, 0 }, // SFX_WORLD_OBJECT__TRAIN_TRACKS + { 1, 103, 0 }, // SFX_WORLD_OBJECT__CURRENTS + { 1, 104, 0 }, // SFX_ZOMBIE_FISH_FOLK + { 1, 105, 0 }, // SFX_FRONT_END__MOVE_CURSOR + { 1, 106, 0 }, // SFX_FRONT_END__SELECT + { 1, 107, 0 }, // SFX_FRONT_END__ERROR + { 1, 108, 0 }, // SFX_FRONT_END__OK }; - // Reverb details static ReverbDetails s_reverbDetails[CSoundMediator::NUM_REVERBTYPES]= { diff --git a/source/sound/sound.h b/source/sound/sound.h index 5f984faa8..eef590c94 100644 --- a/source/sound/sound.h +++ b/source/sound/sound.h @@ -66,9 +66,81 @@ public: }; typedef enum SFXID { - SFX_TEST0, SFX_TEST1, SFX_TEST2, SFX_TEST3, - SFX_TEST4, SFX_TEST5, SFX_TEST6, SFX_TEST7, - NUM_SFXIDS, + SFX_SPONGEBOB_WALK_1, SFX_SPONGEBOB_WALK_2, + SFX_SPONGEBOB_SQUEAKY_SHOES_1, SFX_SPONGEBOB_SQUEAKY_SHOES_2, + SFX_SPONGEBOB_JUMP, + SFX_SPONGEBOB_BUTTBOUNCE, + SFX_SPONGEBOB_BLINK, + SFX_BUBBLE_WAND, + SFX_SPONGEBOB_DEFEATED_JINGLE, + SFX_BALLOON_INFLATE, SFX_BALLOON_POP, + SFX_GLASSES_ON, + SFX_JELLY_LAUNCHER, + SFX_SPONGEBOB_KARATE_1, SFX_SPONGEBOB_KARATE_2, + SFX_SPONGEBOB_ATTACK_IMPACT_WITH_ENEMY_1, SFX_SPONGEBOB_ATTACK_IMPACT_WITH_ENEMY_2, + SFX_SPONGEBOB_LAND_AFTER_FALL, + SFX_SPONGEBOB_NET, + SFX_ANEMONE_ATTACK_LEVEL1, SFX_ANEMONE_ATTACK_LEVEL2, SFX_ANEMONE_ATTACK_LEVEL3, + SFX_ANEMONE_DEFEATED_LEVEL1, SFX_ANEMONE_DEFEATED_LEVEL2, SFX_ANEMONE_DEFEATED_LEVEL3, + SFX_ANEMONE_MOVE, + SFX_ANGLER_FISH_MOVE, + SFX_BALL_BLOB_MOVE, SFX_BALL_BLOB_ATTACK, + SFX_BEANIE_MOVE, + SFX_BOOGER_MOVE, + SFX_CLAM_ATTACK, SFX_CLAM_DEFEATED, SFX_CLAM_MOVE, + SFX_EYEBALL_SENTRY_ATTACK, SFX_EYEBALL_SENTRY_MOVE, + SFX_FISH_HOOK_MOVE, + SFX_FLAMING_SKULL_MOVE, SFX_FLAMING_SKULL_DEFEATED, SFX_FLAMING_SKULL_ATTACK, + SFX_GARY_DE_SNAIL, + SFX_GHOST, + SFX_FISH_FOLK_MOVE_1, SFX_FISH_FOLK_MOVE_2, + SFX_CANNING_MACHINE, + SFX_LAVA, + SFX_ROLLING_ROCK, + SFX_SAW, + SFX_WHIRLPOOL_DRAIN, SFX_WHIRLPOOL_WHIRL, + SFX_HERMIT_CRAB_ATTACK, SFX_HERMIT_CRAB_MOVE, + SFX_HAZARD__ACID_DROP, + SFX_HAZARD__ACORN_LAND, + SFX_HAZARD__BLADE_ATTACK, SFX_HAZARD__BLADE_MOVE, + SFX_HAZARD__ROPE_MOVE, SFX_HAZARD__ROPE_SNAP, + SFX_ANY_OBJECT_FALLING, + SFX_HAZARD__FIREBALL_LAND, SFX_HAZARD__FIREBALL_LAUNCH, + SFX_HAZARD__FALLING_ROCK_FALL, SFX_HAZARD__FALLING_ROCK_LAND, + SFX_HAZARD__MINE, + SFX_SPONGEBOB_SPLASH_INTO_WATER, + SFX_SPONGEBOB_DIVING_HELMET, + SFX_HAZARD__STALACTITE_LAND, SFX_HAZARD__STALACTITE_RATTLE, + SFX_HAZARD__STEAM, + SFX_HAZARD__SWAMP_GAS, + SFX_ITEM__CORAL_BLOWER, + SFX_ITEM__DISGUISE, + SFX_ITEM__JAMJAR_AMMO, + SFX_ITEM__LEVEL_ITEM, SFX_ITEM__ANY_OTHER_ITEM, SFX_ITEM__POWER_UP_ITEM, SFX_ITEM__SKILL_ITEM, + SFX_JELLYFISH_MOVE, SFX_JELLYFISH_DEFEATED, SFX_JELLYFISH_ATTACK, + SFX_NAUTILUS_ATTACK, SFX_NAUTILUS_MOVE, + SFX_NINJASTARFISH_ATTACK, + SFX_PRICKLY_BUG_ATTACK, SFX_PRICKLY_BUG_DEFEATED, SFX_PRICKLY_BUG_MOVE, + SFX_PUFFAFISH_MOVE, + SFX_SKULL_ATTACK, + SFX_SPIDERCRAB_ATTACK, SFX_SPIDERCRAB_MOVE, + SFX_SQUIDDART_ATTACK, SFX_SQUIDDART_DEFEATED, SFX_SQUIDDART_MOVE, + SFX_SEASNAKE_ATTACK, SFX_SEASNAKE_MOVE, + SFX_TELEPHONE_BOX, + SFX_WORLD_OBJECT__BARRIER, + SFX_WORLD_OBJECT__BIG_WHEEL, + SFX_WORLD_OBJECT__GEYSER, + SFX_WORLD_OBJECT__GHOST_TRAIN_DOORS, + SFX_WORLD_OBJECT__DISAPPEARING_PLATFORM, + SFX_WORLD_OBJECT__RESPAWNING_PLATFORM, + SFX_WORLD_OBJECT__ROTATING_PLATFORM, + SFX_WORLD_OBJECT__SEESAW, + SFX_WORLD_OBJECT__TRAIN_TRACKS, + SFX_WORLD_OBJECT__CURRENTS, + SFX_ZOMBIE_FISH_FOLK, + SFX_FRONT_END__MOVE_CURSOR, SFX_FRONT_END__SELECT, SFX_FRONT_END__ERROR, SFX_FRONT_END__OK, + + NUM_SFXIDS }; typedef enum VOLUMETYPE diff --git a/source/sound/spu.h b/source/sound/spu.h index e69376235..3ce801e82 100644 --- a/source/sound/spu.h +++ b/source/sound/spu.h @@ -61,7 +61,7 @@ private: enum { MAX_SOUND_BANKS=4, - MAX_SPU_MANAGEMENT=MAX_SOUND_BANKS+30, + MAX_SPU_MANAGEMENT=MAX_SOUND_BANKS+110, }; static char s_spuManagementTable[]; diff --git a/source/sound/xmplay.cpp b/source/sound/xmplay.cpp index 1a7f4ff14..90d6371ae 100644 --- a/source/sound/xmplay.cpp +++ b/source/sound/xmplay.cpp @@ -315,6 +315,7 @@ xmSampleId CXMPlaySound::loadSampleData(FileEquate _vhFe,FileEquate _vbFe) VhPtr=(u8*)CFileIO::loadFile(_vhFe); VbPtr=(u8*)CFileIO::loadFile(_vbFe); vab->m_vabId=XM_VABInit(VhPtr,VbPtr); + ASSERT(vab->m_vabId!=-1); // Didn't load! MemFree(VhPtr); MemFree(VbPtr); vab->m_vhFile=_vhFe; @@ -913,6 +914,7 @@ void CXMPlaySound::defragSpuMemory() VhPtr=(u8*)CFileIO::loadFile(vab->m_vhFile); VbPtr=(u8*)CFileIO::loadFile(vab->m_vbFile); vab->m_vabId=XM_VABInit(VhPtr,VbPtr); + ASSERT(vab->m_vabId!=-1); // Didn't load! MemFree(VhPtr); MemFree(VbPtr); }