summaryrefslogtreecommitdiff
path: root/asm/nw4r/snd/detail/snd_SeqSound.s
blob: 33f3a8e8028e955bd871fac778b7710b894b8b52 (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
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global __ct__Q44nw4r3snd6detail8SeqSoundFPQ44nw4r3snd6detail49SoundInstanceManager$0Q44nw4r3snd6detail8SeqSound$1
__ct__Q44nw4r3snd6detail8SeqSoundFPQ44nw4r3snd6detail49SoundInstanceManager$0Q44nw4r3snd6detail8SeqSound$1:
/* 80374C30 00370890  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80374C34 00370894  7C 08 02 A6 */	mflr r0
/* 80374C38 00370898  90 01 00 14 */	stw r0, 0x14(r1)
/* 80374C3C 0037089C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80374C40 003708A0  7C 9F 23 78 */	mr r31, r4
/* 80374C44 003708A4  93 C1 00 08 */	stw r30, 8(r1)
/* 80374C48 003708A8  7C 7E 1B 78 */	mr r30, r3
/* 80374C4C 003708AC  4B FF 83 99 */	bl __ct__Q44nw4r3snd6detail10BasicSoundFv
/* 80374C50 003708B0  3C 80 80 45 */	lis r4, lbl_8044CD88@ha
/* 80374C54 003708B4  38 7E 00 D8 */	addi r3, r30, 0xd8
/* 80374C58 003708B8  38 84 CD 88 */	addi r4, r4, lbl_8044CD88@l
/* 80374C5C 003708BC  90 9E 00 00 */	stw r4, 0(r30)
/* 80374C60 003708C0  4B FF EE 01 */	bl __ct__Q44nw4r3snd6detail9SeqPlayerFv
/* 80374C64 003708C4  3C 80 80 45 */	lis r4, lbl_8044CDF8@ha
/* 80374C68 003708C8  38 00 00 00 */	li r0, 0
/* 80374C6C 003708CC  38 84 CD F8 */	addi r4, r4, lbl_8044CDF8@l
/* 80374C70 003708D0  98 1E 02 20 */	stb r0, 0x220(r30)
/* 80374C74 003708D4  38 7E 04 4C */	addi r3, r30, 0x44c
/* 80374C78 003708D8  98 1E 02 21 */	stb r0, 0x221(r30)
/* 80374C7C 003708DC  90 1E 02 0C */	stw r0, 0x20c(r30)
/* 80374C80 003708E0  93 FE 02 10 */	stw r31, 0x210(r30)
/* 80374C84 003708E4  90 1E 02 1C */	stw r0, 0x21c(r30)
/* 80374C88 003708E8  90 1E 02 24 */	stw r0, 0x224(r30)
/* 80374C8C 003708EC  90 1E 04 2C */	stw r0, 0x42c(r30)
/* 80374C90 003708F0  90 1E 04 30 */	stw r0, 0x430(r30)
/* 80374C94 003708F4  98 1E 04 34 */	stb r0, 0x434(r30)
/* 80374C98 003708F8  90 9E 04 28 */	stw r4, 0x428(r30)
/* 80374C9C 003708FC  90 1E 04 38 */	stw r0, 0x438(r30)
/* 80374CA0 00370900  90 1E 04 3C */	stw r0, 0x43c(r30)
/* 80374CA4 00370904  90 1E 04 44 */	stw r0, 0x444(r30)
/* 80374CA8 00370908  90 1E 04 48 */	stw r0, 0x448(r30)
/* 80374CAC 0037090C  4B EF AC 65 */	bl OSInitMutex
/* 80374CB0 00370910  7F C3 F3 78 */	mr r3, r30
/* 80374CB4 00370914  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80374CB8 00370918  83 C1 00 08 */	lwz r30, 8(r1)
/* 80374CBC 0037091C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80374CC0 00370920  7C 08 03 A6 */	mtlr r0
/* 80374CC4 00370924  38 21 00 10 */	addi r1, r1, 0x10
/* 80374CC8 00370928  4E 80 00 20 */	blr

.global __dt__Q54nw4r3snd6detail8SeqSound11SeqLoadTaskFv
__dt__Q54nw4r3snd6detail8SeqSound11SeqLoadTaskFv:
/* 80374CCC 0037092C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80374CD0 00370930  7C 08 02 A6 */	mflr r0
/* 80374CD4 00370934  2C 03 00 00 */	cmpwi r3, 0
/* 80374CD8 00370938  90 01 00 14 */	stw r0, 0x14(r1)
/* 80374CDC 0037093C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80374CE0 00370940  7C 9F 23 78 */	mr r31, r4
/* 80374CE4 00370944  93 C1 00 08 */	stw r30, 8(r1)
/* 80374CE8 00370948  7C 7E 1B 78 */	mr r30, r3
/* 80374CEC 0037094C  41 82 00 1C */	beq lbl_80374D08
/* 80374CF0 00370950  38 80 00 00 */	li r4, 0
/* 80374CF4 00370954  48 00 AC 4D */	bl __dt__Q44nw4r3snd6detail4TaskFv
/* 80374CF8 00370958  2C 1F 00 00 */	cmpwi r31, 0
/* 80374CFC 0037095C  40 81 00 0C */	ble lbl_80374D08
/* 80374D00 00370960  7F C3 F3 78 */	mr r3, r30
/* 80374D04 00370964  4B E6 5D B5 */	bl __dl__FPv
lbl_80374D08:
/* 80374D08 00370968  7F C3 F3 78 */	mr r3, r30
/* 80374D0C 0037096C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80374D10 00370970  83 C1 00 08 */	lwz r30, 8(r1)
/* 80374D14 00370974  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80374D18 00370978  7C 08 03 A6 */	mtlr r0
/* 80374D1C 0037097C  38 21 00 10 */	addi r1, r1, 0x10
/* 80374D20 00370980  4E 80 00 20 */	blr

.global InitParam__Q44nw4r3snd6detail8SeqSoundFv
InitParam__Q44nw4r3snd6detail8SeqSoundFv:
/* 80374D24 00370984  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80374D28 00370988  7C 08 02 A6 */	mflr r0
/* 80374D2C 0037098C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80374D30 00370990  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80374D34 00370994  7C 7F 1B 78 */	mr r31, r3
/* 80374D38 00370998  4B FF 83 41 */	bl InitParam__Q44nw4r3snd6detail10BasicSoundFv
/* 80374D3C 0037099C  38 00 00 00 */	li r0, 0
/* 80374D40 003709A0  90 1F 02 1C */	stw r0, 0x21c(r31)
/* 80374D44 003709A4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80374D48 003709A8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80374D4C 003709AC  7C 08 03 A6 */	mtlr r0
/* 80374D50 003709B0  38 21 00 10 */	addi r1, r1, 0x10
/* 80374D54 003709B4  4E 80 00 20 */	blr

.global Setup__Q44nw4r3snd6detail8SeqSoundFPQ44nw4r3snd6detail17SeqTrackAllocatorUliPQ44nw4r3snd6detail14NoteOnCallback
Setup__Q44nw4r3snd6detail8SeqSoundFPQ44nw4r3snd6detail17SeqTrackAllocatorUliPQ44nw4r3snd6detail14NoteOnCallback:
/* 80374D58 003709B8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80374D5C 003709BC  7C 08 02 A6 */	mflr r0
/* 80374D60 003709C0  90 01 00 24 */	stw r0, 0x24(r1)
/* 80374D64 003709C4  39 61 00 20 */	addi r11, r1, 0x20
/* 80374D68 003709C8  4B E5 23 C1 */	bl _savegpr_27
/* 80374D6C 003709CC  81 83 00 00 */	lwz r12, 0(r3)
/* 80374D70 003709D0  7C 7B 1B 78 */	mr r27, r3
/* 80374D74 003709D4  7C 9C 23 78 */	mr r28, r4
/* 80374D78 003709D8  7C BD 2B 78 */	mr r29, r5
/* 80374D7C 003709DC  81 8C 00 64 */	lwz r12, 0x64(r12)
/* 80374D80 003709E0  7C DE 33 78 */	mr r30, r6
/* 80374D84 003709E4  7C FF 3B 78 */	mr r31, r7
/* 80374D88 003709E8  7D 89 03 A6 */	mtctr r12
/* 80374D8C 003709EC  4E 80 04 21 */	bctrl
/* 80374D90 003709F0  7F 84 E3 78 */	mr r4, r28
/* 80374D94 003709F4  7F A5 EB 78 */	mr r5, r29
/* 80374D98 003709F8  7F C6 F3 78 */	mr r6, r30
/* 80374D9C 003709FC  7F E7 FB 78 */	mr r7, r31
/* 80374DA0 00370A00  38 7B 00 D8 */	addi r3, r27, 0xd8
/* 80374DA4 00370A04  4B FF F0 6D */	bl Setup__Q44nw4r3snd6detail9SeqPlayerFPQ44nw4r3snd6detail17SeqTrackAllocatorUliPQ44nw4r3snd6detail14NoteOnCallback
/* 80374DA8 00370A08  39 61 00 20 */	addi r11, r1, 0x20
/* 80374DAC 00370A0C  4B E5 23 C9 */	bl _restgpr_27
/* 80374DB0 00370A10  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80374DB4 00370A14  7C 08 03 A6 */	mtlr r0
/* 80374DB8 00370A18  38 21 00 20 */	addi r1, r1, 0x20
/* 80374DBC 00370A1C  4E 80 00 20 */	blr

.global Prepare__Q44nw4r3snd6detail8SeqSoundFPCvlQ54nw4r3snd6detail9SeqPlayer10OffsetTypei
Prepare__Q44nw4r3snd6detail8SeqSoundFPCvlQ54nw4r3snd6detail9SeqPlayer10OffsetTypei:
/* 80374DC0 00370A20  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80374DC4 00370A24  7C 08 02 A6 */	mflr r0
/* 80374DC8 00370A28  90 01 00 24 */	stw r0, 0x24(r1)
/* 80374DCC 00370A2C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80374DD0 00370A30  7C FF 3B 78 */	mr r31, r7
/* 80374DD4 00370A34  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80374DD8 00370A38  7C DE 33 78 */	mr r30, r6
/* 80374DDC 00370A3C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80374DE0 00370A40  7C 7D 1B 78 */	mr r29, r3
/* 80374DE4 00370A44  38 63 00 D8 */	addi r3, r3, 0xd8
/* 80374DE8 00370A48  4B FF F2 2D */	bl SetSeqData__Q44nw4r3snd6detail9SeqPlayerFPCvl
/* 80374DEC 00370A4C  2C 1F 00 00 */	cmpwi r31, 0
/* 80374DF0 00370A50  40 81 00 14 */	ble lbl_80374E04
/* 80374DF4 00370A54  7F C4 F3 78 */	mr r4, r30
/* 80374DF8 00370A58  7F E5 FB 78 */	mr r5, r31
/* 80374DFC 00370A5C  38 7D 00 D8 */	addi r3, r29, 0xd8
/* 80374E00 00370A60  4B FF F4 A9 */	bl Skip__Q44nw4r3snd6detail9SeqPlayerFQ54nw4r3snd6detail9SeqPlayer10OffsetTypei
lbl_80374E04:
/* 80374E04 00370A64  38 00 00 01 */	li r0, 1
/* 80374E08 00370A68  98 1D 02 21 */	stb r0, 0x221(r29)
/* 80374E0C 00370A6C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80374E10 00370A70  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80374E14 00370A74  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80374E18 00370A78  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80374E1C 00370A7C  7C 08 03 A6 */	mtlr r0
/* 80374E20 00370A80  38 21 00 20 */	addi r1, r1, 0x20
/* 80374E24 00370A84  4E 80 00 20 */	blr

.global Prepare__Q44nw4r3snd6detail8SeqSoundFPQ34nw4r2ut10FileStreamlQ54nw4r3snd6detail9SeqPlayer10OffsetTypei
Prepare__Q44nw4r3snd6detail8SeqSoundFPQ34nw4r2ut10FileStreamlQ54nw4r3snd6detail9SeqPlayer10OffsetTypei:
/* 80374E28 00370A88  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80374E2C 00370A8C  7C 08 02 A6 */	mflr r0
/* 80374E30 00370A90  90 01 00 24 */	stw r0, 0x24(r1)
/* 80374E34 00370A94  38 00 00 01 */	li r0, 1
/* 80374E38 00370A98  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80374E3C 00370A9C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80374E40 00370AA0  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80374E44 00370AA4  7C 7D 1B 78 */	mr r29, r3
/* 80374E48 00370AA8  83 C3 00 04 */	lwz r30, 4(r3)
/* 80374E4C 00370AAC  90 83 02 24 */	stw r4, 0x224(r3)
/* 80374E50 00370AB0  2C 1E 00 00 */	cmpwi r30, 0
/* 80374E54 00370AB4  90 A3 02 14 */	stw r5, 0x214(r3)
/* 80374E58 00370AB8  90 C3 02 18 */	stw r6, 0x218(r3)
/* 80374E5C 00370ABC  90 E3 02 1C */	stw r7, 0x21c(r3)
/* 80374E60 00370AC0  98 03 02 20 */	stb r0, 0x220(r3)
/* 80374E64 00370AC4  40 82 00 0C */	bne lbl_80374E70
/* 80374E68 00370AC8  38 00 00 00 */	li r0, 0
/* 80374E6C 00370ACC  48 00 00 78 */	b lbl_80374EE4
lbl_80374E70:
/* 80374E70 00370AD0  81 84 00 00 */	lwz r12, 0(r4)
/* 80374E74 00370AD4  7C 83 23 78 */	mr r3, r4
/* 80374E78 00370AD8  81 8C 00 40 */	lwz r12, 0x40(r12)
/* 80374E7C 00370ADC  7D 89 03 A6 */	mtctr r12
/* 80374E80 00370AE0  4E 80 04 21 */	bctrl
/* 80374E84 00370AE4  81 9E 00 00 */	lwz r12, 0(r30)
/* 80374E88 00370AE8  7C 7F 1B 78 */	mr r31, r3
/* 80374E8C 00370AEC  7F C3 F3 78 */	mr r3, r30
/* 80374E90 00370AF0  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 80374E94 00370AF4  7F E4 FB 78 */	mr r4, r31
/* 80374E98 00370AF8  7D 89 03 A6 */	mtctr r12
/* 80374E9C 00370AFC  4E 80 04 21 */	bctrl
/* 80374EA0 00370B00  2C 03 00 00 */	cmpwi r3, 0
/* 80374EA4 00370B04  40 82 00 0C */	bne lbl_80374EB0
/* 80374EA8 00370B08  38 00 00 00 */	li r0, 0
/* 80374EAC 00370B0C  48 00 00 38 */	b lbl_80374EE4
lbl_80374EB0:
/* 80374EB0 00370B10  80 1D 02 24 */	lwz r0, 0x224(r29)
/* 80374EB4 00370B14  3C 80 80 37 */	lis r4, NotifyLoadAsyncEndSeqData__Q44nw4r3snd6detail8SeqSoundFbPCvPv@ha
/* 80374EB8 00370B18  38 84 4F 1C */	addi r4, r4, NotifyLoadAsyncEndSeqData__Q44nw4r3snd6detail8SeqSoundFbPCvPv@l
/* 80374EBC 00370B1C  90 7D 04 3C */	stw r3, 0x43c(r29)
/* 80374EC0 00370B20  90 1D 04 38 */	stw r0, 0x438(r29)
/* 80374EC4 00370B24  93 FD 04 40 */	stw r31, 0x440(r29)
/* 80374EC8 00370B28  90 9D 04 44 */	stw r4, 0x444(r29)
/* 80374ECC 00370B2C  93 BD 04 48 */	stw r29, 0x448(r29)
/* 80374ED0 00370B30  48 00 AA B1 */	bl GetInstance__Q44nw4r3snd6detail11TaskManagerFv
/* 80374ED4 00370B34  38 9D 04 28 */	addi r4, r29, 0x428
/* 80374ED8 00370B38  38 A0 00 01 */	li r5, 1
/* 80374EDC 00370B3C  48 00 AC 1D */	bl AppendTask__Q44nw4r3snd6detail11TaskManagerFPQ44nw4r3snd6detail4TaskQ54nw4r3snd6detail11TaskManager12TaskPriority
/* 80374EE0 00370B40  38 00 00 01 */	li r0, 1
lbl_80374EE4:
/* 80374EE4 00370B44  2C 00 00 00 */	cmpwi r0, 0
/* 80374EE8 00370B48  40 82 00 18 */	bne lbl_80374F00
/* 80374EEC 00370B4C  81 9D 00 00 */	lwz r12, 0(r29)
/* 80374EF0 00370B50  7F A3 EB 78 */	mr r3, r29
/* 80374EF4 00370B54  81 8C 00 28 */	lwz r12, 0x28(r12)
/* 80374EF8 00370B58  7D 89 03 A6 */	mtctr r12
/* 80374EFC 00370B5C  4E 80 04 21 */	bctrl
lbl_80374F00:
/* 80374F00 00370B60  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80374F04 00370B64  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80374F08 00370B68  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80374F0C 00370B6C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80374F10 00370B70  7C 08 03 A6 */	mtlr r0
/* 80374F14 00370B74  38 21 00 20 */	addi r1, r1, 0x20
/* 80374F18 00370B78  4E 80 00 20 */	blr

.global NotifyLoadAsyncEndSeqData__Q44nw4r3snd6detail8SeqSoundFbPCvPv
NotifyLoadAsyncEndSeqData__Q44nw4r3snd6detail8SeqSoundFbPCvPv:
/* 80374F1C 00370B7C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80374F20 00370B80  7C 08 02 A6 */	mflr r0
/* 80374F24 00370B84  2C 03 00 00 */	cmpwi r3, 0
/* 80374F28 00370B88  90 01 00 14 */	stw r0, 0x14(r1)
/* 80374F2C 00370B8C  38 00 00 00 */	li r0, 0
/* 80374F30 00370B90  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80374F34 00370B94  7C BF 2B 78 */	mr r31, r5
/* 80374F38 00370B98  98 05 02 20 */	stb r0, 0x220(r5)
/* 80374F3C 00370B9C  40 82 00 20 */	bne lbl_80374F5C
/* 80374F40 00370BA0  81 9F 00 00 */	lwz r12, 0(r31)
/* 80374F44 00370BA4  7F E3 FB 78 */	mr r3, r31
/* 80374F48 00370BA8  38 80 00 00 */	li r4, 0
/* 80374F4C 00370BAC  81 8C 00 18 */	lwz r12, 0x18(r12)
/* 80374F50 00370BB0  7D 89 03 A6 */	mtctr r12
/* 80374F54 00370BB4  4E 80 04 21 */	bctrl
/* 80374F58 00370BB8  48 00 00 30 */	b lbl_80374F88
lbl_80374F5C:
/* 80374F5C 00370BBC  38 65 00 D8 */	addi r3, r5, 0xd8
/* 80374F60 00370BC0  80 A5 02 14 */	lwz r5, 0x214(r5)
/* 80374F64 00370BC4  4B FF F0 B1 */	bl SetSeqData__Q44nw4r3snd6detail9SeqPlayerFPCvl
/* 80374F68 00370BC8  80 BF 02 1C */	lwz r5, 0x21c(r31)
/* 80374F6C 00370BCC  2C 05 00 00 */	cmpwi r5, 0
/* 80374F70 00370BD0  40 81 00 10 */	ble lbl_80374F80
/* 80374F74 00370BD4  80 9F 02 18 */	lwz r4, 0x218(r31)
/* 80374F78 00370BD8  38 7F 00 D8 */	addi r3, r31, 0xd8
/* 80374F7C 00370BDC  4B FF F3 2D */	bl Skip__Q44nw4r3snd6detail9SeqPlayerFQ54nw4r3snd6detail9SeqPlayer10OffsetTypei
lbl_80374F80:
/* 80374F80 00370BE0  38 00 00 01 */	li r0, 1
/* 80374F84 00370BE4  98 1F 02 21 */	stb r0, 0x221(r31)
lbl_80374F88:
/* 80374F88 00370BE8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80374F8C 00370BEC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80374F90 00370BF0  7C 08 03 A6 */	mtlr r0
/* 80374F94 00370BF4  38 21 00 10 */	addi r1, r1, 0x10
/* 80374F98 00370BF8  4E 80 00 20 */	blr

.global Shutdown__Q44nw4r3snd6detail8SeqSoundFv
Shutdown__Q44nw4r3snd6detail8SeqSoundFv:
/* 80374F9C 00370BFC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80374FA0 00370C00  7C 08 02 A6 */	mflr r0
/* 80374FA4 00370C04  90 01 00 24 */	stw r0, 0x24(r1)
/* 80374FA8 00370C08  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80374FAC 00370C0C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80374FB0 00370C10  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80374FB4 00370C14  7C 7D 1B 78 */	mr r29, r3
/* 80374FB8 00370C18  88 03 02 20 */	lbz r0, 0x220(r3)
/* 80374FBC 00370C1C  2C 00 00 00 */	cmpwi r0, 0
/* 80374FC0 00370C20  41 82 00 10 */	beq lbl_80374FD0
/* 80374FC4 00370C24  48 00 A9 BD */	bl GetInstance__Q44nw4r3snd6detail11TaskManagerFv
/* 80374FC8 00370C28  38 9D 04 28 */	addi r4, r29, 0x428
/* 80374FCC 00370C2C  48 00 AE 8D */	bl CancelTask__Q44nw4r3snd6detail11TaskManagerFPQ44nw4r3snd6detail4Task
lbl_80374FD0:
/* 80374FD0 00370C30  80 7D 02 24 */	lwz r3, 0x224(r29)
/* 80374FD4 00370C34  2C 03 00 00 */	cmpwi r3, 0
/* 80374FD8 00370C38  41 82 00 1C */	beq lbl_80374FF4
/* 80374FDC 00370C3C  81 83 00 00 */	lwz r12, 0(r3)
/* 80374FE0 00370C40  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 80374FE4 00370C44  7D 89 03 A6 */	mtctr r12
/* 80374FE8 00370C48  4E 80 04 21 */	bctrl
/* 80374FEC 00370C4C  38 00 00 00 */	li r0, 0
/* 80374FF0 00370C50  90 1D 02 24 */	stw r0, 0x224(r29)
lbl_80374FF4:
/* 80374FF4 00370C54  7F A3 EB 78 */	mr r3, r29
/* 80374FF8 00370C58  4B FF 8C 85 */	bl Shutdown__Q44nw4r3snd6detail10BasicSoundFv
/* 80374FFC 00370C5C  83 DD 02 10 */	lwz r30, 0x210(r29)
/* 80375000 00370C60  3B FE 00 10 */	addi r31, r30, 0x10
/* 80375004 00370C64  7F E3 FB 78 */	mr r3, r31
/* 80375008 00370C68  4B EF A9 41 */	bl OSLockMutex
/* 8037500C 00370C6C  80 1E 00 04 */	lwz r0, 4(r30)
/* 80375010 00370C70  2C 00 00 00 */	cmpwi r0, 0
/* 80375014 00370C74  40 82 00 10 */	bne lbl_80375024
/* 80375018 00370C78  7F E3 FB 78 */	mr r3, r31
/* 8037501C 00370C7C  4B EF AA 09 */	bl OSUnlockMutex
/* 80375020 00370C80  48 00 00 3C */	b lbl_8037505C
lbl_80375024:
/* 80375024 00370C84  38 7E 00 04 */	addi r3, r30, 4
/* 80375028 00370C88  38 9D 00 B8 */	addi r4, r29, 0xb8
/* 8037502C 00370C8C  4B FE DC 49 */	bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
/* 80375030 00370C90  81 9D 00 00 */	lwz r12, 0(r29)
/* 80375034 00370C94  7F A3 EB 78 */	mr r3, r29
/* 80375038 00370C98  38 80 FF FF */	li r4, -1
/* 8037503C 00370C9C  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 80375040 00370CA0  7D 89 03 A6 */	mtctr r12
/* 80375044 00370CA4  4E 80 04 21 */	bctrl
/* 80375048 00370CA8  7F C3 F3 78 */	mr r3, r30
/* 8037504C 00370CAC  7F A4 EB 78 */	mr r4, r29
/* 80375050 00370CB0  4B FF CB 65 */	bl FreeImpl__Q44nw4r3snd6detail8PoolImplFPv
/* 80375054 00370CB4  7F E3 FB 78 */	mr r3, r31
/* 80375058 00370CB8  4B EF A9 CD */	bl OSUnlockMutex
lbl_8037505C:
/* 8037505C 00370CBC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80375060 00370CC0  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80375064 00370CC4  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80375068 00370CC8  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8037506C 00370CCC  7C 08 03 A6 */	mtlr r0
/* 80375070 00370CD0  38 21 00 20 */	addi r1, r1, 0x20
/* 80375074 00370CD4  4E 80 00 20 */	blr

.global __dt__Q44nw4r3snd6detail8SeqSoundFv
__dt__Q44nw4r3snd6detail8SeqSoundFv:
/* 80375078 00370CD8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8037507C 00370CDC  7C 08 02 A6 */	mflr r0
/* 80375080 00370CE0  2C 03 00 00 */	cmpwi r3, 0
/* 80375084 00370CE4  90 01 00 14 */	stw r0, 0x14(r1)
/* 80375088 00370CE8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8037508C 00370CEC  7C 9F 23 78 */	mr r31, r4
/* 80375090 00370CF0  93 C1 00 08 */	stw r30, 8(r1)
/* 80375094 00370CF4  7C 7E 1B 78 */	mr r30, r3
/* 80375098 00370CF8  41 82 00 30 */	beq lbl_803750C8
/* 8037509C 00370CFC  34 63 04 28 */	addic. r3, r3, 0x428
/* 803750A0 00370D00  41 82 00 0C */	beq lbl_803750AC
/* 803750A4 00370D04  38 80 00 00 */	li r4, 0
/* 803750A8 00370D08  48 00 A8 99 */	bl __dt__Q44nw4r3snd6detail4TaskFv
lbl_803750AC:
/* 803750AC 00370D0C  38 7E 00 D8 */	addi r3, r30, 0xd8
/* 803750B0 00370D10  38 80 FF FF */	li r4, -1
/* 803750B4 00370D14  4B FF EA FD */	bl __dt__Q44nw4r3snd6detail9SeqPlayerFv
/* 803750B8 00370D18  2C 1F 00 00 */	cmpwi r31, 0
/* 803750BC 00370D1C  40 81 00 0C */	ble lbl_803750C8
/* 803750C0 00370D20  7F C3 F3 78 */	mr r3, r30
/* 803750C4 00370D24  4B E6 59 F5 */	bl __dl__FPv
lbl_803750C8:
/* 803750C8 00370D28  7F C3 F3 78 */	mr r3, r30
/* 803750CC 00370D2C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 803750D0 00370D30  83 C1 00 08 */	lwz r30, 8(r1)
/* 803750D4 00370D34  80 01 00 14 */	lwz r0, 0x14(r1)
/* 803750D8 00370D38  7C 08 03 A6 */	mtlr r0
/* 803750DC 00370D3C  38 21 00 10 */	addi r1, r1, 0x10
/* 803750E0 00370D40  4E 80 00 20 */	blr

.global func_803750E4
func_803750E4:
/* 803750E4 00370D44  38 63 00 D8 */	addi r3, r3, 0xd8
/* 803750E8 00370D48  4B FF F2 78 */	b SetPanRange__Q44nw4r3snd6detail9SeqPlayerFf

.global func_803750EC
func_803750EC:
/* 803750EC 00370D4C  38 63 00 D8 */	addi r3, r3, 0xd8
/* 803750F0 00370D50  4B FF F2 C4 */	b SetReleasePriorityFix__Q44nw4r3snd6detail9SeqPlayerFb

.global SetPlayerPriority__Q44nw4r3snd6detail8SeqSoundFi
SetPlayerPriority__Q44nw4r3snd6detail8SeqSoundFi:
/* 803750F4 00370D54  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803750F8 00370D58  7C 08 02 A6 */	mflr r0
/* 803750FC 00370D5C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80375100 00370D60  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80375104 00370D64  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80375108 00370D68  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8037510C 00370D6C  93 81 00 10 */	stw r28, 0x10(r1)
/* 80375110 00370D70  7C 7C 1B 78 */	mr r28, r3
/* 80375114 00370D74  4B FF 8C D9 */	bl SetPlayerPriority__Q44nw4r3snd6detail10BasicSoundFi
/* 80375118 00370D78  88 7C 00 74 */	lbz r3, 0x74(r28)
/* 8037511C 00370D7C  80 1C 00 40 */	lwz r0, 0x40(r28)
/* 80375120 00370D80  7C 63 02 14 */	add r3, r3, r0
/* 80375124 00370D84  2C 03 00 7F */	cmpwi r3, 0x7f
/* 80375128 00370D88  40 81 00 0C */	ble lbl_80375134
/* 8037512C 00370D8C  3B A0 00 7F */	li r29, 0x7f
/* 80375130 00370D90  48 00 00 0C */	b lbl_8037513C
lbl_80375134:
/* 80375134 00370D94  7C 60 FE 70 */	srawi r0, r3, 0x1f
/* 80375138 00370D98  7C 7D 00 78 */	andc r29, r3, r0
lbl_8037513C:
/* 8037513C 00370D9C  83 DC 02 10 */	lwz r30, 0x210(r28)
/* 80375140 00370DA0  3B FE 00 10 */	addi r31, r30, 0x10
/* 80375144 00370DA4  7F E3 FB 78 */	mr r3, r31
/* 80375148 00370DA8  4B EF A8 01 */	bl OSLockMutex
/* 8037514C 00370DAC  3B 9C 00 B8 */	addi r28, r28, 0xb8
/* 80375150 00370DB0  38 7E 00 04 */	addi r3, r30, 4
/* 80375154 00370DB4  7F 84 E3 78 */	mr r4, r28
/* 80375158 00370DB8  4B FE DB 1D */	bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
/* 8037515C 00370DBC  80 7E 00 08 */	lwz r3, 8(r30)
/* 80375160 00370DC0  38 1E 00 08 */	addi r0, r30, 8
/* 80375164 00370DC4  48 00 00 34 */	b lbl_80375198
lbl_80375168:
/* 80375168 00370DC8  88 A3 FF BC */	lbz r5, -0x44(r3)
/* 8037516C 00370DCC  80 83 FF 88 */	lwz r4, -0x78(r3)
/* 80375170 00370DD0  7C A5 22 14 */	add r5, r5, r4
/* 80375174 00370DD4  2C 05 00 7F */	cmpwi r5, 0x7f
/* 80375178 00370DD8  40 81 00 0C */	ble lbl_80375184
/* 8037517C 00370DDC  38 80 00 7F */	li r4, 0x7f
/* 80375180 00370DE0  48 00 00 0C */	b lbl_8037518C
lbl_80375184:
/* 80375184 00370DE4  7C A4 FE 70 */	srawi r4, r5, 0x1f
/* 80375188 00370DE8  7C A4 20 78 */	andc r4, r5, r4
lbl_8037518C:
/* 8037518C 00370DEC  7C 1D 20 00 */	cmpw r29, r4
/* 80375190 00370DF0  41 80 00 10 */	blt lbl_803751A0
/* 80375194 00370DF4  80 63 00 00 */	lwz r3, 0(r3)
lbl_80375198:
/* 80375198 00370DF8  7C 03 00 40 */	cmplw r3, r0
/* 8037519C 00370DFC  40 82 FF CC */	bne lbl_80375168
lbl_803751A0:
/* 803751A0 00370E00  90 61 00 08 */	stw r3, 8(r1)
/* 803751A4 00370E04  7F 85 E3 78 */	mr r5, r28
/* 803751A8 00370E08  38 7E 00 04 */	addi r3, r30, 4
/* 803751AC 00370E0C  38 81 00 08 */	addi r4, r1, 8
/* 803751B0 00370E10  4B FE DA 99 */	bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
/* 803751B4 00370E14  7F E3 FB 78 */	mr r3, r31
/* 803751B8 00370E18  4B EF A8 6D */	bl OSUnlockMutex
/* 803751BC 00370E1C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803751C0 00370E20  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803751C4 00370E24  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803751C8 00370E28  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 803751CC 00370E2C  83 81 00 10 */	lwz r28, 0x10(r1)
/* 803751D0 00370E30  7C 08 03 A6 */	mtlr r0
/* 803751D4 00370E34  38 21 00 20 */	addi r1, r1, 0x20
/* 803751D8 00370E38  4E 80 00 20 */	blr
/* 803751DC 00370E3C  80 63 02 0C */	lwz r3, 0x20c(r3)
/* 803751E0 00370E40  7C 03 00 D0 */	neg r0, r3
/* 803751E4 00370E44  7C 00 1B 78 */	or r0, r0, r3
/* 803751E8 00370E48  54 03 0F FE */	srwi r3, r0, 0x1f
/* 803751EC 00370E4C  4E 80 00 20 */	blr
/* 803751F0 00370E50  80 63 02 0C */	lwz r3, 0x20c(r3)
/* 803751F4 00370E54  48 00 01 78 */	b DetachSound__Q34nw4r3snd14SeqSoundHandleFv

.global Execute__Q54nw4r3snd6detail8SeqSound11SeqLoadTaskFv
Execute__Q54nw4r3snd6detail8SeqSound11SeqLoadTaskFv:
/* 803751F8 00370E58  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 803751FC 00370E5C  7C 08 02 A6 */	mflr r0
/* 80375200 00370E60  38 80 00 00 */	li r4, 0
/* 80375204 00370E64  38 A0 00 00 */	li r5, 0
/* 80375208 00370E68  90 01 00 24 */	stw r0, 0x24(r1)
/* 8037520C 00370E6C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80375210 00370E70  7C 7F 1B 78 */	mr r31, r3
/* 80375214 00370E74  80 63 00 10 */	lwz r3, 0x10(r3)
/* 80375218 00370E78  81 83 00 00 */	lwz r12, 0(r3)
/* 8037521C 00370E7C  81 8C 00 44 */	lwz r12, 0x44(r12)
/* 80375220 00370E80  7D 89 03 A6 */	mtctr r12
/* 80375224 00370E84  4E 80 04 21 */	bctrl
/* 80375228 00370E88  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 8037522C 00370E8C  80 9F 00 14 */	lwz r4, 0x14(r31)
/* 80375230 00370E90  81 83 00 00 */	lwz r12, 0(r3)
/* 80375234 00370E94  80 BF 00 18 */	lwz r5, 0x18(r31)
/* 80375238 00370E98  81 8C 00 14 */	lwz r12, 0x14(r12)
/* 8037523C 00370E9C  7D 89 03 A6 */	mtctr r12
/* 80375240 00370EA0  4E 80 04 21 */	bctrl
/* 80375244 00370EA4  38 00 00 00 */	li r0, 0
/* 80375248 00370EA8  2C 03 FF FD */	cmpwi r3, -3
/* 8037524C 00370EAC  90 1F 00 10 */	stw r0, 0x10(r31)
/* 80375250 00370EB0  40 82 00 28 */	bne lbl_80375278
/* 80375254 00370EB4  81 9F 00 1C */	lwz r12, 0x1c(r31)
/* 80375258 00370EB8  2C 0C 00 00 */	cmpwi r12, 0
/* 8037525C 00370EBC  41 82 00 80 */	beq lbl_803752DC
/* 80375260 00370EC0  80 BF 00 20 */	lwz r5, 0x20(r31)
/* 80375264 00370EC4  38 60 00 00 */	li r3, 0
/* 80375268 00370EC8  38 80 00 00 */	li r4, 0
/* 8037526C 00370ECC  7D 89 03 A6 */	mtctr r12
/* 80375270 00370ED0  4E 80 04 21 */	bctrl
/* 80375274 00370ED4  48 00 00 68 */	b lbl_803752DC
lbl_80375278:
/* 80375278 00370ED8  80 1F 00 18 */	lwz r0, 0x18(r31)
/* 8037527C 00370EDC  7C 03 00 00 */	cmpw r3, r0
/* 80375280 00370EE0  41 82 00 28 */	beq lbl_803752A8
/* 80375284 00370EE4  81 9F 00 1C */	lwz r12, 0x1c(r31)
/* 80375288 00370EE8  2C 0C 00 00 */	cmpwi r12, 0
/* 8037528C 00370EEC  41 82 00 50 */	beq lbl_803752DC
/* 80375290 00370EF0  80 BF 00 20 */	lwz r5, 0x20(r31)
/* 80375294 00370EF4  38 60 00 00 */	li r3, 0
/* 80375298 00370EF8  38 80 00 00 */	li r4, 0
/* 8037529C 00370EFC  7D 89 03 A6 */	mtctr r12
/* 803752A0 00370F00  4E 80 04 21 */	bctrl
/* 803752A4 00370F04  48 00 00 38 */	b lbl_803752DC
lbl_803752A8:
/* 803752A8 00370F08  80 9F 00 14 */	lwz r4, 0x14(r31)
/* 803752AC 00370F0C  38 61 00 08 */	addi r3, r1, 8
/* 803752B0 00370F10  4B FF E7 35 */	bl __ct__Q44nw4r3snd6detail13SeqFileReaderFPCv
/* 803752B4 00370F14  38 61 00 08 */	addi r3, r1, 8
/* 803752B8 00370F18  4B FF E7 99 */	bl GetBaseAddress__Q44nw4r3snd6detail13SeqFileReaderCFv
/* 803752BC 00370F1C  81 9F 00 1C */	lwz r12, 0x1c(r31)
/* 803752C0 00370F20  2C 0C 00 00 */	cmpwi r12, 0
/* 803752C4 00370F24  41 82 00 18 */	beq lbl_803752DC
/* 803752C8 00370F28  7C 64 1B 78 */	mr r4, r3
/* 803752CC 00370F2C  80 BF 00 20 */	lwz r5, 0x20(r31)
/* 803752D0 00370F30  38 60 00 01 */	li r3, 1
/* 803752D4 00370F34  7D 89 03 A6 */	mtctr r12
/* 803752D8 00370F38  4E 80 04 21 */	bctrl
lbl_803752DC:
/* 803752DC 00370F3C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803752E0 00370F40  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803752E4 00370F44  7C 08 03 A6 */	mtlr r0
/* 803752E8 00370F48  38 21 00 20 */	addi r1, r1, 0x20
/* 803752EC 00370F4C  4E 80 00 20 */	blr

.global Cancel__Q54nw4r3snd6detail8SeqSound11SeqLoadTaskFv
Cancel__Q54nw4r3snd6detail8SeqSound11SeqLoadTaskFv:
/* 803752F0 00370F50  81 83 00 1C */	lwz r12, 0x1c(r3)
/* 803752F4 00370F54  2C 0C 00 00 */	cmpwi r12, 0
/* 803752F8 00370F58  4D 82 00 20 */	beqlr
/* 803752FC 00370F5C  80 A3 00 20 */	lwz r5, 0x20(r3)
/* 80375300 00370F60  38 60 00 00 */	li r3, 0
/* 80375304 00370F64  38 80 00 00 */	li r4, 0
/* 80375308 00370F68  7D 89 03 A6 */	mtctr r12
/* 8037530C 00370F6C  4E 80 04 20 */	bctr
/* 80375310 00370F70  4E 80 00 20 */	blr

.global OnCancel__Q54nw4r3snd6detail8SeqSound11SeqLoadTaskFv
OnCancel__Q54nw4r3snd6detail8SeqSound11SeqLoadTaskFv:
/* 80375314 00370F74  80 83 00 10 */	lwz r4, 0x10(r3)
/* 80375318 00370F78  38 00 00 00 */	li r0, 0
/* 8037531C 00370F7C  90 03 00 1C */	stw r0, 0x1c(r3)
/* 80375320 00370F80  2C 04 00 00 */	cmpwi r4, 0
/* 80375324 00370F84  4D 82 00 20 */	beqlr
/* 80375328 00370F88  81 84 00 00 */	lwz r12, 0(r4)
/* 8037532C 00370F8C  7C 83 23 78 */	mr r3, r4
/* 80375330 00370F90  81 8C 00 48 */	lwz r12, 0x48(r12)
/* 80375334 00370F94  7D 89 03 A6 */	mtctr r12
/* 80375338 00370F98  4E 80 04 20 */	bctr
/* 8037533C 00370F9C  4E 80 00 20 */	blr

.global GetBasicPlayer__Q44nw4r3snd6detail8SeqSoundFv
GetBasicPlayer__Q44nw4r3snd6detail8SeqSoundFv:
/* 80375340 00370FA0  38 63 00 D8 */	addi r3, r3, 0xd8
/* 80375344 00370FA4  4E 80 00 20 */	blr

.global GetBasicPlayer__Q44nw4r3snd6detail8SeqSoundCFv
GetBasicPlayer__Q44nw4r3snd6detail8SeqSoundCFv:
/* 80375348 00370FA8  38 63 00 D8 */	addi r3, r3, 0xd8
/* 8037534C 00370FAC  4E 80 00 20 */	blr

.global IsPrepared__Q44nw4r3snd6detail8SeqSoundCFv
IsPrepared__Q44nw4r3snd6detail8SeqSoundCFv:
/* 80375350 00370FB0  88 63 02 21 */	lbz r3, 0x221(r3)
/* 80375354 00370FB4  4E 80 00 20 */	blr

.global GetRuntimeTypeInfo__Q44nw4r3snd6detail8SeqSoundCFv
GetRuntimeTypeInfo__Q44nw4r3snd6detail8SeqSoundCFv:
/* 80375358 00370FB8  38 6D B2 20 */	addi r3, r13, lbl_806404E0-_SDA_BASE_
/* 8037535C 00370FBC  4E 80 00 20 */	blr

.global __sinit_$3snd_SeqSound_cpp
__sinit_$3snd_SeqSound_cpp:
/* 80375360 00370FC0  38 0D B1 F0 */	addi r0, r13, lbl_806404B0-_SDA_BASE_
/* 80375364 00370FC4  90 0D B2 20 */	stw r0, lbl_806404E0-_SDA_BASE_(r13)
/* 80375368 00370FC8  4E 80 00 20 */	blr