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
|
#include "d/snd/d_snd_rng_link_voice.h"
#include "common.h"
#include "d/snd/d_snd_rng_id.h"
#include "d/snd/d_snd_source_player_head.h"
#include "d/snd/d_snd_wzsound.h"
struct dSndLinkVoiceConfig {
/* 0x00 */ u16 begin;
/* 0x02 */ u16 end;
/* 0x04 */ s16 mGenChance;
/* 0x06 */ s8 priority;
/* 0x07 */ bool priorityTiebreaker;
};
static const dSndLinkVoiceConfig sLinkVoiceConfig[] = {
/* SND_LV_PRACTICE_S*/
{ SE_LV_PRACTICE_S_01, SE_LV_PRACTICE_S_ff, 70, 9, false},
/* SND_LV_PRACTICE_M*/
{ SE_LV_PRACTICE_M_01, SE_LV_PRACTICE_M_ff, 100, 10, false},
/* SND_LV_PRACTICE_L*/
{ SE_LV_PRACTICE_L_01, SE_LV_PRACTICE_L_ff, 100, 10, false},
/* SND_LV_PRACTICE_KAITEN_M*/
{SE_LV_PRACTICE_KAITEN_M_01, SE_LV_PRACTICE_KAITEN_M_ff, 100, 11, false},
/* SND_LV_ATTACK_S*/
{ SE_LV_ATTACK_S_01, SE_LV_ATTACK_S_ff, 100, 10, false},
/* SND_LV_ATTACK_M*/
{ SE_LV_ATTACK_M_01, SE_LV_ATTACK_M_ff, 100, 10, false},
/* SND_LV_ATTACK_L*/
{ SE_LV_ATTACK_L_01, SE_LV_ATTACK_L_ff, 100, 10, false},
/* SND_LV_SAVE_POWER*/
{ SE_LV_SAVE_POWER_01, SE_LV_SAVE_POWER_ff, 100, 0, false},
/* SND_LV_ATTACK_KAITEN_M*/
{ SE_LV_ATTACK_KAITEN_M_01, SE_LV_ATTACK_KAITEN_M_ff, 100, 11, false},
/* SND_LV_NOTICE*/
{ SE_LV_NOTICE_01, SE_LV_NOTICE_ff, 100, 0, false},
/* SND_LV_PRACTICE_SHIELD*/
{ SE_LV_PRACTICE_SHIELD_01, SE_LV_PRACTICE_SHIELD_ff, 100, 8, false},
/* SND_LV_ATTACK_SHIELD*/
{ SE_LV_ATTACK_SHIELD_01, SE_LV_ATTACK_SHIELD_ff, 100, 8, false},
/* SND_LV_ATTACK_SHIELD_GJ*/
{ SE_LV_ATTACK_SHIELD_GJ_01, SE_LV_ATTACK_SHIELD_GJ_ff, 100, 9, false},
/* SND_LV_SHELD_GUARD*/
{ SE_LV_SHELD_GUARD_01, SE_LV_SHELD_GUARD_ff, 100, 8, false},
/* SND_LV_SHELD_DOWN*/
{ SE_LV_SHELD_DOWN_01, SE_LV_SHELD_DOWN_ff, 100, 15, false},
/* SND_LV_SHELD_BREAK*/
{ SE_LV_SHELD_BREAK_01, SE_LV_SHELD_BREAK_ff, 100, 16, false},
/* SND_LV_ATTACK_DOWN*/
{ SE_LV_ATTACK_DOWN_01, SE_LV_ATTACK_DOWN_ff, 100, 16, false},
/* SND_LV_DAMAGE_S*/
{ SE_LV_DAMAGE_S_01, SE_LV_DAMAGE_S_ff, 100, 15, false},
/* SND_LV_DAMAGE_L*/
{ SE_LV_DAMAGE_L_01, SE_LV_DAMAGE_L_ff, 100, 16, false},
/* SND_LV_DAMAGE_FIRE_S*/
{ SE_LV_DAMAGE_FIRE_S_01, SE_LV_DAMAGE_FIRE_S_ff, 100, 15, false},
/* SND_LV_DAMAGE_FIRE_L*/
{ SE_LV_DAMAGE_FIRE_L_01, SE_LV_DAMAGE_FIRE_L_ff, 100, 16, false},
/* SND_LV_DAMAGE_ELEC_S*/
{ SE_LV_DAMAGE_ELEC_S_01, SE_LV_DAMAGE_ELEC_S_ff, 100, 15, false},
/* SND_LV_DAMAGE_ELEC_L*/
{ SE_LV_DAMAGE_ELEC_L_01, SE_LV_DAMAGE_ELEC_L_ff, 100, 15, false},
/* SND_LV_STRUGGLE_S*/
{ SE_LV_STRUGGLE_S_01, SE_LV_STRUGGLE_S_ff, 100, 14, false},
/* SND_LV_STRUGGLE_L*/
{ SE_LV_STRUGGLE_L_01, SE_LV_STRUGGLE_L_ff, 100, 14, false},
/* SND_LV_GROAN*/
{ SE_LV_GROAN_01, SE_LV_GROAN_ff, 100, 246, false},
/* SND_LV_ESCAPE*/
{ SE_LV_ESCAPE_01, SE_LV_ESCAPE_ff, 100, 15, true},
/* SND_LV_DAMAGE_MAGMA*/
{ SE_LV_DAMAGE_MAGMA_01, SE_LV_DAMAGE_MAGMA_ff, 100, 17, false},
/* SND_LV_DAMAGE_QUICKSAND*/
{ SE_LV_DAMAGE_QUICKSAND_01, SE_LV_DAMAGE_QUICKSAND_ff, 100, 17, false},
/* SND_LV_DIE_L*/
{ SE_LV_DIE_L_01, SE_LV_DIE_L_ff, 100, 100, true},
/* SND_LV_DIE_S*/
{ SE_LV_DIE_S_01, SE_LV_DIE_S_ff, 100, 100, true},
/* SND_LV_DIE_WATER*/
{ SE_LV_DIE_WATER_01, SE_LV_DIE_WATER_ff, 100, 100, true},
/* SND_LV_RESTART*/
{ SE_LV_RESTART_01, SE_LV_RESTART_ff, 100, 100, true},
/* SND_LV_STAND_UP*/
{ SE_LV_STAND_UP_01, SE_LV_STAND_UP_ff, 100, 0, false},
/* SND_LV_PHEW*/
{ SE_LV_PHEW_01, SE_LV_PHEW_ff, 100, 0, false},
/* SND_LV_TIRED_S*/
{ SE_LV_TIRED_S_01, SE_LV_TIRED_S_ff, 100, 254, true},
/* SND_LV_TIRED_S*/
{ SE_LV_TIRED_S_01, SE_LV_TIRED_S_ff, 100, 254, true},
/* SND_LV_TIRED_M*/
{ SE_LV_TIRED_M_01, SE_LV_TIRED_M_ff, 100, 254, true},
/* SND_LV_TIRED_L*/
{ SE_LV_TIRED_L_01, SE_LV_TIRED_L_ff, 100, 254, true},
/* SND_LV_CLIMB_TIRED_S*/
{ SE_LV_CLIMB_TIRED_S_01, SE_LV_CLIMB_TIRED_S_ff, 60, 254, false},
/* SND_LV_CLIMB_TIRED_S*/
{ SE_LV_CLIMB_TIRED_S_01, SE_LV_CLIMB_TIRED_S_ff, 60, 254, false},
/* SND_LV_CLIMB_TIRED_M*/
{ SE_LV_CLIMB_TIRED_M_01, SE_LV_CLIMB_TIRED_M_ff, 60, 254, false},
/* SND_LV_CLIMB_TIRED_L*/
{ SE_LV_CLIMB_TIRED_L_01, SE_LV_CLIMB_TIRED_L_ff, 100, 254, false},
/* SND_LV_LIFT_TIRED_S*/
{ SE_LV_LIFT_TIRED_S_01, SE_LV_LIFT_TIRED_S_ff, 60, 254, false},
/* SND_LV_LIFT_TIRED_S*/
{ SE_LV_LIFT_TIRED_S_01, SE_LV_LIFT_TIRED_S_ff, 60, 254, false},
/* SND_LV_LIFT_TIRED_M*/
{ SE_LV_LIFT_TIRED_M_01, SE_LV_LIFT_TIRED_M_ff, 60, 254, false},
/* SND_LV_LIFT_TIRED_L*/
{ SE_LV_LIFT_TIRED_L_01, SE_LV_LIFT_TIRED_L_ff, 100, 254, false},
/* SND_LV_TIRED_RECOVER*/
{ SE_LV_TIRED_RECOVER_01, SE_LV_TIRED_RECOVER_ff, 100, 254, true},
/* SND_LV_TIRED_RECOVER_S*/
{ SE_LV_TIRED_RECOVER_S_01, SE_LV_TIRED_RECOVER_S_ff, 100, 254, true},
/* SND_LV_TIRED_RECOVER_M*/
{ SE_LV_TIRED_RECOVER_M_01, SE_LV_TIRED_RECOVER_M_ff, 100, 254, true},
/* SND_LV_TIRED_RECOVER_L*/
{ SE_LV_TIRED_RECOVER_L_01, SE_LV_TIRED_RECOVER_L_ff, 100, 254, true},
/* SND_LV_TIRED_EMPTY*/
{ SE_LV_TIRED_EMPTY_01, SE_LV_TIRED_EMPTY_ff, 100, 1, true},
/* SND_LV_PHEW*/
{ SE_LV_PHEW_01, SE_LV_PHEW_ff, 100, 1, true},
/* SND_LV_JUMP_S*/
{ SE_LV_JUMP_S_01, SE_LV_JUMP_S_ff, 100, 8, false},
/* SND_LV_JUMP_M*/
{ SE_LV_JUMP_M_01, SE_LV_JUMP_M_ff, 100, 8, false},
/* SND_LV_JUMP_L*/
{ SE_LV_JUMP_L_01, SE_LV_JUMP_L_ff, 100, 8, false},
/* SND_LV_SHOOT_START*/
{ SE_LV_SHOOT_START_01, SE_LV_SHOOT_START_ff, 100, 255, false},
/* SND_LV_SHOOT_SLOPE*/
{ SE_LV_SHOOT_SLOPE_01, SE_LV_SHOOT_SLOPE_ff, 100, 255, false},
/* SND_LV_RUN_UP*/
{ SE_LV_RUN_UP_01, SE_LV_RUN_UP_ff, 100, 255, false},
/* SND_LV_GRAB*/
{ SE_LV_GRAB_01, SE_LV_GRAB_ff, 100, 0, false},
/* SND_LV_CLIMB_STEP*/
{ SE_LV_CLIMB_STEP_01, SE_LV_CLIMB_STEP_ff, 100, 1, false},
/* SND_LV_HUNG*/
{ SE_LV_HUNG_01, SE_LV_HUNG_ff, 100, 0, false},
/* SND_LV_JUMP_IVY*/
{ SE_LV_JUMP_IVY_01, SE_LV_JUMP_IVY_ff, 100, 0, true},
/* SND_LV_BACKFLIP*/
{ SE_LV_BACKFLIP_01, SE_LV_BACKFLIP_ff, 70, 0, false},
/* SND_LV_ZENTEN*/
{ SE_LV_ZENTEN_01, SE_LV_ZENTEN_ff, 100, 0, false},
/* SND_LV_ZENTEN_CLASH*/
{ SE_LV_ZENTEN_CLASH_01, SE_LV_ZENTEN_CLASH_ff, 100, 14, false},
/* SND_LV_ZENTEN_UP*/
{ SE_LV_ZENTEN_UP_01, SE_LV_ZENTEN_UP_ff, 100, 247, true},
/* SND_LV_FALLING_HIGH*/
{ SE_LV_FALLING_HIGH_01, SE_LV_FALLING_HIGH_ff, 100, 15, true},
/* SND_LV_DAMAGE_FALL*/
{ SE_LV_DAMAGE_FALL_01, SE_LV_DAMAGE_FALL_ff, 100, 15, true},
/* SND_LV_SKYDIVE*/
{ SE_LV_SKYDIVE_01, SE_LV_SKYDIVE_ff, 100, 0, false},
/* SND_LV_RIDE_BIRD*/
{ SE_LV_RIDE_BIRD_01, SE_LV_RIDE_BIRD_ff, 100, 0, true},
/* SND_LV_BLAST*/
{ SE_LV_BLAST_01, SE_LV_BLAST_ff, 100, 0, false},
/* SND_LV_WIND_FLY*/
{ SE_LV_WIND_FLY_01, SE_LV_WIND_FLY_ff, 100, 0, false},
/* SND_LV_BALANCE_BALL*/
{ SE_LV_BALANCE_BALL_01, SE_LV_BALANCE_BALL_ff, 100, 0, false},
/* SND_LV_SLIDE_START*/
{ SE_LV_SLIDE_START_01, SE_LV_SLIDE_START_ff, 100, 255, false},
/* SND_LV_CLIMB_ROPE*/
{ SE_LV_CLIMB_ROPE_01, SE_LV_CLIMB_ROPE_ff, 60, 0, false},
/* SND_LV_SWING_ROPE*/
{ SE_LV_SWING_ROPE_01, SE_LV_SWING_ROPE_ff, 100, 0, false},
/* SND_LV_JUMP_ROPE*/
{ SE_LV_JUMP_ROPE_01, SE_LV_JUMP_ROPE_ff, 100, 0, false},
/* SND_LV_STOP_ROPE*/
{ SE_LV_STOP_ROPE_01, SE_LV_STOP_ROPE_ff, 100, 0, false},
/* SND_LV_SHAKE_ROPE*/
{ SE_LV_SHAKE_ROPE_01, SE_LV_SHAKE_ROPE_ff, 100, 0, false},
/* SND_LV_FOOT_MISS*/
{ SE_LV_FOOT_MISS_01, SE_LV_FOOT_MISS_ff, 100, 0, false},
/* SND_LV_BREATH*/
{ SE_LV_BREATH_01, SE_LV_BREATH_ff, 100, 0, false},
/* SND_LV_TAKE_BREATH*/
{ SE_LV_TAKE_BREATH_01, SE_LV_TAKE_BREATH_ff, 100, 0, false},
/* SND_LV_GET_AIR*/
{ SE_LV_GET_AIR_01, SE_LV_GET_AIR_ff, 100, 0, false},
/* SND_LV_DOLPHIN_JUMP*/
{ SE_LV_DOLPHIN_JUMP_01, SE_LV_DOLPHIN_JUMP_ff, 100, 0, false},
/* SND_LV_LIFT_S*/
{ SE_LV_LIFT_S_01, SE_LV_LIFT_S_ff, 100, 0, false},
/* SND_LV_THROW_S*/
{ SE_LV_THROW_S_01, SE_LV_THROW_S_ff, 100, 0, false},
/* SND_LV_LIFT_L*/
{ SE_LV_LIFT_L_01, SE_LV_LIFT_L_ff, 100, 0, false},
/* SND_LV_THROW_L*/
{ SE_LV_THROW_L_01, SE_LV_THROW_L_ff, 100, 0, false},
/* SND_LV_PUSH_M*/
{ SE_LV_PUSH_M_01, SE_LV_PUSH_M_ff, 100, 0, false},
/* SND_LV_DIG_GLOVE*/
{ SE_LV_DIG_GLOVE_01, SE_LV_DIG_GLOVE_ff, 100, 0, false},
/* SND_LV_SWING_S*/
{ SE_LV_SWING_S_01, SE_LV_SWING_S_ff, 100, 0, false},
/* SND_LV_DRINK*/
{ SE_LV_DRINK_01, SE_LV_DRINK_ff, 100, 0, false},
/* SND_LV_DRINK_FIN*/
{ SE_LV_DRINK_FIN_01, SE_LV_DRINK_FIN_ff, 100, 255, false},
/* SND_LV_CLIMB_WALL*/
{ SE_LV_CLIMB_WALL_01, SE_LV_CLIMB_WALL_ff, 60, 254, false},
/* SND_LV_JUMPON_LIFT*/
{ SE_LV_JUMPON_LIFT_01, SE_LV_JUMPON_LIFT_ff, 100, 0, false},
/* SND_LV_GET_SURPRISND*/
{ SE_LV_GET_SURPRISE_01, SE_LV_GET_SURPRISE_ff, 100, 0, false},
/* SND_LV_FLOATAWAY*/
{ SE_LV_FLOATAWAY_01, SE_LV_FLOATAWAY_ff, 100, 0, false},
/* SND_LV_CANNON_JUMP*/
{ SE_LV_CANNON_JUMP_01, SE_LV_CANNON_JUMP_ff, 100, 0, false},
/* SND_LV_FIRE*/
{ SE_LV_FIRE_01, SE_LV_FIRE_ff, 100, 0, false},
/* SND_LV_LOOK_BODY*/
{ SE_LV_LOOK_BODY_01, SE_LV_LOOK_BODY_ff, 100, 0, false},
/* SND_LV_QUICKWATER*/
{ SE_LV_QUICKWATER_01, SE_LV_QUICKWATER_ff, 60, 0, false},
/* SND_LV_DANGER_ROCK*/
{ SE_LV_DANGER_ROCK_01, SE_LV_DANGER_ROCK_ff, 100, 0, false},
/* SND_LV_PULL_SWORD*/
{ SE_LV_PULL_SWORD_01, SE_LV_PULL_SWORD_ff, 100, 0, false},
/* SND_LV_WHIP_BACK*/
{ SE_LV_WHIP_BACK_01, SE_LV_WHIP_BACK_ff, 100, 0, false},
/* SND_LV_SW_PUSH*/
{ SE_LV_SW_PUSH_01, SE_LV_SW_PUSH_ff, 100, 0, false},
/* SND_LV_SW_REJECT*/
{ SE_LV_SW_REJECT_01, SE_LV_SW_REJECT_ff, 100, 0, false},
/* SND_LV_JUMP_DIVEWATER*/
{ SE_LV_JUMP_DIVEWATER_01, SE_LV_JUMP_DIVEWATER_ff, 100, 0, false},
/* SND_LV_DAMAGE_WATER_M*/
{ SE_LV_DAMAGE_WATER_M_01, SE_LV_DAMAGE_WATER_M_ff, 100, 16, false},
/* SND_LV_DAMAGE_WATER_S*/
{ SE_LV_DAMAGE_WATER_S_01, SE_LV_DAMAGE_WATER_S_ff, 100, 15, false},
/* SND_LV_DAMAGE_ELEC_W*/
{ SE_LV_DAMAGE_ELEC_W_01, SE_LV_DAMAGE_ELEC_W_ff, 100, 15, false},
/* SND_LV_STRUGGLE_W*/
{ SE_LV_STRUGGLE_W_01, SE_LV_STRUGGLE_W_ff, 100, 0, false},
/* SND_LV_GROAN_W*/
{ SE_LV_GROAN_W_01, SE_LV_GROAN_W_ff, 100, 0, false},
/* SND_LV_ESCAPE_W*/
{ SE_LV_ESCAPE_W_01, SE_LV_ESCAPE_W_ff, 100, 0, false},
/* SND_LV_BREATH_TIRED_S*/
{ SE_LV_BREATH_TIRED_S_01, SE_LV_BREATH_TIRED_S_ff, 100, 254, false},
/* SND_LV_BREATH_TIRED_S*/
{ SE_LV_BREATH_TIRED_S_01, SE_LV_BREATH_TIRED_S_ff, 30, 254, false},
/* SND_LV_BREATH_TIRED_M*/
{ SE_LV_BREATH_TIRED_M_01, SE_LV_BREATH_TIRED_M_ff, 60, 254, false},
/* SND_LV_BREATH_TIRED_L*/
{ SE_LV_BREATH_TIRED_L_01, SE_LV_BREATH_TIRED_L_ff, 100, 254, false},
/* SND_LV_LIE_UP*/
{ SE_LV_LIE_UP_01, SE_LV_LIE_UP_ff, 100, 0, false},
/* SND_LV_PRACTICE_PUNCH*/
{ SE_LV_PRACTICE_PUNCH_01, SE_LV_PRACTICE_PUNCH_ff, 100, 0, false},
/* SND_LV_ATTACK_PUNCH*/
{ SE_LV_ATTACK_PUNCH_01, SE_LV_ATTACK_PUNCH_ff, 100, 0, false},
/* SND_LV_SURPRISND_S*/
{ SE_LV_SURPRISE_S_01, SE_LV_SURPRISE_S_ff, 100, 0, false},
/* SND_LV_SHUTTER_OPEN*/
{ SE_LV_SHUTTER_OPEN_01, SE_LV_SHUTTER_OPEN_ff, 100, 0, false},
/* SND_LV_BIRDRACE_REACH*/
{ SE_LV_BIRDRACE_REACH_01, SE_LV_BIRDRACE_REACH_ff, 100, 10, false},
/* SND_LV_ATTACK_A*/
{ SE_LV_ATTACK_A_01, SE_LV_ATTACK_A_ff, 100, 0, false},
/* SND_LV_BADSMELL_TIRED_S*/
{ SE_LV_BADSMELL_TIRED_S_01, SE_LV_BADSMELL_TIRED_S_ff, 100, 254, false},
/* SND_LV_BADSMELL_TIRED_S*/
{ SE_LV_BADSMELL_TIRED_S_01, SE_LV_BADSMELL_TIRED_S_ff, 50, 254, false},
/* SND_LV_BADSMELL_TIRED_M*/
{ SE_LV_BADSMELL_TIRED_M_01, SE_LV_BADSMELL_TIRED_M_ff, 60, 254, false},
/* SND_LV_BADSMELL_TIRED_L*/
{ SE_LV_BADSMELL_TIRED_L_01, SE_LV_BADSMELL_TIRED_L_ff, 100, 254, false},
/* SND_LV_GIRA_SWORD_REJECT*/
{SE_LV_GIRA_SWORD_REJECT_01, SE_LV_GIRA_SWORD_REJECT_ff, 100, 0, false},
/* SND_LV_GIRA_SWORD_PULL*/
{ SE_LV_GIRA_SWORD_PULL_01, SE_LV_GIRA_SWORD_PULL_ff, 100, 0, false},
/* SND_LV_GIRA_GRAPPLE*/
{ SE_LV_GIRA_GRAPPLE_01, SE_LV_GIRA_GRAPPLE_ff, 100, 0, false},
/* SND_LV_SWORD_SIREN_IN*/
{ SE_LV_SWORD_SIREN_IN_01, SE_LV_SWORD_SIREN_IN_ff, 100, 0, false},
/* SND_LV_APPEAR_SURPRISND*/
{ SE_LV_APPEAR_SURPRISE_01, SE_LV_APPEAR_SURPRISE_ff, 100, 0, false},
/* SND_LV_EXIT_SURPRISND*/
{ SE_LV_EXIT_SURPRISE_01, SE_LV_EXIT_SURPRISE_ff, 100, 0, false},
/* SND_LV_BIRD_DAMAGE*/
{ SE_LV_BIRD_DAMAGE_01, SE_LV_BIRD_DAMAGE_ff, 100, 15, false},
/* SND_LV_BIRD_SPIN*/
{ SE_LV_BIRD_SPIN_01, SE_LV_BIRD_SPIN_ff, 100, 10, false},
/* SND_LV_BIRD_ATTACK*/
{ SE_LV_BIRD_ATTACK_01, SE_LV_BIRD_ATTACK_ff, 100, 9, false},
/* SND_LV_TRUCK_JUMP*/
{ SE_LV_TRUCK_JUMP_01, SE_LV_TRUCK_JUMP_ff, 100, 0, false},
/* SND_LV_TRUCK_IN*/
{ SE_LV_TRUCK_IN_01, SE_LV_TRUCK_IN_ff, 100, 0, false},
/* SND_LV_TRUCK_BRAKE*/
{ SE_LV_TRUCK_BRAKE_01, SE_LV_TRUCK_BRAKE_ff, 100, 0, false},
/* SND_LV_DAMAGE_MUTEKI_S*/
{ SE_LV_DAMAGE_MUTEKI_S_01, SE_LV_DAMAGE_MUTEKI_S_ff, 100, 15, false},
/* SND_LV_DAMAGE_MUTEKI_L*/
{ SE_LV_DAMAGE_MUTEKI_L_01, SE_LV_DAMAGE_MUTEKI_L_ff, 100, 15, false},
/* SND_LV_DAMAGE_MUTEKI_W_S*/
{SE_LV_DAMAGE_MUTEKI_W_S_01, SE_LV_DAMAGE_MUTEKI_W_S_ff, 100, 15, false},
/* SND_LV_DAMAGE_MUTEKI_W_L*/
{SE_LV_DAMAGE_MUTEKI_W_L_01, SE_LV_DAMAGE_MUTEKI_W_L_ff, 100, 15, false},
/* SND_LV_RECOVER_WATER*/
{ SE_LV_RECOVER_WATER_01, SE_LV_RECOVER_WATER_ff, 100, 100, true},
/* SND_LV_SPIN_WATER*/
{ SE_LV_SPIN_WATER_01, SE_LV_SPIN_WATER_ff, 100, 8, false},
/* SND_LV_SHOCKED*/
{ SE_LV_SHOCKED_01, SE_LV_SHOCKED_ff, 100, 14, false},
/* SND_LV_LIGHT_SURPRISND*/
{ SE_LV_LIGHT_SURPRISE_01, SE_LV_LIGHT_SURPRISE_ff, 100, 0, false},
/* SND_LV_QUIETLY_S*/
{ SE_LV_QUIETLY_S_01, SE_LV_QUIETLY_S_ff, 60, 0, false},
/* SND_LV_QUIETLY_M*/
{ SE_LV_QUIETLY_M_01, SE_LV_QUIETLY_M_ff, 60, 0, false},
/* SND_LV_DAMAGE_L*/
{ SE_LV_DAMAGE_L_01, SE_LV_DAMAGE_L_ff, 100, 17, false},
};
dSndRngLinkVoice_c::dSndRngLinkVoice_c() {}
void dSndRngLinkVoice_c::configure(const dSndLinkVoiceConfig *config, dSndSourcePlayerHead_c *source) {
dSndRngId_c::configure(config->begin, config->end, config->mGenChance);
mPriority = config->priority;
mPriorityTiebreaker = config->priorityTiebreaker;
mpSource = source;
}
bool dSndRngLinkVoice_c::handleId(u32 id) {
if (mpSource == nullptr) {
return false;
}
bool ok = mpSource->startVoiceSoundInternal(id);
if (ok) {
markPicked(id, true);
}
return ok;
}
const dSndLinkVoiceConfig *dSndRngLinkVoice_c::getConfig(s32 idx) {
return &sLinkVoiceConfig[idx];
}
|