summaryrefslogtreecommitdiff
path: root/include/sfx.h
blob: 37394ccc2400c0477cc2a879b64793102faacb16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
#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_DAMAGE  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 reticles on
#define NA_SE_MAP_WINDOW_CLOSE      0x4900101A // Also reticles 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 gFovYMode?
#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