summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax <mparisi@stevens.edu>2020-09-25 00:51:58 -0400
committerMax <mparisi@stevens.edu>2020-09-25 00:51:58 -0400
commited7a456aa6dbd6c34c372d5b6a640680cf58da2d (patch)
treeb09b0953bd647f402af68c23d9d05f4ef7d25083
parent85ddb2807441779c068f24bd17cc169cbf8f3068 (diff)
snd_MmlSeqTrack and snd_MmlSeqTrackAllocator
-rw-r--r--asm/nw4r/snd/snd_MmlSeqTrack.s61
-rw-r--r--asm/nw4r/snd/snd_MmlSeqTrackAllocator.s101
-rw-r--r--asm/text_10_6.s142
-rw-r--r--obj_files.mk2
4 files changed, 166 insertions, 140 deletions
diff --git a/asm/nw4r/snd/snd_MmlSeqTrack.s b/asm/nw4r/snd/snd_MmlSeqTrack.s
new file mode 100644
index 0000000..2f80622
--- /dev/null
+++ b/asm/nw4r/snd/snd_MmlSeqTrack.s
@@ -0,0 +1,61 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __ct__Q44nw4r3snd6detail11MmlSeqTrackFv
+__ct__Q44nw4r3snd6detail11MmlSeqTrackFv:
+/* 80372D5C 0036E9BC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80372D60 0036E9C0 7C 08 02 A6 */ mflr r0
+/* 80372D64 0036E9C4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80372D68 0036E9C8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80372D6C 0036E9CC 7C 7F 1B 78 */ mr r31, r3
+/* 80372D70 0036E9D0 48 00 26 3D */ bl func_803753AC
+/* 80372D74 0036E9D4 3C A0 80 45 */ lis r5, lbl_8044CCF8@ha
+/* 80372D78 0036E9D8 38 80 00 01 */ li r4, 1
+/* 80372D7C 0036E9DC 38 00 00 00 */ li r0, 0
+/* 80372D80 0036E9E0 98 9F 00 DD */ stb r4, 0xdd(r31)
+/* 80372D84 0036E9E4 38 A5 CC F8 */ addi r5, r5, lbl_8044CCF8@l
+/* 80372D88 0036E9E8 7F E3 FB 78 */ mr r3, r31
+/* 80372D8C 0036E9EC 90 BF 00 00 */ stw r5, 0(r31)
+/* 80372D90 0036E9F0 98 1F 00 DE */ stb r0, 0xde(r31)
+/* 80372D94 0036E9F4 98 9F 00 DC */ stb r4, 0xdc(r31)
+/* 80372D98 0036E9F8 98 1F 00 E2 */ stb r0, 0xe2(r31)
+/* 80372D9C 0036E9FC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80372DA0 0036EA00 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80372DA4 0036EA04 7C 08 03 A6 */ mtlr r0
+/* 80372DA8 0036EA08 38 21 00 10 */ addi r1, r1, 0x10
+/* 80372DAC 0036EA0C 4E 80 00 20 */ blr
+
+.global Parse__Q44nw4r3snd6detail11MmlSeqTrackFb
+Parse__Q44nw4r3snd6detail11MmlSeqTrackFb:
+/* 80372DB0 0036EA10 7C 60 1B 78 */ mr r0, r3
+/* 80372DB4 0036EA14 80 63 00 D8 */ lwz r3, 0xd8(r3)
+/* 80372DB8 0036EA18 7C 85 23 78 */ mr r5, r4
+/* 80372DBC 0036EA1C 7C 04 03 78 */ mr r4, r0
+/* 80372DC0 0036EA20 4B FF F0 B0 */ b Parse__Q44nw4r3snd6detail9MmlParserCFPQ44nw4r3snd6detail11MmlSeqTrackb
+
+.global __dt__Q44nw4r3snd6detail11MmlSeqTrackFv
+__dt__Q44nw4r3snd6detail11MmlSeqTrackFv:
+/* 80372DC4 0036EA24 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80372DC8 0036EA28 7C 08 02 A6 */ mflr r0
+/* 80372DCC 0036EA2C 2C 03 00 00 */ cmpwi r3, 0
+/* 80372DD0 0036EA30 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80372DD4 0036EA34 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80372DD8 0036EA38 7C 9F 23 78 */ mr r31, r4
+/* 80372DDC 0036EA3C 93 C1 00 08 */ stw r30, 8(r1)
+/* 80372DE0 0036EA40 7C 7E 1B 78 */ mr r30, r3
+/* 80372DE4 0036EA44 41 82 00 1C */ beq lbl_80372E00
+/* 80372DE8 0036EA48 38 80 00 00 */ li r4, 0
+/* 80372DEC 0036EA4C 48 00 26 29 */ bl func_80375414
+/* 80372DF0 0036EA50 2C 1F 00 00 */ cmpwi r31, 0
+/* 80372DF4 0036EA54 40 81 00 0C */ ble lbl_80372E00
+/* 80372DF8 0036EA58 7F C3 F3 78 */ mr r3, r30
+/* 80372DFC 0036EA5C 4B E6 7C BD */ bl func_801DAAB8
+lbl_80372E00:
+/* 80372E00 0036EA60 7F C3 F3 78 */ mr r3, r30
+/* 80372E04 0036EA64 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80372E08 0036EA68 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80372E0C 0036EA6C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80372E10 0036EA70 7C 08 03 A6 */ mtlr r0
+/* 80372E14 0036EA74 38 21 00 10 */ addi r1, r1, 0x10
+/* 80372E18 0036EA78 4E 80 00 20 */ blr
diff --git a/asm/nw4r/snd/snd_MmlSeqTrackAllocator.s b/asm/nw4r/snd/snd_MmlSeqTrackAllocator.s
new file mode 100644
index 0000000..d3c01e7
--- /dev/null
+++ b/asm/nw4r/snd/snd_MmlSeqTrackAllocator.s
@@ -0,0 +1,101 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global AllocTrack__Q44nw4r3snd6detail20MmlSeqTrackAllocatorFPQ44nw4r3snd6detail9SeqPlayer
+AllocTrack__Q44nw4r3snd6detail20MmlSeqTrackAllocatorFPQ44nw4r3snd6detail9SeqPlayer:
+/* 80372E1C 0036EA7C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80372E20 0036EA80 7C 08 02 A6 */ mflr r0
+/* 80372E24 0036EA84 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80372E28 0036EA88 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80372E2C 0036EA8C 7C 9F 23 78 */ mr r31, r4
+/* 80372E30 0036EA90 93 C1 00 08 */ stw r30, 8(r1)
+/* 80372E34 0036EA94 7C 7E 1B 78 */ mr r30, r3
+/* 80372E38 0036EA98 38 63 00 08 */ addi r3, r3, 8
+/* 80372E3C 0036EA9C 4B FF ED 1D */ bl AllocImpl__Q44nw4r3snd6detail8PoolImplFv
+/* 80372E40 0036EAA0 2C 03 00 00 */ cmpwi r3, 0
+/* 80372E44 0036EAA4 40 82 00 0C */ bne lbl_80372E50
+/* 80372E48 0036EAA8 38 60 00 00 */ li r3, 0
+/* 80372E4C 0036EAAC 48 00 00 0C */ b lbl_80372E58
+lbl_80372E50:
+/* 80372E50 0036EAB0 41 82 00 08 */ beq lbl_80372E58
+/* 80372E54 0036EAB4 4B FF FF 09 */ bl __ct__Q44nw4r3snd6detail11MmlSeqTrackFv
+lbl_80372E58:
+/* 80372E58 0036EAB8 2C 03 00 00 */ cmpwi r3, 0
+/* 80372E5C 0036EABC 41 82 00 10 */ beq lbl_80372E6C
+/* 80372E60 0036EAC0 93 E3 00 B8 */ stw r31, 0xb8(r3)
+/* 80372E64 0036EAC4 80 1E 00 04 */ lwz r0, 4(r30)
+/* 80372E68 0036EAC8 90 03 00 D8 */ stw r0, 0xd8(r3)
+lbl_80372E6C:
+/* 80372E6C 0036EACC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80372E70 0036EAD0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80372E74 0036EAD4 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80372E78 0036EAD8 7C 08 03 A6 */ mtlr r0
+/* 80372E7C 0036EADC 38 21 00 10 */ addi r1, r1, 0x10
+/* 80372E80 0036EAE0 4E 80 00 20 */ blr
+
+.global FreeTrack__Q44nw4r3snd6detail20MmlSeqTrackAllocatorFPQ44nw4r3snd6detail8SeqTrack
+FreeTrack__Q44nw4r3snd6detail20MmlSeqTrackAllocatorFPQ44nw4r3snd6detail8SeqTrack:
+/* 80372E84 0036EAE4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80372E88 0036EAE8 7C 08 02 A6 */ mflr r0
+/* 80372E8C 0036EAEC 2C 04 00 00 */ cmpwi r4, 0
+/* 80372E90 0036EAF0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80372E94 0036EAF4 38 00 00 00 */ li r0, 0
+/* 80372E98 0036EAF8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80372E9C 0036EAFC 7C 9F 23 78 */ mr r31, r4
+/* 80372EA0 0036EB00 93 C1 00 08 */ stw r30, 8(r1)
+/* 80372EA4 0036EB04 7C 7E 1B 78 */ mr r30, r3
+/* 80372EA8 0036EB08 90 04 00 B8 */ stw r0, 0xb8(r4)
+/* 80372EAC 0036EB0C 41 82 00 28 */ beq lbl_80372ED4
+/* 80372EB0 0036EB10 81 9F 00 00 */ lwz r12, 0(r31)
+/* 80372EB4 0036EB14 7F E3 FB 78 */ mr r3, r31
+/* 80372EB8 0036EB18 38 80 FF FF */ li r4, -1
+/* 80372EBC 0036EB1C 81 8C 00 08 */ lwz r12, 8(r12)
+/* 80372EC0 0036EB20 7D 89 03 A6 */ mtctr r12
+/* 80372EC4 0036EB24 4E 80 04 21 */ bctrl
+/* 80372EC8 0036EB28 7F E4 FB 78 */ mr r4, r31
+/* 80372ECC 0036EB2C 38 7E 00 08 */ addi r3, r30, 8
+/* 80372ED0 0036EB30 4B FF EC E5 */ bl FreeImpl__Q44nw4r3snd6detail8PoolImplFPv
+lbl_80372ED4:
+/* 80372ED4 0036EB34 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80372ED8 0036EB38 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80372EDC 0036EB3C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80372EE0 0036EB40 7C 08 03 A6 */ mtlr r0
+/* 80372EE4 0036EB44 38 21 00 10 */ addi r1, r1, 0x10
+/* 80372EE8 0036EB48 4E 80 00 20 */ blr
+
+.global Create__Q44nw4r3snd6detail20MmlSeqTrackAllocatorFPvUl
+Create__Q44nw4r3snd6detail20MmlSeqTrackAllocatorFPvUl:
+/* 80372EEC 0036EB4C 38 C0 00 F0 */ li r6, 0xf0
+/* 80372EF0 0036EB50 38 63 00 08 */ addi r3, r3, 8
+/* 80372EF4 0036EB54 4B FF EA 50 */ b CreateImpl__Q44nw4r3snd6detail8PoolImplFPvUlUl
+
+.global Destroy__Q44nw4r3snd6detail20MmlSeqTrackAllocatorFPvUl
+Destroy__Q44nw4r3snd6detail20MmlSeqTrackAllocatorFPvUl:
+/* 80372EF8 0036EB58 38 63 00 08 */ addi r3, r3, 8
+/* 80372EFC 0036EB5C 4B FF EB 8C */ b DestroyImpl__Q44nw4r3snd6detail8PoolImplFPvUl
+
+.global GetAllocatableTrackCount__Q44nw4r3snd6detail20MmlSeqTrackAllocatorCFv
+GetAllocatableTrackCount__Q44nw4r3snd6detail20MmlSeqTrackAllocatorCFv:
+/* 80372F00 0036EB60 38 63 00 08 */ addi r3, r3, 8
+/* 80372F04 0036EB64 4B FF EC 04 */ b CountImpl__Q44nw4r3snd6detail8PoolImplCFv
+
+.global __dt__Q44nw4r3snd6detail20MmlSeqTrackAllocatorFv
+__dt__Q44nw4r3snd6detail20MmlSeqTrackAllocatorFv:
+/* 80372F08 0036EB68 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80372F0C 0036EB6C 7C 08 02 A6 */ mflr r0
+/* 80372F10 0036EB70 2C 03 00 00 */ cmpwi r3, 0
+/* 80372F14 0036EB74 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80372F18 0036EB78 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80372F1C 0036EB7C 7C 7F 1B 78 */ mr r31, r3
+/* 80372F20 0036EB80 41 82 00 10 */ beq lbl_80372F30
+/* 80372F24 0036EB84 2C 04 00 00 */ cmpwi r4, 0
+/* 80372F28 0036EB88 40 81 00 08 */ ble lbl_80372F30
+/* 80372F2C 0036EB8C 4B E6 7B 8D */ bl func_801DAAB8
+lbl_80372F30:
+/* 80372F30 0036EB90 7F E3 FB 78 */ mr r3, r31
+/* 80372F34 0036EB94 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80372F38 0036EB98 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80372F3C 0036EB9C 7C 08 03 A6 */ mtlr r0
+/* 80372F40 0036EBA0 38 21 00 10 */ addi r1, r1, 0x10
+/* 80372F44 0036EBA4 4E 80 00 20 */ blr
diff --git a/asm/text_10_6.s b/asm/text_10_6.s
index e31bfd6..71892a4 100644
--- a/asm/text_10_6.s
+++ b/asm/text_10_6.s
@@ -2,144 +2,6 @@
.section .text, "ax" # 0x80006980 - 0x803E1E60
-.global func_80372D5C
-func_80372D5C:
-/* 80372D5C 0036E9BC 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80372D60 0036E9C0 7C 08 02 A6 */ mflr r0
-/* 80372D64 0036E9C4 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80372D68 0036E9C8 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80372D6C 0036E9CC 7C 7F 1B 78 */ mr r31, r3
-/* 80372D70 0036E9D0 48 00 26 3D */ bl func_803753AC
-/* 80372D74 0036E9D4 3C A0 80 45 */ lis r5, lbl_8044CCF8@ha
-/* 80372D78 0036E9D8 38 80 00 01 */ li r4, 1
-/* 80372D7C 0036E9DC 38 00 00 00 */ li r0, 0
-/* 80372D80 0036E9E0 98 9F 00 DD */ stb r4, 0xdd(r31)
-/* 80372D84 0036E9E4 38 A5 CC F8 */ addi r5, r5, lbl_8044CCF8@l
-/* 80372D88 0036E9E8 7F E3 FB 78 */ mr r3, r31
-/* 80372D8C 0036E9EC 90 BF 00 00 */ stw r5, 0(r31)
-/* 80372D90 0036E9F0 98 1F 00 DE */ stb r0, 0xde(r31)
-/* 80372D94 0036E9F4 98 9F 00 DC */ stb r4, 0xdc(r31)
-/* 80372D98 0036E9F8 98 1F 00 E2 */ stb r0, 0xe2(r31)
-/* 80372D9C 0036E9FC 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80372DA0 0036EA00 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80372DA4 0036EA04 7C 08 03 A6 */ mtlr r0
-/* 80372DA8 0036EA08 38 21 00 10 */ addi r1, r1, 0x10
-/* 80372DAC 0036EA0C 4E 80 00 20 */ blr
-/* 80372DB0 0036EA10 7C 60 1B 78 */ mr r0, r3
-/* 80372DB4 0036EA14 80 63 00 D8 */ lwz r3, 0xd8(r3)
-/* 80372DB8 0036EA18 7C 85 23 78 */ mr r5, r4
-/* 80372DBC 0036EA1C 7C 04 03 78 */ mr r4, r0
-/* 80372DC0 0036EA20 4B FF F0 B0 */ b Parse__Q44nw4r3snd6detail9MmlParserCFPQ44nw4r3snd6detail11MmlSeqTrackb
-/* 80372DC4 0036EA24 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80372DC8 0036EA28 7C 08 02 A6 */ mflr r0
-/* 80372DCC 0036EA2C 2C 03 00 00 */ cmpwi r3, 0
-/* 80372DD0 0036EA30 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80372DD4 0036EA34 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80372DD8 0036EA38 7C 9F 23 78 */ mr r31, r4
-/* 80372DDC 0036EA3C 93 C1 00 08 */ stw r30, 8(r1)
-/* 80372DE0 0036EA40 7C 7E 1B 78 */ mr r30, r3
-/* 80372DE4 0036EA44 41 82 00 1C */ beq lbl_80372E00
-/* 80372DE8 0036EA48 38 80 00 00 */ li r4, 0
-/* 80372DEC 0036EA4C 48 00 26 29 */ bl func_80375414
-/* 80372DF0 0036EA50 2C 1F 00 00 */ cmpwi r31, 0
-/* 80372DF4 0036EA54 40 81 00 0C */ ble lbl_80372E00
-/* 80372DF8 0036EA58 7F C3 F3 78 */ mr r3, r30
-/* 80372DFC 0036EA5C 4B E6 7C BD */ bl func_801DAAB8
-lbl_80372E00:
-/* 80372E00 0036EA60 7F C3 F3 78 */ mr r3, r30
-/* 80372E04 0036EA64 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80372E08 0036EA68 83 C1 00 08 */ lwz r30, 8(r1)
-/* 80372E0C 0036EA6C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80372E10 0036EA70 7C 08 03 A6 */ mtlr r0
-/* 80372E14 0036EA74 38 21 00 10 */ addi r1, r1, 0x10
-/* 80372E18 0036EA78 4E 80 00 20 */ blr
-/* 80372E1C 0036EA7C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80372E20 0036EA80 7C 08 02 A6 */ mflr r0
-/* 80372E24 0036EA84 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80372E28 0036EA88 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80372E2C 0036EA8C 7C 9F 23 78 */ mr r31, r4
-/* 80372E30 0036EA90 93 C1 00 08 */ stw r30, 8(r1)
-/* 80372E34 0036EA94 7C 7E 1B 78 */ mr r30, r3
-/* 80372E38 0036EA98 38 63 00 08 */ addi r3, r3, 8
-/* 80372E3C 0036EA9C 4B FF ED 1D */ bl AllocImpl__Q44nw4r3snd6detail8PoolImplFv
-/* 80372E40 0036EAA0 2C 03 00 00 */ cmpwi r3, 0
-/* 80372E44 0036EAA4 40 82 00 0C */ bne lbl_80372E50
-/* 80372E48 0036EAA8 38 60 00 00 */ li r3, 0
-/* 80372E4C 0036EAAC 48 00 00 0C */ b lbl_80372E58
-lbl_80372E50:
-/* 80372E50 0036EAB0 41 82 00 08 */ beq lbl_80372E58
-/* 80372E54 0036EAB4 4B FF FF 09 */ bl func_80372D5C
-lbl_80372E58:
-/* 80372E58 0036EAB8 2C 03 00 00 */ cmpwi r3, 0
-/* 80372E5C 0036EABC 41 82 00 10 */ beq lbl_80372E6C
-/* 80372E60 0036EAC0 93 E3 00 B8 */ stw r31, 0xb8(r3)
-/* 80372E64 0036EAC4 80 1E 00 04 */ lwz r0, 4(r30)
-/* 80372E68 0036EAC8 90 03 00 D8 */ stw r0, 0xd8(r3)
-lbl_80372E6C:
-/* 80372E6C 0036EACC 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80372E70 0036EAD0 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80372E74 0036EAD4 83 C1 00 08 */ lwz r30, 8(r1)
-/* 80372E78 0036EAD8 7C 08 03 A6 */ mtlr r0
-/* 80372E7C 0036EADC 38 21 00 10 */ addi r1, r1, 0x10
-/* 80372E80 0036EAE0 4E 80 00 20 */ blr
-/* 80372E84 0036EAE4 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80372E88 0036EAE8 7C 08 02 A6 */ mflr r0
-/* 80372E8C 0036EAEC 2C 04 00 00 */ cmpwi r4, 0
-/* 80372E90 0036EAF0 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80372E94 0036EAF4 38 00 00 00 */ li r0, 0
-/* 80372E98 0036EAF8 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80372E9C 0036EAFC 7C 9F 23 78 */ mr r31, r4
-/* 80372EA0 0036EB00 93 C1 00 08 */ stw r30, 8(r1)
-/* 80372EA4 0036EB04 7C 7E 1B 78 */ mr r30, r3
-/* 80372EA8 0036EB08 90 04 00 B8 */ stw r0, 0xb8(r4)
-/* 80372EAC 0036EB0C 41 82 00 28 */ beq lbl_80372ED4
-/* 80372EB0 0036EB10 81 9F 00 00 */ lwz r12, 0(r31)
-/* 80372EB4 0036EB14 7F E3 FB 78 */ mr r3, r31
-/* 80372EB8 0036EB18 38 80 FF FF */ li r4, -1
-/* 80372EBC 0036EB1C 81 8C 00 08 */ lwz r12, 8(r12)
-/* 80372EC0 0036EB20 7D 89 03 A6 */ mtctr r12
-/* 80372EC4 0036EB24 4E 80 04 21 */ bctrl
-/* 80372EC8 0036EB28 7F E4 FB 78 */ mr r4, r31
-/* 80372ECC 0036EB2C 38 7E 00 08 */ addi r3, r30, 8
-/* 80372ED0 0036EB30 4B FF EC E5 */ bl FreeImpl__Q44nw4r3snd6detail8PoolImplFPv
-lbl_80372ED4:
-/* 80372ED4 0036EB34 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80372ED8 0036EB38 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80372EDC 0036EB3C 83 C1 00 08 */ lwz r30, 8(r1)
-/* 80372EE0 0036EB40 7C 08 03 A6 */ mtlr r0
-/* 80372EE4 0036EB44 38 21 00 10 */ addi r1, r1, 0x10
-/* 80372EE8 0036EB48 4E 80 00 20 */ blr
-
-.global func_80372EEC
-func_80372EEC:
-/* 80372EEC 0036EB4C 38 C0 00 F0 */ li r6, 0xf0
-/* 80372EF0 0036EB50 38 63 00 08 */ addi r3, r3, 8
-/* 80372EF4 0036EB54 4B FF EA 50 */ b CreateImpl__Q44nw4r3snd6detail8PoolImplFPvUlUl
-
-.global func_80372EF8
-func_80372EF8:
-/* 80372EF8 0036EB58 38 63 00 08 */ addi r3, r3, 8
-/* 80372EFC 0036EB5C 4B FF EB 8C */ b DestroyImpl__Q44nw4r3snd6detail8PoolImplFPvUl
-/* 80372F00 0036EB60 38 63 00 08 */ addi r3, r3, 8
-/* 80372F04 0036EB64 4B FF EC 04 */ b CountImpl__Q44nw4r3snd6detail8PoolImplCFv
-/* 80372F08 0036EB68 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80372F0C 0036EB6C 7C 08 02 A6 */ mflr r0
-/* 80372F10 0036EB70 2C 03 00 00 */ cmpwi r3, 0
-/* 80372F14 0036EB74 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80372F18 0036EB78 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80372F1C 0036EB7C 7C 7F 1B 78 */ mr r31, r3
-/* 80372F20 0036EB80 41 82 00 10 */ beq lbl_80372F30
-/* 80372F24 0036EB84 2C 04 00 00 */ cmpwi r4, 0
-/* 80372F28 0036EB88 40 81 00 08 */ ble lbl_80372F30
-/* 80372F2C 0036EB8C 4B E6 7B 8D */ bl func_801DAAB8
-lbl_80372F30:
-/* 80372F30 0036EB90 7F E3 FB 78 */ mr r3, r31
-/* 80372F34 0036EB94 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80372F38 0036EB98 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80372F3C 0036EB9C 7C 08 03 A6 */ mtlr r0
-/* 80372F40 0036EBA0 38 21 00 10 */ addi r1, r1, 0x10
-/* 80372F44 0036EBA4 4E 80 00 20 */ blr
-
.global func_80372F48
func_80372F48:
/* 80372F48 0036EBA8 94 21 FF F0 */ stwu r1, -0x10(r1)
@@ -7105,7 +6967,7 @@ lbl_80378E94:
/* 80378F30 00374B90 80 9B 00 D8 */ lwz r4, 0xd8(r27)
/* 80378F34 00374B94 38 7B 00 B0 */ addi r3, r27, 0xb0
/* 80378F38 00374B98 80 BB 00 DC */ lwz r5, 0xdc(r27)
-/* 80378F3C 00374B9C 4B FF 9F BD */ bl func_80372EF8
+/* 80378F3C 00374B9C 4B FF 9F BD */ bl Destroy__Q44nw4r3snd6detail20MmlSeqTrackAllocatorFPvUl
/* 80378F40 00374BA0 38 7B 00 BC */ addi r3, r27, 0xbc
/* 80378F44 00374BA4 48 00 3C 01 */ bl func_8037CB44
/* 80378F48 00374BA8 93 DB 00 D8 */ stw r30, 0xd8(r27)
@@ -7393,7 +7255,7 @@ lbl_80379310:
/* 80379334 00374F94 48 00 00 10 */ b lbl_80379344
lbl_80379338:
/* 80379338 00374F98 38 7B 00 B0 */ addi r3, r27, 0xb0
-/* 8037933C 00374F9C 4B FF 9B B1 */ bl func_80372EEC
+/* 8037933C 00374F9C 4B FF 9B B1 */ bl Create__Q44nw4r3snd6detail20MmlSeqTrackAllocatorFPvUl
/* 80379340 00374FA0 38 00 00 01 */ li r0, 1
lbl_80379344:
/* 80379344 00374FA4 2C 00 00 00 */ cmpwi r0, 0
diff --git a/obj_files.mk b/obj_files.mk
index 89988cd..cb48a61 100644
--- a/obj_files.mk
+++ b/obj_files.mk
@@ -127,6 +127,8 @@ TEXT_O_FILES := \
$(BUILD_DIR)/asm/nw4r/snd/snd_MemorySoundArchive.o \
$(BUILD_DIR)/asm/nw4r/snd/snd_MidiSeqPlayer.o \
$(BUILD_DIR)/asm/nw4r/snd/snd_MmlParser.o \
+ $(BUILD_DIR)/asm/nw4r/snd/snd_MmlSeqTrack.o \
+ $(BUILD_DIR)/asm/nw4r/snd/snd_MmlSeqTrackAllocator.o \
$(BUILD_DIR)/asm/text_10_6.o \
$(BUILD_DIR)/asm/text_11.o