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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global __ct__Q44nw4r3snd6detail9WaveSoundFPQ44nw4r3snd6detail50SoundInstanceManager$0Q44nw4r3snd6detail9WaveSound$1
__ct__Q44nw4r3snd6detail9WaveSoundFPQ44nw4r3snd6detail50SoundInstanceManager$0Q44nw4r3snd6detail9WaveSound$1:
/* 8038364C 0037F2AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80383650 0037F2B0 7C 08 02 A6 */ mflr r0
/* 80383654 0037F2B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80383658 0037F2B8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8038365C 0037F2BC 7C 9F 23 78 */ mr r31, r4
/* 80383660 0037F2C0 93 C1 00 08 */ stw r30, 8(r1)
/* 80383664 0037F2C4 7C 7E 1B 78 */ mr r30, r3
/* 80383668 0037F2C8 4B FE 99 7D */ bl __ct__Q44nw4r3snd6detail10BasicSoundFv
/* 8038366C 0037F2CC 3C 80 80 45 */ lis r4, lbl_8044D050@ha
/* 80383670 0037F2D0 38 7E 00 D8 */ addi r3, r30, 0xd8
/* 80383674 0037F2D4 38 84 D0 50 */ addi r4, r4, lbl_8044D050@l
/* 80383678 0037F2D8 90 9E 00 00 */ stw r4, 0(r30)
/* 8038367C 0037F2DC 48 00 06 A9 */ bl __ct__Q44nw4r3snd6detail9WsdPlayerFv
/* 80383680 0037F2E0 38 00 00 00 */ li r0, 0
/* 80383684 0037F2E4 93 FE 01 CC */ stw r31, 0x1cc(r30)
/* 80383688 0037F2E8 7F C3 F3 78 */ mr r3, r30
/* 8038368C 0037F2EC 90 1E 01 C8 */ stw r0, 0x1c8(r30)
/* 80383690 0037F2F0 98 1E 01 D0 */ stb r0, 0x1d0(r30)
/* 80383694 0037F2F4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80383698 0037F2F8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8038369C 0037F2FC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803836A0 0037F300 7C 08 03 A6 */ mtlr r0
/* 803836A4 0037F304 38 21 00 10 */ addi r1, r1, 0x10
/* 803836A8 0037F308 4E 80 00 20 */ blr
.global __dt__Q44nw4r3snd6detail9WsdPlayerFv
__dt__Q44nw4r3snd6detail9WsdPlayerFv:
/* 803836AC 0037F30C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803836B0 0037F310 7C 08 02 A6 */ mflr r0
/* 803836B4 0037F314 2C 03 00 00 */ cmpwi r3, 0
/* 803836B8 0037F318 90 01 00 14 */ stw r0, 0x14(r1)
/* 803836BC 0037F31C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803836C0 0037F320 7C 7F 1B 78 */ mr r31, r3
/* 803836C4 0037F324 41 82 00 10 */ beq lbl_803836D4
/* 803836C8 0037F328 2C 04 00 00 */ cmpwi r4, 0
/* 803836CC 0037F32C 40 81 00 08 */ ble lbl_803836D4
/* 803836D0 0037F330 4B E5 73 E9 */ bl __dl__FPv
lbl_803836D4:
/* 803836D4 0037F334 7F E3 FB 78 */ mr r3, r31
/* 803836D8 0037F338 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803836DC 0037F33C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803836E0 0037F340 7C 08 03 A6 */ mtlr r0
/* 803836E4 0037F344 38 21 00 10 */ addi r1, r1, 0x10
/* 803836E8 0037F348 4E 80 00 20 */ blr
.global Prepare__Q44nw4r3snd6detail9WaveSoundFPCvlQ54nw4r3snd6detail9WsdPlayer15StartOffsetTypeliPCQ54nw4r3snd6detail9WsdPlayer11WsdCallbackUl
Prepare__Q44nw4r3snd6detail9WaveSoundFPCvlQ54nw4r3snd6detail9WsdPlayer15StartOffsetTypeliPCQ54nw4r3snd6detail9WsdPlayer11WsdCallbackUl:
/* 803836EC 0037F34C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803836F0 0037F350 7C 08 02 A6 */ mflr r0
/* 803836F4 0037F354 90 01 00 34 */ stw r0, 0x34(r1)
/* 803836F8 0037F358 39 61 00 30 */ addi r11, r1, 0x30
/* 803836FC 0037F35C 4B E4 3A 21 */ bl _savegpr_24
/* 80383700 0037F360 81 83 00 00 */ lwz r12, 0(r3)
/* 80383704 0037F364 7C 78 1B 78 */ mr r24, r3
/* 80383708 0037F368 7C 99 23 78 */ mr r25, r4
/* 8038370C 0037F36C 7C BA 2B 78 */ mr r26, r5
/* 80383710 0037F370 81 8C 00 64 */ lwz r12, 0x64(r12)
/* 80383714 0037F374 7C DB 33 78 */ mr r27, r6
/* 80383718 0037F378 7C FC 3B 78 */ mr r28, r7
/* 8038371C 0037F37C 7D 1D 43 78 */ mr r29, r8
/* 80383720 0037F380 7D 3E 4B 78 */ mr r30, r9
/* 80383724 0037F384 7D 5F 53 78 */ mr r31, r10
/* 80383728 0037F388 7D 89 03 A6 */ mtctr r12
/* 8038372C 0037F38C 4E 80 04 21 */ bctrl
/* 80383730 0037F390 7F 24 CB 78 */ mr r4, r25
/* 80383734 0037F394 7F 45 D3 78 */ mr r5, r26
/* 80383738 0037F398 7F 66 DB 78 */ mr r6, r27
/* 8038373C 0037F39C 7F 87 E3 78 */ mr r7, r28
/* 80383740 0037F3A0 7F A8 EB 78 */ mr r8, r29
/* 80383744 0037F3A4 7F C9 F3 78 */ mr r9, r30
/* 80383748 0037F3A8 7F EA FB 78 */ mr r10, r31
/* 8038374C 0037F3AC 38 78 00 D8 */ addi r3, r24, 0xd8
/* 80383750 0037F3B0 48 00 06 F1 */ bl Prepare__Q44nw4r3snd6detail9WsdPlayerFPCviQ54nw4r3snd6detail9WsdPlayer15StartOffsetTypeiiPCQ54nw4r3snd6detail9WsdPlayer11WsdCallbackUl
/* 80383754 0037F3B4 2C 03 00 00 */ cmpwi r3, 0
/* 80383758 0037F3B8 40 82 00 0C */ bne lbl_80383764
/* 8038375C 0037F3BC 38 60 00 00 */ li r3, 0
/* 80383760 0037F3C0 48 00 00 10 */ b lbl_80383770
lbl_80383764:
/* 80383764 0037F3C4 38 00 00 01 */ li r0, 1
/* 80383768 0037F3C8 38 60 00 01 */ li r3, 1
/* 8038376C 0037F3CC 98 18 01 D0 */ stb r0, 0x1d0(r24)
lbl_80383770:
/* 80383770 0037F3D0 39 61 00 30 */ addi r11, r1, 0x30
/* 80383774 0037F3D4 4B E4 39 F5 */ bl _restgpr_24
/* 80383778 0037F3D8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8038377C 0037F3DC 7C 08 03 A6 */ mtlr r0
/* 80383780 0037F3E0 38 21 00 30 */ addi r1, r1, 0x30
/* 80383784 0037F3E4 4E 80 00 20 */ blr
.global Shutdown__Q44nw4r3snd6detail9WaveSoundFv
Shutdown__Q44nw4r3snd6detail9WaveSoundFv:
/* 80383788 0037F3E8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8038378C 0037F3EC 7C 08 02 A6 */ mflr r0
/* 80383790 0037F3F0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80383794 0037F3F4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80383798 0037F3F8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8038379C 0037F3FC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803837A0 0037F400 7C 7D 1B 78 */ mr r29, r3
/* 803837A4 0037F404 4B FE A4 D9 */ bl Shutdown__Q44nw4r3snd6detail10BasicSoundFv
/* 803837A8 0037F408 83 DD 01 CC */ lwz r30, 0x1cc(r29)
/* 803837AC 0037F40C 3B FE 00 10 */ addi r31, r30, 0x10
/* 803837B0 0037F410 7F E3 FB 78 */ mr r3, r31
/* 803837B4 0037F414 4B EE C1 95 */ bl OSLockMutex
/* 803837B8 0037F418 80 1E 00 04 */ lwz r0, 4(r30)
/* 803837BC 0037F41C 2C 00 00 00 */ cmpwi r0, 0
/* 803837C0 0037F420 40 82 00 10 */ bne lbl_803837D0
/* 803837C4 0037F424 7F E3 FB 78 */ mr r3, r31
/* 803837C8 0037F428 4B EE C2 5D */ bl OSUnlockMutex
/* 803837CC 0037F42C 48 00 00 3C */ b lbl_80383808
lbl_803837D0:
/* 803837D0 0037F430 38 7E 00 04 */ addi r3, r30, 4
/* 803837D4 0037F434 38 9D 00 B8 */ addi r4, r29, 0xb8
/* 803837D8 0037F438 4B FD F4 9D */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
/* 803837DC 0037F43C 81 9D 00 00 */ lwz r12, 0(r29)
/* 803837E0 0037F440 7F A3 EB 78 */ mr r3, r29
/* 803837E4 0037F444 38 80 FF FF */ li r4, -1
/* 803837E8 0037F448 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 803837EC 0037F44C 7D 89 03 A6 */ mtctr r12
/* 803837F0 0037F450 4E 80 04 21 */ bctrl
/* 803837F4 0037F454 7F C3 F3 78 */ mr r3, r30
/* 803837F8 0037F458 7F A4 EB 78 */ mr r4, r29
/* 803837FC 0037F45C 4B FE E3 B9 */ bl FreeImpl__Q44nw4r3snd6detail8PoolImplFPv
/* 80383800 0037F460 7F E3 FB 78 */ mr r3, r31
/* 80383804 0037F464 4B EE C2 21 */ bl OSUnlockMutex
lbl_80383808:
/* 80383808 0037F468 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8038380C 0037F46C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80383810 0037F470 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80383814 0037F474 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80383818 0037F478 7C 08 03 A6 */ mtlr r0
/* 8038381C 0037F47C 38 21 00 20 */ addi r1, r1, 0x20
/* 80383820 0037F480 4E 80 00 20 */ blr
.global __dt__Q44nw4r3snd6detail9WaveSoundFv
__dt__Q44nw4r3snd6detail9WaveSoundFv:
/* 80383824 0037F484 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80383828 0037F488 7C 08 02 A6 */ mflr r0
/* 8038382C 0037F48C 2C 03 00 00 */ cmpwi r3, 0
/* 80383830 0037F490 90 01 00 14 */ stw r0, 0x14(r1)
/* 80383834 0037F494 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80383838 0037F498 7C 7F 1B 78 */ mr r31, r3
/* 8038383C 0037F49C 41 82 00 10 */ beq lbl_8038384C
/* 80383840 0037F4A0 2C 04 00 00 */ cmpwi r4, 0
/* 80383844 0037F4A4 40 81 00 08 */ ble lbl_8038384C
/* 80383848 0037F4A8 4B E5 72 71 */ bl __dl__FPv
lbl_8038384C:
/* 8038384C 0037F4AC 7F E3 FB 78 */ mr r3, r31
/* 80383850 0037F4B0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80383854 0037F4B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80383858 0037F4B8 7C 08 03 A6 */ mtlr r0
/* 8038385C 0037F4BC 38 21 00 10 */ addi r1, r1, 0x10
/* 80383860 0037F4C0 4E 80 00 20 */ blr
.global SetChannelPriority__Q44nw4r3snd6detail9WaveSoundFi
SetChannelPriority__Q44nw4r3snd6detail9WaveSoundFi:
/* 80383864 0037F4C4 38 63 00 D8 */ addi r3, r3, 0xd8
/* 80383868 0037F4C8 48 00 09 7C */ b SetChannelPriority__Q44nw4r3snd6detail9WsdPlayerFi
.global SetReleasePriorityFix__Q44nw4r3snd6detail9WaveSoundFb
SetReleasePriorityFix__Q44nw4r3snd6detail9WaveSoundFb:
/* 8038386C 0037F4CC 38 63 00 D8 */ addi r3, r3, 0xd8
/* 80383870 0037F4D0 48 00 09 C8 */ b SetReleasePriorityFix__Q44nw4r3snd6detail9WsdPlayerFb
.global SetPlayerPriority__Q44nw4r3snd6detail9WaveSoundFi
SetPlayerPriority__Q44nw4r3snd6detail9WaveSoundFi:
/* 80383874 0037F4D4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80383878 0037F4D8 7C 08 02 A6 */ mflr r0
/* 8038387C 0037F4DC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80383880 0037F4E0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80383884 0037F4E4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80383888 0037F4E8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8038388C 0037F4EC 93 81 00 10 */ stw r28, 0x10(r1)
/* 80383890 0037F4F0 7C 7C 1B 78 */ mr r28, r3
/* 80383894 0037F4F4 4B FE A5 59 */ bl SetPlayerPriority__Q44nw4r3snd6detail10BasicSoundFi
/* 80383898 0037F4F8 88 7C 00 74 */ lbz r3, 0x74(r28)
/* 8038389C 0037F4FC 80 1C 00 40 */ lwz r0, 0x40(r28)
/* 803838A0 0037F500 7C 63 02 14 */ add r3, r3, r0
/* 803838A4 0037F504 2C 03 00 7F */ cmpwi r3, 0x7f
/* 803838A8 0037F508 40 81 00 0C */ ble lbl_803838B4
/* 803838AC 0037F50C 3B A0 00 7F */ li r29, 0x7f
/* 803838B0 0037F510 48 00 00 0C */ b lbl_803838BC
lbl_803838B4:
/* 803838B4 0037F514 7C 60 FE 70 */ srawi r0, r3, 0x1f
/* 803838B8 0037F518 7C 7D 00 78 */ andc r29, r3, r0
lbl_803838BC:
/* 803838BC 0037F51C 83 DC 01 CC */ lwz r30, 0x1cc(r28)
/* 803838C0 0037F520 3B FE 00 10 */ addi r31, r30, 0x10
/* 803838C4 0037F524 7F E3 FB 78 */ mr r3, r31
/* 803838C8 0037F528 4B EE C0 81 */ bl OSLockMutex
/* 803838CC 0037F52C 3B 9C 00 B8 */ addi r28, r28, 0xb8
/* 803838D0 0037F530 38 7E 00 04 */ addi r3, r30, 4
/* 803838D4 0037F534 7F 84 E3 78 */ mr r4, r28
/* 803838D8 0037F538 4B FD F3 9D */ bl Erase__Q44nw4r2ut6detail12LinkListImplFPQ34nw4r2ut12LinkListNode
/* 803838DC 0037F53C 80 7E 00 08 */ lwz r3, 8(r30)
/* 803838E0 0037F540 38 1E 00 08 */ addi r0, r30, 8
/* 803838E4 0037F544 48 00 00 34 */ b lbl_80383918
lbl_803838E8:
/* 803838E8 0037F548 88 A3 FF BC */ lbz r5, -0x44(r3)
/* 803838EC 0037F54C 80 83 FF 88 */ lwz r4, -0x78(r3)
/* 803838F0 0037F550 7C A5 22 14 */ add r5, r5, r4
/* 803838F4 0037F554 2C 05 00 7F */ cmpwi r5, 0x7f
/* 803838F8 0037F558 40 81 00 0C */ ble lbl_80383904
/* 803838FC 0037F55C 38 80 00 7F */ li r4, 0x7f
/* 80383900 0037F560 48 00 00 0C */ b lbl_8038390C
lbl_80383904:
/* 80383904 0037F564 7C A4 FE 70 */ srawi r4, r5, 0x1f
/* 80383908 0037F568 7C A4 20 78 */ andc r4, r5, r4
lbl_8038390C:
/* 8038390C 0037F56C 7C 1D 20 00 */ cmpw r29, r4
/* 80383910 0037F570 41 80 00 10 */ blt lbl_80383920
/* 80383914 0037F574 80 63 00 00 */ lwz r3, 0(r3)
lbl_80383918:
/* 80383918 0037F578 7C 03 00 40 */ cmplw r3, r0
/* 8038391C 0037F57C 40 82 FF CC */ bne lbl_803838E8
lbl_80383920:
/* 80383920 0037F580 90 61 00 08 */ stw r3, 8(r1)
/* 80383924 0037F584 7F 85 E3 78 */ mr r5, r28
/* 80383928 0037F588 38 7E 00 04 */ addi r3, r30, 4
/* 8038392C 0037F58C 38 81 00 08 */ addi r4, r1, 8
/* 80383930 0037F590 4B FD F3 19 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
/* 80383934 0037F594 7F E3 FB 78 */ mr r3, r31
/* 80383938 0037F598 4B EE C0 ED */ bl OSUnlockMutex
/* 8038393C 0037F59C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80383940 0037F5A0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80383944 0037F5A4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80383948 0037F5A8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8038394C 0037F5AC 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80383950 0037F5B0 7C 08 03 A6 */ mtlr r0
/* 80383954 0037F5B4 38 21 00 20 */ addi r1, r1, 0x20
/* 80383958 0037F5B8 4E 80 00 20 */ blr
.global IsAttachedTempSpecialHandle__Q44nw4r3snd6detail9WaveSoundFv
IsAttachedTempSpecialHandle__Q44nw4r3snd6detail9WaveSoundFv:
/* 8038395C 0037F5BC 80 63 01 C8 */ lwz r3, 0x1c8(r3)
/* 80383960 0037F5C0 7C 03 00 D0 */ neg r0, r3
/* 80383964 0037F5C4 7C 00 1B 78 */ or r0, r0, r3
/* 80383968 0037F5C8 54 03 0F FE */ srwi r3, r0, 0x1f
/* 8038396C 0037F5CC 4E 80 00 20 */ blr
.global DetachTempSpecialHandle__Q44nw4r3snd6detail9WaveSoundFv
DetachTempSpecialHandle__Q44nw4r3snd6detail9WaveSoundFv:
/* 80383970 0037F5D0 80 63 01 C8 */ lwz r3, 0x1c8(r3)
/* 80383974 0037F5D4 48 00 00 30 */ b DetachSound__Q34nw4r3snd15WaveSoundHandleFv
.global GetBasicPlayer__Q44nw4r3snd6detail9WaveSoundFv
GetBasicPlayer__Q44nw4r3snd6detail9WaveSoundFv:
/* 80383978 0037F5D8 38 63 00 D8 */ addi r3, r3, 0xd8
/* 8038397C 0037F5DC 4E 80 00 20 */ blr
.global GetBasicPlayer__Q44nw4r3snd6detail9WaveSoundCFv
GetBasicPlayer__Q44nw4r3snd6detail9WaveSoundCFv:
/* 80383980 0037F5E0 38 63 00 D8 */ addi r3, r3, 0xd8
/* 80383984 0037F5E4 4E 80 00 20 */ blr
.global IsPrepared__Q44nw4r3snd6detail9WaveSoundCFv
IsPrepared__Q44nw4r3snd6detail9WaveSoundCFv:
/* 80383988 0037F5E8 88 63 01 D0 */ lbz r3, 0x1d0(r3)
/* 8038398C 0037F5EC 4E 80 00 20 */ blr
.global GetRuntimeTypeInfo__Q44nw4r3snd6detail9WaveSoundCFv
GetRuntimeTypeInfo__Q44nw4r3snd6detail9WaveSoundCFv:
/* 80383990 0037F5F0 38 6D B2 A0 */ addi r3, r13, lbl_80640560-_SDA_BASE_
/* 80383994 0037F5F4 4E 80 00 20 */ blr
.global __sinit_$3snd_WaveSound_cpp
__sinit_$3snd_WaveSound_cpp:
/* 80383998 0037F5F8 38 0D B1 F0 */ addi r0, r13, lbl_806404B0-_SDA_BASE_
/* 8038399C 0037F5FC 90 0D B2 A0 */ stw r0, lbl_80640560-_SDA_BASE_(r13)
/* 803839A0 0037F600 4E 80 00 20 */ blr
|