sf64/include/sfx.h
petrie911 182eb5c65a
Use SF3DS BGM names, some other audio-related cleanup. (#235)
* remember to undo mods

* bgm macros
2024-05-08 12:32:05 -03:00

512 lines
24 KiB
C

#ifndef SFX_H
#define SFX_H
#include "sys.h"
extern f32 gDefaultSfxSource[];
extern f32 gDefaultMod;
extern s8 gDefaultReverb;
void Audio_PlaySfx(u32 sfxId, f32* sfxSource, u8 token, f32* freqMod, f32* volMod, s8* reverbAdd);
void Audio_KillSfxByBank(u8 bankId);
void Audio_StopSfxByBankAndSource(u8 bankId, f32* sfxSource);
void Audio_KillSfxByBankAndSource(u8 bankId, f32* sfxSource);
void Audio_KillSfxBySource(f32* sfxSource);
void Audio_KillSfxBySourceAndId(f32* sfxSource, u32 sfxId);
void Audio_KillSfxByTokenAndId(u8 token, u32 sfxId);
void Audio_KillSfxById(u32 sfxId);
void Audio_StartPlayerNoise(u8 playerId);
void Audio_StopPlayerNoise(u8 playerId);
void Audio_InitBombSfx(u8 playerId, u8 type);
void Audio_PlayBombFlightSfx(u8 playerId, f32* sfxSource);
void Audio_PlayBombExplodeSfx(u8 playerId, f32* sfxSource);
void Audio_StopEngineNoise(f32* sfxSource);
void Audio_SetSfxSpeedModulation(f32 vel);
void Audio_SetTransposeAndPlaySfx(f32* sfxSource, u32 sfxId, u8 semitones);
void Audio_SetModulationAndPlaySfx(f32* sfxSource, u32 sfxId, f32 freqMod);
void Audio_PlaySfxModulated(f32* sfxSource, u32 sfxId);
void Audio_SetSfxMapModulation(u8 fMod);
void Audio_SetHeatAlarmParams(u8 shields, u8 heightParam);
void Audio_PlayEventSfx(f32* sfxSource, u16 eventSfxId);
void Audio_StopEventSfx(f32* sfxSource, u16 eventSfxId);
void Audio_SetEnvSfxReverb(s8 reverb);
void Audio_PlayPauseSfx(u8 active);
void Audio_PlayMapMenuSfx(u8 active);
void Audio_KillAllSfx(void);
#define AUDIO_PLAY_SFX(sfxId, srcPos, token) (Audio_PlaySfx((sfxId),(srcPos),(token),&gDefaultMod,&gDefaultMod,&gDefaultReverb))
#define SFX_FLAG_18 (1 << 18) // makes distance ignore z position? probably more
#define SFX_FLAG_19 (1 << 19)
#define SFX_FLAG_20 (1 << 20) // make priority ignore distance
#define SFX_FLAG_21 (1 << 21) // make reverb ignore distance
#define SFX_FLAG_22 (1 << 22) // make volume ignore distance
#define SFX_FLAG_23 (1 << 23) // make noisy
#define SFX_FLAG_27 (1 << 27) // allow duplicate requests
#define SFX_BANK_SHIFT 28
#define SFX_STATE_SHIFT 24
#define SFX_RANGE_SHIFT 16
#define SFX_IMPORT_SHIFT 8
#define SFX_BANK_MASK (0xF << SFX_BANK_SHIFT)
#define SFX_STATE_FLAG (1 << SFX_STATE_SHIFT)
#define SFX_RANGE_MASK (3 << SFX_RANGE_SHIFT)
#define SFX_IMPORT_MASK (0xFF << SFX_IMPORT_SHIFT)
#define SFX_BANK(sfxId) ((((sfxId) & SFX_BANK_MASK) >> SFX_BANK_SHIFT) & 0xFF)
#define SFX_BANK_ALT(sfxId) (((sfxId) >> SFX_BANK_SHIFT) & 0xFF)
#define SFX_STATE(sfxId) (((sfxId) & SFX_STATE_FLAG) >> SFX_STATE_SHIFT)
#define SFX_RANGE(sfxId) ((((sfxId) & SFX_RANGE_MASK) >> SFX_RANGE_SHIFT) & 0xFF)
#define SFX_IMPORT(sfxId) ((((sfxId) & SFX_IMPORT_MASK) >> SFX_IMPORT_SHIFT) & 0xFF)
#define SFX_INDEX(sfxId) ((sfxId) & 0xFF)
#define SFX_PACK(bank, index, range, importance, flags) \
((((bank)<<SFX_BANK_SHIFT)&SFX_BANK_MASK)|(((range)<<SFX_RANGE_SHIFT)&SFX_RANGE_MASK)|\
(((importance)<<SFX_IMPORT_SHIFT)&SFX_IMPORT_MASK)|((index)&0xFF)|SFX_STATE_FLAG|(flags))
typedef enum SfxBankId {
SFX_BANK_PLAYER,
SFX_BANK_1,
SFX_BANK_2,
SFX_BANK_3,
SFX_BANK_SYSTEM,
} SfxBankId;
#define NA_SE_NONE 0x00000000
#define NA_SE_TURRET_SHOT 0x09000000 // Invented name. Appears in unused turret mode.
#define NA_SE_ARWING_SHOT 0x09400000
#define NA_SE_SMART_BOMB_SHOT 0x09001001
#define NA_SE_ARWING_BOOST 0x09000002
#define NA_SE_ARWING_DASH 0x09004002 // Boost variant used by Venom 1 intro and boss Titania
#define NA_SE_ARWING_BRAKE 0x09000003
#define NA_SE_ARWING_EXPLOSION 0x0903F004
#define NA_SE_SLIPPY_HIT 0x09000004 // From Sector X boss
#define NA_SE_ARWING_ENGIN_GRD 0x0100F005
#define NA_SE_TANK_ENGIN 0x0100F006
#define NA_SE_WING_OPEN 0x09000007
#define NA_SE_BOMB_CHARGE 0x01008008 // iniial bomb flight. only plays for 1 frame. Bombs were chargeable?
#define NA_SE_BOMB_EXPLODE0 0x0901A009 // unused bomb explosion
#define NA_SE_BOMB_EXPLODE1 0x0903A00A // used bomb explosion
#define NA_SE_BOMB_EXPLODE2 0x0901A00B // unused bomb explosion
#define NA_SE_BACKUP_CLEAR 0x0940A00B // Also used for explosion on Corneria at game start
#define NA_SE_ARWING_TWIN_LASER 0x0940800C
#define NA_SE_ZERO_SHIELD 0x0900000D // Unreferenced. Sounds like an explosion
#define NA_SE_DAMAGE_S 0x0903900E
#define NA_SE_DAMAGE_L 0x0903A00F
#define NA_SE_ARWING_DOWN 0x0900C010
#define NA_SE_ROLLING_REFLECT 0x09007011
#define NA_SE_ROLLING_AIR 0x09000012
#define NA_SE_WING_OPEN_END 0x09000013
#define NA_SE_LIFT_UP_END 0x09002013
#define NA_SE_TANK_SHOT 0x09000014 // Also used for on-foot shot
#define NA_SE_TANK_BOUND 0x09008015 // Same as NA_SE_TANK_WALL_HIT
#define NA_SE_TANK_WALL_HIT 0x09008015 // Same as NA_SE_TANK_BOUND
#define NA_SE_TANK_GO_UP 0x01008016
#define NA_SE_MAR_ROLLING_AIR 0x09000017
#define NA_SE_STEP_FOX 0x09000018 // Unreferenced
#define NA_SE_STEP_FALCO 0x09000019 // Unreferenced
#define NA_SE_STEP_PEPPY 0x0900001A // Unreferenced
#define NA_SE_STEP_SLIPPY 0x0900001B // Unreferenced
#define NA_SE_DEMO_RUNNING 0x0140001C
#define NA_SE_LIFT_UP 0x0100001D
#define NA_SE_ENGINE_START 0x0100001E
#define NA_SE_VOLUME_TEST 0x0100001F
#define NA_SE_ARWING_ENGIN_SPC 0x0100F020
#define NA_SE_MAR_SHOT 0x09400021
#define NA_SE_MARINE_ENGINE00 0x0100F022
#define NA_SE_WING_REPAIR 0x09008023
#define NA_SE_TANK_BURNER_HALF 0x01004024
#define NA_SE_MAR_BOMB_SHOT 0x01000025
#define NA_SE_MAR_LAUNCH 0x01038026
#define NA_SE_MAR_TWIN_LASER 0x09400027 // Also used for hyper lasers
#define NA_SE_MAR_BOUND 0x09404028
#define NA_SE_LOCK_ON_LASER 0x09007029 // Charge shot fire
#define NA_SE_ARWING_WARP_DASH 0x0940802A // During warp zone entrance cutscene
#define NA_SE_MAP_ARWING_WARP_DASH 0x0900802A
#define NA_SE_ARWING_TWIN_LASER2 0x0940802B
#define NA_SE_ARWING_WING_BROKEN 0x0900A02C
#define NA_SE_LOCK_SEARCH 0x0900302D // Charge shot charge
#define NA_SE_SPREAD_EXPLOSION 0x0903502E // Charge shot/torpedo explode
#define NA_SE_TANK_DASH 0x0900402F
#define NA_SE_MARINE_BOOST 0x09004030
#define NA_SE_MARINE_BRAKE 0x09004031
#define NA_SE_MAP_ARWING_DASH 0x09000032
#define NA_SE_FALL 0x11000000
#define NA_SE_PASS 0x19000001
#define NA_SE_OB_METAL_BOUND_S 0x19030002 // Unreferenced.
#define NA_SE_OB_METAL_BOUND_M 0x19030003
#define NA_SE_EN_METAL_BOUND_M 0x19130003
#define NA_SE_EN_MS_LAND 0x19031003
#define NA_SE_OB_METAL_BOUND_L 0x19030004
#define NA_SE_OB_BLOCK_APPEAR 0x19122005
#define NA_SE_OB_BOUND_M 0x19020006
#define NA_SE_OB_ROCK_BOUND 0x19030006
#define NA_SE_OB_AQ_ROCK_BOUND 0x19400007
#define NA_SE_METALBOMB_REFLECT 0x19020008
#define NA_SE_OB_MA_SWITCH_UP 0x19033008
#define NA_SE_METALBOMB_BOUND 0x19030009 // Unreferenced.
#define NA_SE_TANK_SLIDE 0x1100000A
#define NA_SE_SPLASH_LEVEL_S 0x1100000B
#define NA_SE_SPLASH_LEVEL_L 0x1100000C
#define NA_SE_OB_GATE_OPEN 0x1900000D
#define NA_SE_OB_SLIDE_OPEN 0x1903000D
#define NA_SE_OB_GATE_CLOSE 0x1900000E
#define NA_SE_OB_SLIDE_CLOSE 0x1903000E
#define NA_SE_OB_EXPLOSION_S 0x1903400F
#define NA_SE_GREATFOX_ENGINE 0x11030010
#define NA_SE_EARTHQUAKE 0x11000011
#define NA_SE_MAP_ZOOM_START 0x19003012
#define NA_SE_MAP_ZOOM_END 0x19004013
#define NA_SE_OB_WATER_BOUND_M 0x19000014
#define NA_SE_OB_STEELFRAME 0x19500015
#define NA_SE_EXPLOSION_DEMO2 0x11030016
#define NA_SE_KA_UFO_FALLING 0x11404016
#define NA_SE_IN_SPLASH_S 0x19800017
#define NA_SE_OUT_SPLASH_S 0x19800018 // Unreferenced.
#define NA_SE_IN_SPLASH_L 0x19832019
#define NA_SE_OUT_SPLASH_L 0x1983201A
#define NA_SE_OB_CRAME_MOTOR 0x1900001B
#define NA_SE_OB_BROKEN_BOX 0x1903901C
#define NA_SE_OB_MINI_BOMB 0x1903001D
#define NA_SE_OB_WT_WHEEL_ROLL 0x1903001E
#define NA_SE_OB_WALL_UP 0x1903001F
#define NA_SE_ON_SPLASH_S 0x19000020
#define NA_SE_EN_PULL_CHAIN0 0x19003021
#define NA_SE_EN_GATHER_PARTS 0x11033022
#define NA_SE_EN_HEARTBEAT 0x11003023
#define NA_SE_OB_SAND_BOUND_S 0x19000024
#define NA_SE_KA_UFO_ENGINE 0x11037025
#define NA_SE_MAP_ZOOM_OUT 0x19000026
#define NA_SE_EN_BROKEN_SPARK 0x11000027
#define NA_SE_OB_SPARK_BEAM 0x11000028
#define NA_SE_OB_BOMB_ALARM 0x19000029
#define NA_SE_WARP_HOLE 0x1900602A
#define NA_SE_OB_WING 0x1900302B
#define NA_SE_SUBMARINE_ATM 0x1100802C
#define NA_SE_WATER_PRESSURE 0x1900002D
#define NA_SE_BUBBLE_UP 0x1900002E
#define NA_SE_EN_WT_BROKEN 0x1902102F
#define NA_SE_EN_WT_DISAPPEAR_S 0x19003030
#define NA_SE_EN_WT_BOUND_M 0x19402031
#define NA_SE_OB_BOMB_ALARM_LAST 0x19000032
#define NA_SE_EN_WT_DISAPPEAR_L 0x19000033
#define NA_SE_EN_RNG_BEAM_CHARGE 0x11015034
#define NA_SE_EN_RNG_BEAM_SHOT 0x19006035
#define NA_SE_EN_SHIELD_ROLL 0x19030036
#define NA_SE_GREATFOX_SHOT_DEMO 0x19030037
#define NA_SE_WARP_RING_1 0x19404038
#define NA_SE_WARP_RING_2 0x19404139
#define NA_SE_WARP_RING_3 0x1940423A
#define NA_SE_WARP_RING_4 0x1940433B
#define NA_SE_WARP_RING_5 0x1940443C
#define NA_SE_WARP_RING_6 0x1940453D
#define NA_SE_WARP_RING_7 0x1940463E
#define NA_SE_KA_UFO_HATCH_OPEN 0x1903203F
#define NA_SE_KA_UFO_HATCH_CLOSE 0x19032040
#define NA_SE_KA_UFO_CORE_OPEN 0x19032041
#define NA_SE_BO_CORE_APPEAR 0x19034041
#define NA_SE_KA_UFO_HATCH_STOP 0x19034042
#define NA_SE_KA_UFO_LONG_CHARGE 0x11034043
#define NA_SE_KA_UFO_LAST_CHARGE 0x19406044
#define NA_SE_KA_UFO_BEAM 0x1140B045
#define NA_SE_EXPLOSION_DEMO3 0x11038046
#define NA_SE_KA_UFO_BOUND 0x19408047
#define NA_SE_OB_BARRIER_RELEASE 0x19401048
#define NA_SE_EN_SPACE_SNAKE 0x11032049
#define NA_SE_OB_ROCKWALL_UP 0x1913204A
#define NA_SE_COLONY_LEVEL 0x1100004B // Unreferenced.
#define NA_SE_MAP_MOVE 0x1100004C
#define NA_SE_MAP_ROLL 0x1100204C
#define NA_SE_MAP_LINE_DRAW 0x1900404D
#define NA_SE_SHIP_ENGINE_SPC 0x1100004E // Unreferenced.
#define NA_SE_OB_BROKEN_SPARK_L 0x1900404F
#define NA_SE_EN_SHIELD_ROLL_LEVEL 0x11002050
#define NA_SE_EN_SHIELD_ROLL_STOP 0x19004051
#define NA_SE_OB_MAGMA_WAVE 0x11002052
#define NA_SE_EN_OUT_PROMINENCE 0x19035053
#define NA_SE_EN_OUT_MAGMA 0x19036053
#define NA_SE_EN_IN_PROMINENCE 0x19035054
#define NA_SE_EN_IN_MAGMA 0x19036054
#define NA_SE_OB_SMOKE 0x11000055
#define NA_SE_OB_ROCK_CRASH 0x19032056
#define NA_SE_OB_ROCK_EYE_OPEN 0x19030057
#define NA_SE_OB_SHIP_FALLDOWN 0x19033058
#define NA_SE_EN_VEBOSS_BROKEN 0x19030059
#define NA_SE_OB_ARM_SWING 0x1903005A
#define NA_SE_OB_POLE_MOVE 0x1903205B
#define NA_SE_OB_POLE_BOUND 0x1903205C
#define NA_SE_OB_HEAVY_SWITCH 0x1940405D
#define NA_SE_OB_CONNECT_CUT 0x1940205E
#define NA_SE_OB_MA_SWITCH_ON 0x1903205F
#define NA_SE_OB_MA_SWITCH_GRN 0x19020060
#define NA_SE_OB_MA_SWITCH_RED 0x19020061
#define NA_SE_OB_POST_UP 0x19001062
#define NA_SE_OB_SIDE_GATE_CLOSE 0x11001063
#define NA_SE_OB_SPEAR_STICK 0x19032064
#define NA_SE_RAILWAY_BOUND 0x19000065
#define NA_SE_EN_MABOSS_HATCH 0x19034066
#define NA_SE_EN_MABOSS_CHARGE0 0x19022067
#define NA_SE_EN_MABOSS_SHOT0 0x19023068
#define NA_SE_EN_MABOSS_PLATECHARGE 0x19022069
#define NA_SE_VO_ANDROSS_PUNCH 0x1940306A
#define NA_SE_VO_ANDROSS_SLAP 0x1940306B
#define NA_SE_VO_ANDROSS_WHAND 0x1940306C
#define NA_SE_VO_ANDROSS_CHOKE 0x1940306D
#define NA_SE_VO_ANDROSS_LAUGH 0x1940306E
#define NA_SE_VO_ANDROSS_GROAN 0x1940306F
#define NA_SE_VO_ANDROSS_DEATH 0x19403070
#define NA_SE_OB_ROUTE_EXPLOSION0 0x11403071
#define NA_SE_OB_ROUTEGATE_OPEN_Q 0x19038072
#define NA_SE_EN_ANDROSS_ROBOT 0x11030073
#define NA_SE_EN_ANDROSS_BRAIN 0x11034074
#define NA_SE_EN_ANDROSS_EYE 0x11032075
#define NA_SE_OB_ROUTE_EXPLOSION1 0x11403076
#define NA_SE_OB_FISH_AWAY 0x19400077
#define NA_SE_OB_AQ_PILLAR_BROKE 0x19021078
#define NA_SE_WARP_OUT 0x11407079
#define NA_SE_ARWING_HATCH 0x1950107A
#define NA_SE_OB_POINT_SWITCH 0x1940807B
#define NA_SE_VO_ANDROSS_EXCITE 0x1940307C
#define NA_SE_OB_PILLAR_ROLL 0x1903407D
#define NA_SE_OB_ROUTEGATE_CLOSE_Q 0x1903807E
#define NA_SE_OB_ROUTEGATE_OPEN_S 0x1903807F
#define NA_SE_OB_ROUTEGATE_CLOSE_S 0x19038080 // events that play this are unused
#define NA_SE_OB_LIFT 0x11032081
#define NA_SE_OB_PLATE_ROLL 0x19031082
#define NA_SE_STARFOX_SEAL 0x19031083
#define NA_SE_EXPLOSION_DEMO6 0x11020084
#define NA_SE_EXPLOSION_S 0x29000000
#define NA_SE_BIG_EXPLOSION 0x29000001 // Unreferenced.
#define NA_SE_EN_SHOT_0 0x29002002
#define NA_SE_EN_DAMAGE_M 0x29024003
#define NA_SE_OB_DAMAGE_M 0x29034003
#define NA_SE_EN_BREATH 0x31000004 // Unreferenced.
#define NA_SE_EN_WOLF_ENGINE 0x31004005
#define NA_SE_EN_WOLF_ENGINE2 0x31004006
#define NA_SE_EN_REFLECT 0x29121007
#define NA_SE_EN_EXPLOSION_S 0x2903A008
#define NA_SE_EN_EXPLOSION_M 0x2903B009
#define NA_SE_EN_EXPLOSION_L 0x2940C00A
#define NA_SE_EN_CRASH_DOWN 0x2903700B
#define NA_SE_ARWING_ENGINE_FG 0x3100000C
#define NA_SE_ARWING_SHOT_F 0x2900000D
#define NA_SE_EN_DAMAGE_S 0x2903300E
#define NA_SE_EN_DAMAGE_L 0x2900300F
#define NA_SE_EN_KNOCK_DOWN 0x2943500F
#define NA_SE_EN_S_FIGHTER_ENGINE 0x31000010 // Unreferenced.
#define NA_SE_EN_ENGINE_01 0x31000011
#define NA_SE_EN_MISSILE_ENGINE 0x31000012
#define NA_SE_EN_LONG_BEAM 0x31000013
#define NA_SE_EN_ALIEN_FLY 0x31000014
#define NA_SE_EN_SPACE_SHIP 0x31000015
#define NA_SE_EN_TANK_RB_ENGINE 0x31000016
#define NA_SE_EN_TANK_ENGINE 0x31000017
#define NA_SE_A_CARRIER_ENGINE 0x31038018
#define NA_SE_EN_HEAVY_WALK 0x29022019
#define NA_SE_EN_HATCH 0x2940201A
#define NA_SE_EN_MISSILE_SHOT 0x2903101B
#define NA_SE_EN_BARREL_SHOT 0x2903201B
#define NA_SE_EN_THROW 0x2902401C
#define NA_SE_EN_MS_PUNCH 0x2903401C
#define NA_SE_EN_FALLING_DOWN 0x2900201D
#define NA_SE_EN_LASER_BEAM 0x3100001E
#define NA_SE_EN_HEAVY_WALK1 0x2902201F
#define NA_SE_EN_HEAVY_JUMP 0x29023020
#define NA_SE_EN_HEAVY_BOUND 0x29034021
#define NA_SE_OB_HEAVY_BOUND 0x2903A021
#define NA_SE_EN_COMBINE 0x29433022
#define NA_SE_EN_MOTOR_ROLL 0x29400023
#define NA_SE_EN_MOTOR_STOP 0x29034024
#define NA_SE_EN_UNIT_COMBINE 0x29402024
#define NA_SE_EN_ENERGY_BEAM 0x31000025
#define NA_SE_EN_ZOBOSS_BEAM 0x31034025
#define NA_SE_EN_BOSS_EXPLOSION 0x2902F026
#define NA_SE_EN_STAR_EXPLOSION 0x2940F026
#define NA_SE_EN_PARTS_BROKEN 0x2940C027
#define NA_SE_EN_THROW_S 0x29000028
#define NA_SE_EN_HEAVY_WALK2 0x29406029
#define NA_SE_EN_APPEAR_SAND 0x2900502A
#define NA_SE_EN_TIBOSS_AT_CRY 0x2940702B
#define NA_SE_EN_TIBOSS_DM_CRY 0x2940802C
#define NA_SE_EN_TIBOSS_DW_CRY 0x2940902D
#define NA_SE_EXPLOSION_DEMO 0x3140402E
#define NA_SE_EXPLOSION_DEMO5 0x3143402E
#define NA_SE_EN_BOSS_BEAM0 0x3143102F
#define NA_SE_EN_BOSS_CHARGE 0x39435830
#define NA_SE_OB_SAND_BOUND_M 0x29003031
#define NA_SE_EN_BOSS_ATTACK 0x29403031
#define NA_SE_OB_SPEAR_PILLAR 0x29503032
#define NA_SE_EN_WT_EXPLOSION_S 0x29038033
#define NA_SE_EN_WT_EXPLOSION_M 0x29000034 // Unreferenced.
#define NA_SE_EN_WT_EXPLOSION_L 0x29000035 // Unreferenced.
#define NA_SE_EN_BIRD_DOWN 0x29018036
#define NA_SE_EN_BIRD_DAMAGE 0x29033037
#define NA_SE_EN_SPIDER_MOVE 0x21000038 // Unreferenced.
#define NA_SE_EN_SHIP_ENGINE_S 0x31012039
#define NA_SE_EN_SHIP_ENGINE_L 0x3100203A
#define NA_SE_EN_S_BALL_SHOT 0x2903203B
#define NA_SE_EN_SINK_PARTS 0x2940983C
#define NA_SE_EN_M_BALL_SHOT 0x2900403D
#define NA_SE_EN_PULL_CHAIN1 0x3100503E
#define NA_SE_EN_HEART_OPEN 0x2900803F
#define NA_SE_ARWING_ENGINE_FS 0x31000040
#define NA_SE_EN_SNAKE_DAMAGE 0x29034041
#define NA_SE_EN_KANI_DOWN 0x29000042 // Unreferenced.
#define NA_SE_EN_KANI_MOTOR 0x31030043
#define NA_SE_EN_DISAPPEAR_SAND 0x29000044 // Unreferenced.
#define NA_SE_EN_SANADA_DAMAGE 0x29034045
#define NA_SE_EN_SANADA_DOWN 0x2902A046
#define NA_SE_EN_SANADA_SWIM 0x31000047
#define NA_SE_EN_SANADA_APPEAR 0x29022048
#define NA_SE_EN_SEA_EXPLOSION_S 0x29018049
#define NA_SE_EN_SEA_EXPLOSION_L 0x2900004A // Unreferenced.
#define NA_SE_EN_P_BALL_SHOT 0x2903404B
#define NA_SE_EN_WT_DAMAGE_S 0x2903604C
#define NA_SE_EN_EYEFILM_DAMAGE 0x2940604C
#define NA_SE_EN_SHELL_BEAT 0x3140904D
#define NA_SE_EN_SHELL_DAMAGE 0x2940804E
#define NA_SE_EN_SHELL_DOWN 0x2940A04F
#define NA_SE_EN_KAIBASHIRA_DAMEGE 0x29036050
#define NA_SE_EN_EYEFILM_REVIVAL 0x29409051
#define NA_SE_EN_P_GUN_APPEAR 0x29400052
#define NA_SE_EN_P_GUN_DISAPPEAR 0x29000053 // Unreferenced.
#define NA_SE_EN_SHELL_CLOSE 0x29408054
#define NA_SE_EN_SHELL_FILLOPEN 0x29408055
#define NA_SE_EN_S_BEAM_CHARGE 0x31016056
#define NA_SE_EN_S_BEAM_SHOT 0x31037057
#define NA_SE_EN_S_BEAM_END 0x29038058
#define NA_SE_GREATFOX_BURNER 0x31024059
#define NA_SE_EN_BURNER_L 0x3102505A
#define NA_SE_EN_GRN_BEAM_CHARGE 0x3103605B
#define NA_SE_EN_GRN_BEAM_SHOT 0x3102705C
#define NA_SE_EN_MEBOSS_SHIELD 0x3102405D
#define NA_SE_EN_CATCH 0x2902405E
#define NA_SE_EN_PASS 0x2903305F
#define NA_SE_EN_MS_EXPLOSION_S 0x2903A060
#define NA_SE_EN_SZMIS_ENGINE 0x31032061
#define NA_SE_EN_PUNCH_ENGINE 0x3103A061
#define NA_SE_EN_BARRIER_REFLECT 0x29001062
#define NA_SE_EN_ANDROSS_EXPLOSION 0x31009063
#define NA_SE_EN_SPARK_DAMAGE_M 0x29033064
#define NA_SE_EN_VEBOSS_DAMAGE 0x31034064
#define NA_SE_EN_ARM_SWING 0x29034065
#define NA_SE_EN_COVER_OPEN 0x31404066
#define NA_SE_EN_COVER_CLOSE 0x31404067
#define NA_SE_EN_COVER_MOVE_STOP 0x39404068
#define NA_SE_EN_ENERGY_BALL 0x31008069
#define NA_SE_EN_UNIT_GATHERING 0x2900306A
#define NA_SE_EN_MS_SHOT_S 0x2900306B
#define NA_SE_EN_MS_DASH 0x2902306C
#define NA_SE_EN_MS_KICK 0x2902306D
#define NA_SE_EN_MS_SHOT_L 0x2901306E
#define NA_SE_EN_MS_SHIELD_BROKEN 0x2903A06F
#define NA_SE_EN_MS_EXPLOSION_L 0x29000070 // Unreferenced.
#define NA_SE_OB_SOROCK_APPEAR 0x29000071
#define NA_SE_OB_SOROCK_DISAPPEAR 0x29000072
#define NA_SE_EN_SOBOSS_CRY 0x29432073
#define NA_SE_EN_SOBOSS_DAMAGE 0x29433074
#define NA_SE_EN_SOBOSS_BROKEN 0x29434075
#define NA_SE_EN_SOBOSS_DOWN 0x39439076
#define NA_SE_EN_SOBOSS_SWING 0x29432077
#define NA_SE_EN_SOBOSS_BREATH 0x31033078
#define NA_SE_EN_SOBOSS_ROLL 0x39033079
#define NA_SE_EN_ANGLER_DAMAGE 0x2900007A // Unreferenced.
#define NA_SE_EN_ANGLER_DOWN 0x2900007B // Unreferenced.
#define NA_SE_BANK2_UNK_7C 0x2100007C // Unreferenced. Sounds like many small explosions
#define NA_SE_ROCK_REFLECT 0x2902107D
#define NA_SE_OB_MAGMA_BUBBLE 0x3140807E
#define NA_SE_BANK2_UNK_7F 0x2900007F // Unreferenced. Sounds like an impact
#define NA_SE_OB_VEBOSS_WALK 0x29032080
#define NA_SE_OB_VEBOSS_JUMP 0x29033081
#define NA_SE_OB_VEBOSS_LAND 0x29034082
#define NA_SE_OB_VEBOSS_ATTACK 0x31030083
#define NA_SE_OB_VEBOSS_BOUND 0x29405084
#define NA_SE_EN_FREIGHT_TRAIN 0x31078085
#define NA_SE_EN_MABOSS_REFLECT 0x29022086
#define NA_SE_EN_ANDROSS_BREATH 0x31022087
#define NA_SE_EN_ANDROSS_BITE0 0x29022088
#define NA_SE_EN_ANDROSS_BITE1 0x29022089
#define NA_SE_EN_ANDROSS_VOMIT 0x3140208A
#define NA_SE_EN_ANDROSS_SPARK 0x3103108B
#define NA_SE_EN_WT_THROW 0x2900308C
#define NA_SE_EN_WT_SPARK_CHARGE 0x2900208D
#define NA_SE_EN_WT_SPARK_BEAM 0x3100208E
#define NA_SE_EN_AQ_ZAKO_DAMAGE 0x2903408F
#define NA_SE_EN_AQ_ZAKO_DOWN 0x29038090
#define NA_SE_EN_WARP_IN 0x39408091
#define NA_SE_EN_WARP_OUT 0x39408092
#define NA_SE_EN_A6BOSS_CHARGE 0x39033093
#define NA_SE_EN_A6BOSS_BEAM 0x31405094
#define NA_SE_EN_TRAIN_BREAK 0x31408095
#define NA_SE_EN_ANDROSS_WARP 0x2940B096
#define NA_SE_EN_ANDROSS_CATCH 0x31408097
#define NA_SE_EN_KANI_STOP 0x29030098
#define NA_SE_EN_MABOSS_RAGE 0x29036099
#define NA_SE_EN_DOWN_IMPACT 0x2940D09A
#define NA_SE_EN_MARBLE_BEAM 0x3103109B
#define NA_SE_PAUSE_ON 0x4900F000
#define NA_SE_PAUSE_OFF 0x4900F001 // Unreferenced. Seems to be identical to NA_SE_PAUSE_ON
#define NA_SE_CURSOR 0x49000002
#define NA_SE_DECIDE 0x49000003
#define NA_SE_TWIN_LASER_GET 0x49002004
#define NA_SE_BOMB_GET 0x49002005 // Collect bomb. Seems to be identical to NA_SE_BOMB_GUAGE_UP
#define NA_SE_BOMB_GAUGE_UP 0x49002006 // Collect bomb. Seems to be identical to NA_SE_BOMB_GET
#define NA_SE_COUNT_UP 0x49004007
#define NA_SE_READY 0x49000008
#define NA_SE_GO 0x49000009
#define NA_SE_ERROR 0x4900100A
#define NA_SE_DIR_WARNING 0x4100000B // Unreferenced.
#define NA_SE_ITEM_APPEAR 0x4900000C
#define NA_SE_SHIELD_RING_M 0x4900200D
#define NA_SE_SHIELD_RING 0x4900200E
#define NA_SE_CHECKPOINT 0x4900400F
#define NA_SE_SHIELD_WARNING0 0x49008010 // Low health hit alarm
#define NA_SE_SHIELD_WARNING1 0x49008011 // Critical health hit alarm
#define NA_SE_TEAM_SHIELD_UP 0x41007012
#define NA_SE_GOLD_RING 0x49003013
#define NA_SE_DEMO_SIREN 0x49000014
#define NA_SE_SHIELD_UPGRADE 0x49008015
#define NA_SE_GOOD_LUCK 0x49002016
#define NA_SE_MESSAGE_MOVE 0x49000017 // Used for text in training mode
#define NA_SE_COMMU_REQUEST 0x49002018 // C> call alert
#define NA_SE_MAP_WINDOW_OPEN 0x49000019 // Also crosshairs on
#define NA_SE_MAP_WINDOW_CLOSE 0x4900101A // Also crosshairs off
#define NA_SE_MAR_LOCKON 0x4900001B
#define NA_SE_MISSILE_ALARM 0x4900001C
#define NA_SE_CANCEL 0x4900101D
#define NA_SE_COMPUTER_NOISE 0x4100001E // Used in mission briefing
#define NA_SE_MAP_MOVE_STOP 0x4900001F
#define NA_SE_ARWING_DECIDE 0x49000020 // Used in main menu
#define NA_SE_ARWING_CANCEL 0x49000021 // Used in main menu
#define NA_SE_ARWING_CURSOR 0x49000022 // Used in main menu
#define NA_SE_OVERHEAT_ALARM 0x4100C023
#define NA_SE_ONE_UP 0x4900C024
#define NA_SE_RING_PASS 0x49008025 // Also used for Corneria mech boss secret 1UP
#define NA_SE_SHIELD_BUZZER 0x49001026
#define NA_SE_LOCK_ON 0x49008027
#define NA_SE_BOSS_GAUGE_OPEN 0x4900C028
#define NA_SE_BANK4_UNK_1 0x40000029 // Unreferenced. Sounds like an item collect jingle
#define NA_SE_COUNTDOWN 0x4900C02A
#define NA_SE_VIEW_SITCHW_ON 0x4000002B // Unreferenced. Related to D_ctx_80177C70?
#define NA_SE_VIEW_MOVE_IN 0x4900002C
#define NA_SE_VIEW_MOVE_OUT 0x4900002D
#define NA_SE_SEARCHLIGHT_MISS 0x4900402E
#define NA_SE_RING_MISS 0x4900402F
#define NA_SE_GET_EMBLEM 0x49008030
#define NA_SE_MISSION_ACCOMPLISHED 0x49008031
#define NA_SE_VO_PEPPER_CONSENT 0x49000032 // This is ONE steep bill, but it's worth it.
#define NA_SE_VO_PEPPER_SURPRISE 0x49000033 // WHAT?!
#define NA_SE_MISSION_COMPLETE 0x49008034
#define NA_SE_BANL4_UNK_2 0x40000035 // Unreferenced. Hard to make out what it is
#define NA_SE_TIME_OVER 0x4900D036
#endif