From e5cb9ce472674fbb385bb909005dacbd3576e681 Mon Sep 17 00:00:00 2001 From: hatal175 Date: Tue, 19 Sep 2023 13:45:39 +0300 Subject: [PATCH] JAUSeqCollection, JAUSoundTable OK (#1932) --- .../__as__13J3DTexMtxInfoFRC13J3DTexMtxInfo.s | 32 ----- ...__16JAUSeqCollectionFP16JAISeqDataRegion.s | 12 -- ...Data__16JAUSeqCollectionFiiP10JAISeqData.s | 25 ---- ..._SeqCollectionF10JAISoundIDP10JAISeqData.s | 25 ---- .../init__16JAUSeqCollectionFPCv.s | 23 --- .../getData__13JAUSoundTableCF10JAISoundID.s | 101 ------------- ...getTypeID__13JAUSoundTableCF10JAISoundID.s | 92 ------------ .../JAUSoundTable/init__13JAUSoundTableFPCv.s | 22 --- .../init__17JAUSoundNameTableFPCv.s | 22 --- include/JSystem/J3DGraphBase/J3DStruct.h | 18 +++ include/JSystem/JAudio2/JAISeqDataMgr.h | 8 +- include/JSystem/JAudio2/JAUSeqCollection.h | 14 +- include/JSystem/JAudio2/JAUSoundTable.h | 135 ++++++++++++++++-- libs/JSystem/J3DGraphBase/J3DStruct.cpp | 12 -- libs/JSystem/JAudio2/JASVoiceBank.cpp | 1 - libs/JSystem/JAudio2/JAUSeqCollection.cpp | 72 +++++----- libs/JSystem/JAudio2/JAUSoundTable.cpp | 83 +++++------ 17 files changed, 231 insertions(+), 466 deletions(-) delete mode 100644 asm/JSystem/J3DGraphBase/J3DStruct/__as__13J3DTexMtxInfoFRC13J3DTexMtxInfo.s delete mode 100644 asm/JSystem/JAudio2/JAUSeqCollection/getSeqDataRegion__16JAUSeqCollectionFP16JAISeqDataRegion.s delete mode 100644 asm/JSystem/JAudio2/JAUSeqCollection/getSeqData__16JAUSeqCollectionFiiP10JAISeqData.s delete mode 100644 asm/JSystem/JAudio2/JAUSeqCollection/getSeqData__27JAUSeqDataMgr_SeqCollectionF10JAISoundIDP10JAISeqData.s delete mode 100644 asm/JSystem/JAudio2/JAUSeqCollection/init__16JAUSeqCollectionFPCv.s delete mode 100644 asm/JSystem/JAudio2/JAUSoundTable/getData__13JAUSoundTableCF10JAISoundID.s delete mode 100644 asm/JSystem/JAudio2/JAUSoundTable/getTypeID__13JAUSoundTableCF10JAISoundID.s delete mode 100644 asm/JSystem/JAudio2/JAUSoundTable/init__13JAUSoundTableFPCv.s delete mode 100644 asm/JSystem/JAudio2/JAUSoundTable/init__17JAUSoundNameTableFPCv.s diff --git a/asm/JSystem/J3DGraphBase/J3DStruct/__as__13J3DTexMtxInfoFRC13J3DTexMtxInfo.s b/asm/JSystem/J3DGraphBase/J3DStruct/__as__13J3DTexMtxInfoFRC13J3DTexMtxInfo.s deleted file mode 100644 index 3bf512d40f9..00000000000 --- a/asm/JSystem/J3DGraphBase/J3DStruct/__as__13J3DTexMtxInfoFRC13J3DTexMtxInfo.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_80325718: -/* 80325718 88 04 00 00 */ lbz r0, 0(r4) -/* 8032571C 98 03 00 00 */ stb r0, 0(r3) -/* 80325720 88 04 00 01 */ lbz r0, 1(r4) -/* 80325724 98 03 00 01 */ stb r0, 1(r3) -/* 80325728 E0 24 00 04 */ psq_l f1, 4(r4), 0, 0 /* qr0 */ -/* 8032572C C0 04 00 0C */ lfs f0, 0xc(r4) -/* 80325730 F0 23 00 04 */ psq_st f1, 4(r3), 0, 0 /* qr0 */ -/* 80325734 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 80325738 E0 04 00 10 */ psq_l f0, 16(r4), 0, 0 /* qr0 */ -/* 8032573C F0 03 00 10 */ psq_st f0, 16(r3), 0, 0 /* qr0 */ -/* 80325740 80 04 00 18 */ lwz r0, 0x18(r4) -/* 80325744 90 03 00 18 */ stw r0, 0x18(r3) -/* 80325748 E0 04 00 1C */ psq_l f0, 28(r4), 0, 0 /* qr0 */ -/* 8032574C F0 03 00 1C */ psq_st f0, 28(r3), 0, 0 /* qr0 */ -/* 80325750 E0 E4 00 24 */ psq_l f7, 36(r4), 0, 0 /* qr0 */ -/* 80325754 E0 C4 00 2C */ psq_l f6, 44(r4), 0, 0 /* qr0 */ -/* 80325758 E0 A4 00 34 */ psq_l f5, 52(r4), 0, 0 /* qr0 */ -/* 8032575C E0 84 00 3C */ psq_l f4, 60(r4), 0, 0 /* qr0 */ -/* 80325760 E0 64 00 44 */ psq_l f3, 68(r4), 0, 0 /* qr0 */ -/* 80325764 E0 44 00 4C */ psq_l f2, 76(r4), 0, 0 /* qr0 */ -/* 80325768 E0 24 00 54 */ psq_l f1, 84(r4), 0, 0 /* qr0 */ -/* 8032576C E0 04 00 5C */ psq_l f0, 92(r4), 0, 0 /* qr0 */ -/* 80325770 F0 E3 00 24 */ psq_st f7, 36(r3), 0, 0 /* qr0 */ -/* 80325774 F0 C3 00 2C */ psq_st f6, 44(r3), 0, 0 /* qr0 */ -/* 80325778 F0 A3 00 34 */ psq_st f5, 52(r3), 0, 0 /* qr0 */ -/* 8032577C F0 83 00 3C */ psq_st f4, 60(r3), 0, 0 /* qr0 */ -/* 80325780 F0 63 00 44 */ psq_st f3, 68(r3), 0, 0 /* qr0 */ -/* 80325784 F0 43 00 4C */ psq_st f2, 76(r3), 0, 0 /* qr0 */ -/* 80325788 F0 23 00 54 */ psq_st f1, 84(r3), 0, 0 /* qr0 */ -/* 8032578C F0 03 00 5C */ psq_st f0, 92(r3), 0, 0 /* qr0 */ -/* 80325790 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAUSeqCollection/getSeqDataRegion__16JAUSeqCollectionFP16JAISeqDataRegion.s b/asm/JSystem/JAudio2/JAUSeqCollection/getSeqDataRegion__16JAUSeqCollectionFP16JAISeqDataRegion.s deleted file mode 100644 index 1392a5340fc..00000000000 --- a/asm/JSystem/JAudio2/JAUSeqCollection/getSeqDataRegion__16JAUSeqCollectionFP16JAISeqDataRegion.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_802A6754: -/* 802A6754 80 03 00 08 */ lwz r0, 8(r3) -/* 802A6758 28 00 00 00 */ cmplwi r0, 0 -/* 802A675C 41 82 00 18 */ beq lbl_802A6774 -/* 802A6760 90 04 00 00 */ stw r0, 0(r4) -/* 802A6764 80 03 00 0C */ lwz r0, 0xc(r3) -/* 802A6768 90 04 00 04 */ stw r0, 4(r4) -/* 802A676C 38 60 00 01 */ li r3, 1 -/* 802A6770 4E 80 00 20 */ blr -lbl_802A6774: -/* 802A6774 38 60 00 00 */ li r3, 0 -/* 802A6778 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAUSeqCollection/getSeqData__16JAUSeqCollectionFiiP10JAISeqData.s b/asm/JSystem/JAudio2/JAUSeqCollection/getSeqData__16JAUSeqCollectionFiiP10JAISeqData.s deleted file mode 100644 index a600e3674b2..00000000000 --- a/asm/JSystem/JAudio2/JAUSeqCollection/getSeqData__16JAUSeqCollectionFiiP10JAISeqData.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_802A66FC: -/* 802A66FC A0 03 00 00 */ lhz r0, 0(r3) -/* 802A6700 7C 04 00 00 */ cmpw r4, r0 -/* 802A6704 41 80 00 0C */ blt lbl_802A6710 -/* 802A6708 38 60 00 00 */ li r3, 0 -/* 802A670C 4E 80 00 20 */ blr -lbl_802A6710: -/* 802A6710 80 E3 00 08 */ lwz r7, 8(r3) -/* 802A6714 80 63 00 04 */ lwz r3, 4(r3) -/* 802A6718 54 80 10 3A */ slwi r0, r4, 2 -/* 802A671C 7C 03 00 2E */ lwzx r0, r3, r0 -/* 802A6720 7C 67 02 14 */ add r3, r7, r0 -/* 802A6724 80 03 00 00 */ lwz r0, 0(r3) -/* 802A6728 7C 05 00 40 */ cmplw r5, r0 -/* 802A672C 41 80 00 0C */ blt lbl_802A6738 -/* 802A6730 38 60 00 00 */ li r3, 0 -/* 802A6734 4E 80 00 20 */ blr -lbl_802A6738: -/* 802A6738 54 A0 10 3A */ slwi r0, r5, 2 -/* 802A673C 7C 63 02 14 */ add r3, r3, r0 -/* 802A6740 80 03 00 04 */ lwz r0, 4(r3) -/* 802A6744 90 E6 00 00 */ stw r7, 0(r6) -/* 802A6748 90 06 00 04 */ stw r0, 4(r6) -/* 802A674C 38 60 00 01 */ li r3, 1 -/* 802A6750 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAUSeqCollection/getSeqData__27JAUSeqDataMgr_SeqCollectionF10JAISoundIDP10JAISeqData.s b/asm/JSystem/JAudio2/JAUSeqCollection/getSeqData__27JAUSeqDataMgr_SeqCollectionF10JAISoundIDP10JAISeqData.s deleted file mode 100644 index d93a5d38270..00000000000 --- a/asm/JSystem/JAudio2/JAUSeqCollection/getSeqData__27JAUSeqDataMgr_SeqCollectionF10JAISoundIDP10JAISeqData.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_802A683C: -/* 802A683C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A6840 7C 08 02 A6 */ mflr r0 -/* 802A6844 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A6848 7C 87 23 78 */ mr r7, r4 -/* 802A684C 7C A6 2B 78 */ mr r6, r5 -/* 802A6850 80 03 00 0C */ lwz r0, 0xc(r3) -/* 802A6854 28 00 00 00 */ cmplwi r0, 0 -/* 802A6858 40 82 00 0C */ bne lbl_802A6864 -/* 802A685C 38 60 00 00 */ li r3, 0 -/* 802A6860 48 00 00 24 */ b lbl_802A6884 -lbl_802A6864: -/* 802A6864 38 63 00 04 */ addi r3, r3, 4 -/* 802A6868 88 87 00 01 */ lbz r4, 1(r7) -/* 802A686C A0 A7 00 02 */ lhz r5, 2(r7) -/* 802A6870 4B FF FE 8D */ bl getSeqData__16JAUSeqCollectionFiiP10JAISeqData -/* 802A6874 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A6878 38 60 00 00 */ li r3, 0 -/* 802A687C 41 82 00 08 */ beq lbl_802A6884 -/* 802A6880 38 60 00 02 */ li r3, 2 -lbl_802A6884: -/* 802A6884 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A6888 7C 08 03 A6 */ mtlr r0 -/* 802A688C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A6890 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAUSeqCollection/init__16JAUSeqCollectionFPCv.s b/asm/JSystem/JAudio2/JAUSeqCollection/init__16JAUSeqCollectionFPCv.s deleted file mode 100644 index 90fd3b0ed0a..00000000000 --- a/asm/JSystem/JAudio2/JAUSeqCollection/init__16JAUSeqCollectionFPCv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_802A66AC: -/* 802A66AC 90 83 00 08 */ stw r4, 8(r3) -/* 802A66B0 80 83 00 08 */ lwz r4, 8(r3) -/* 802A66B4 88 04 00 00 */ lbz r0, 0(r4) -/* 802A66B8 2C 00 00 53 */ cmpwi r0, 0x53 -/* 802A66BC 40 82 00 10 */ bne lbl_802A66CC -/* 802A66C0 88 04 00 01 */ lbz r0, 1(r4) -/* 802A66C4 2C 00 00 43 */ cmpwi r0, 0x43 -/* 802A66C8 41 82 00 10 */ beq lbl_802A66D8 -lbl_802A66CC: -/* 802A66CC 38 00 00 00 */ li r0, 0 -/* 802A66D0 90 03 00 08 */ stw r0, 8(r3) -/* 802A66D4 4E 80 00 20 */ blr -lbl_802A66D8: -/* 802A66D8 A0 04 00 02 */ lhz r0, 2(r4) -/* 802A66DC B0 03 00 00 */ sth r0, 0(r3) -/* 802A66E0 80 83 00 08 */ lwz r4, 8(r3) -/* 802A66E4 80 04 00 04 */ lwz r0, 4(r4) -/* 802A66E8 90 03 00 0C */ stw r0, 0xc(r3) -/* 802A66EC 80 83 00 08 */ lwz r4, 8(r3) -/* 802A66F0 38 04 00 08 */ addi r0, r4, 8 -/* 802A66F4 90 03 00 04 */ stw r0, 4(r3) -/* 802A66F8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAUSoundTable/getData__13JAUSoundTableCF10JAISoundID.s b/asm/JSystem/JAudio2/JAUSoundTable/getData__13JAUSoundTableCF10JAISoundID.s deleted file mode 100644 index cf87a961c91..00000000000 --- a/asm/JSystem/JAudio2/JAUSoundTable/getData__13JAUSoundTableCF10JAISoundID.s +++ /dev/null @@ -1,101 +0,0 @@ -lbl_802A728C: -/* 802A728C 80 A4 00 00 */ lwz r5, 0(r4) -/* 802A7290 3C 05 00 01 */ addis r0, r5, 1 -/* 802A7294 28 00 FF FF */ cmplwi r0, 0xffff -/* 802A7298 40 82 00 0C */ bne lbl_802A72A4 -/* 802A729C 38 60 00 00 */ li r3, 0 -/* 802A72A0 4E 80 00 20 */ blr -lbl_802A72A4: -/* 802A72A4 88 A4 00 00 */ lbz r5, 0(r4) -/* 802A72A8 2C 05 00 00 */ cmpwi r5, 0 -/* 802A72AC 40 80 00 0C */ bge lbl_802A72B8 -/* 802A72B0 38 A0 00 00 */ li r5, 0 -/* 802A72B4 48 00 00 40 */ b lbl_802A72F4 -lbl_802A72B8: -/* 802A72B8 80 C3 00 04 */ lwz r6, 4(r3) -/* 802A72BC 80 06 00 00 */ lwz r0, 0(r6) -/* 802A72C0 7C 05 00 40 */ cmplw r5, r0 -/* 802A72C4 41 80 00 0C */ blt lbl_802A72D0 -/* 802A72C8 38 A0 00 00 */ li r5, 0 -/* 802A72CC 48 00 00 28 */ b lbl_802A72F4 -lbl_802A72D0: -/* 802A72D0 54 A0 10 3A */ slwi r0, r5, 2 -/* 802A72D4 7C A6 02 14 */ add r5, r6, r0 -/* 802A72D8 80 A5 00 04 */ lwz r5, 4(r5) -/* 802A72DC 28 05 00 00 */ cmplwi r5, 0 -/* 802A72E0 40 82 00 0C */ bne lbl_802A72EC -/* 802A72E4 38 A0 00 00 */ li r5, 0 -/* 802A72E8 48 00 00 0C */ b lbl_802A72F4 -lbl_802A72EC: -/* 802A72EC 80 03 00 00 */ lwz r0, 0(r3) -/* 802A72F0 7C A0 2A 14 */ add r5, r0, r5 -lbl_802A72F4: -/* 802A72F4 28 05 00 00 */ cmplwi r5, 0 -/* 802A72F8 40 82 00 0C */ bne lbl_802A7304 -/* 802A72FC 38 60 00 00 */ li r3, 0 -/* 802A7300 4E 80 00 20 */ blr -lbl_802A7304: -/* 802A7304 88 04 00 01 */ lbz r0, 1(r4) -/* 802A7308 2C 00 00 00 */ cmpwi r0, 0 -/* 802A730C 40 80 00 0C */ bge lbl_802A7318 -/* 802A7310 38 A0 00 00 */ li r5, 0 -/* 802A7314 48 00 00 5C */ b lbl_802A7370 -lbl_802A7318: -/* 802A7318 80 C5 00 00 */ lwz r6, 0(r5) -/* 802A731C 7C 00 30 40 */ cmplw r0, r6 -/* 802A7320 41 80 00 0C */ blt lbl_802A732C -/* 802A7324 38 A0 00 00 */ li r5, 0 -/* 802A7328 48 00 00 48 */ b lbl_802A7370 -lbl_802A732C: -/* 802A732C 2C 00 00 00 */ cmpwi r0, 0 -/* 802A7330 40 80 00 0C */ bge lbl_802A733C -/* 802A7334 38 A0 00 00 */ li r5, 0 -/* 802A7338 48 00 00 20 */ b lbl_802A7358 -lbl_802A733C: -/* 802A733C 7C 00 30 40 */ cmplw r0, r6 -/* 802A7340 41 80 00 0C */ blt lbl_802A734C -/* 802A7344 38 A0 00 00 */ li r5, 0 -/* 802A7348 48 00 00 10 */ b lbl_802A7358 -lbl_802A734C: -/* 802A734C 54 00 10 3A */ slwi r0, r0, 2 -/* 802A7350 7C A5 02 14 */ add r5, r5, r0 -/* 802A7354 80 A5 00 04 */ lwz r5, 4(r5) -lbl_802A7358: -/* 802A7358 28 05 00 00 */ cmplwi r5, 0 -/* 802A735C 40 82 00 0C */ bne lbl_802A7368 -/* 802A7360 38 A0 00 00 */ li r5, 0 -/* 802A7364 48 00 00 0C */ b lbl_802A7370 -lbl_802A7368: -/* 802A7368 80 03 00 00 */ lwz r0, 0(r3) -/* 802A736C 7C A0 2A 14 */ add r5, r0, r5 -lbl_802A7370: -/* 802A7370 28 05 00 00 */ cmplwi r5, 0 -/* 802A7374 40 82 00 0C */ bne lbl_802A7380 -/* 802A7378 38 60 00 00 */ li r3, 0 -/* 802A737C 4E 80 00 20 */ blr -lbl_802A7380: -/* 802A7380 A0 84 00 02 */ lhz r4, 2(r4) -/* 802A7384 2C 04 00 00 */ cmpwi r4, 0 -/* 802A7388 40 80 00 0C */ bge lbl_802A7394 -/* 802A738C 38 80 00 00 */ li r4, 0 -/* 802A7390 48 00 00 28 */ b lbl_802A73B8 -lbl_802A7394: -/* 802A7394 80 05 00 00 */ lwz r0, 0(r5) -/* 802A7398 7C 04 00 40 */ cmplw r4, r0 -/* 802A739C 41 80 00 0C */ blt lbl_802A73A8 -/* 802A73A0 38 80 00 00 */ li r4, 0 -/* 802A73A4 48 00 00 14 */ b lbl_802A73B8 -lbl_802A73A8: -/* 802A73A8 54 84 10 3A */ slwi r4, r4, 2 -/* 802A73AC 38 04 00 08 */ addi r0, r4, 8 -/* 802A73B0 7C 05 00 2E */ lwzx r0, r5, r0 -/* 802A73B4 54 04 02 3E */ clrlwi r4, r0, 8 -lbl_802A73B8: -/* 802A73B8 28 04 00 00 */ cmplwi r4, 0 -/* 802A73BC 40 82 00 0C */ bne lbl_802A73C8 -/* 802A73C0 38 60 00 00 */ li r3, 0 -/* 802A73C4 4E 80 00 20 */ blr -lbl_802A73C8: -/* 802A73C8 80 03 00 00 */ lwz r0, 0(r3) -/* 802A73CC 7C 60 22 14 */ add r3, r0, r4 -/* 802A73D0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAUSoundTable/getTypeID__13JAUSoundTableCF10JAISoundID.s b/asm/JSystem/JAudio2/JAUSoundTable/getTypeID__13JAUSoundTableCF10JAISoundID.s deleted file mode 100644 index 4c1ae916a77..00000000000 --- a/asm/JSystem/JAudio2/JAUSoundTable/getTypeID__13JAUSoundTableCF10JAISoundID.s +++ /dev/null @@ -1,92 +0,0 @@ -lbl_802A7160: -/* 802A7160 80 A4 00 00 */ lwz r5, 0(r4) -/* 802A7164 3C 05 00 01 */ addis r0, r5, 1 -/* 802A7168 28 00 FF FF */ cmplwi r0, 0xffff -/* 802A716C 40 82 00 0C */ bne lbl_802A7178 -/* 802A7170 38 60 00 FF */ li r3, 0xff -/* 802A7174 4E 80 00 20 */ blr -lbl_802A7178: -/* 802A7178 88 A4 00 00 */ lbz r5, 0(r4) -/* 802A717C 2C 05 00 00 */ cmpwi r5, 0 -/* 802A7180 40 80 00 0C */ bge lbl_802A718C -/* 802A7184 38 A0 00 00 */ li r5, 0 -/* 802A7188 48 00 00 40 */ b lbl_802A71C8 -lbl_802A718C: -/* 802A718C 80 C3 00 04 */ lwz r6, 4(r3) -/* 802A7190 80 06 00 00 */ lwz r0, 0(r6) -/* 802A7194 7C 05 00 40 */ cmplw r5, r0 -/* 802A7198 41 80 00 0C */ blt lbl_802A71A4 -/* 802A719C 38 A0 00 00 */ li r5, 0 -/* 802A71A0 48 00 00 28 */ b lbl_802A71C8 -lbl_802A71A4: -/* 802A71A4 54 A0 10 3A */ slwi r0, r5, 2 -/* 802A71A8 7C A6 02 14 */ add r5, r6, r0 -/* 802A71AC 80 A5 00 04 */ lwz r5, 4(r5) -/* 802A71B0 28 05 00 00 */ cmplwi r5, 0 -/* 802A71B4 40 82 00 0C */ bne lbl_802A71C0 -/* 802A71B8 38 A0 00 00 */ li r5, 0 -/* 802A71BC 48 00 00 0C */ b lbl_802A71C8 -lbl_802A71C0: -/* 802A71C0 80 03 00 00 */ lwz r0, 0(r3) -/* 802A71C4 7C A0 2A 14 */ add r5, r0, r5 -lbl_802A71C8: -/* 802A71C8 28 05 00 00 */ cmplwi r5, 0 -/* 802A71CC 40 82 00 0C */ bne lbl_802A71D8 -/* 802A71D0 38 60 00 FF */ li r3, 0xff -/* 802A71D4 4E 80 00 20 */ blr -lbl_802A71D8: -/* 802A71D8 88 04 00 01 */ lbz r0, 1(r4) -/* 802A71DC 2C 00 00 00 */ cmpwi r0, 0 -/* 802A71E0 40 80 00 0C */ bge lbl_802A71EC -/* 802A71E4 38 60 00 00 */ li r3, 0 -/* 802A71E8 48 00 00 5C */ b lbl_802A7244 -lbl_802A71EC: -/* 802A71EC 80 C5 00 00 */ lwz r6, 0(r5) -/* 802A71F0 7C 00 30 40 */ cmplw r0, r6 -/* 802A71F4 41 80 00 0C */ blt lbl_802A7200 -/* 802A71F8 38 60 00 00 */ li r3, 0 -/* 802A71FC 48 00 00 48 */ b lbl_802A7244 -lbl_802A7200: -/* 802A7200 2C 00 00 00 */ cmpwi r0, 0 -/* 802A7204 40 80 00 0C */ bge lbl_802A7210 -/* 802A7208 38 A0 00 00 */ li r5, 0 -/* 802A720C 48 00 00 20 */ b lbl_802A722C -lbl_802A7210: -/* 802A7210 7C 00 30 40 */ cmplw r0, r6 -/* 802A7214 41 80 00 0C */ blt lbl_802A7220 -/* 802A7218 38 A0 00 00 */ li r5, 0 -/* 802A721C 48 00 00 10 */ b lbl_802A722C -lbl_802A7220: -/* 802A7220 54 00 10 3A */ slwi r0, r0, 2 -/* 802A7224 7C A5 02 14 */ add r5, r5, r0 -/* 802A7228 80 A5 00 04 */ lwz r5, 4(r5) -lbl_802A722C: -/* 802A722C 28 05 00 00 */ cmplwi r5, 0 -/* 802A7230 40 82 00 0C */ bne lbl_802A723C -/* 802A7234 38 60 00 00 */ li r3, 0 -/* 802A7238 48 00 00 0C */ b lbl_802A7244 -lbl_802A723C: -/* 802A723C 80 03 00 00 */ lwz r0, 0(r3) -/* 802A7240 7C 60 2A 14 */ add r3, r0, r5 -lbl_802A7244: -/* 802A7244 28 03 00 00 */ cmplwi r3, 0 -/* 802A7248 40 82 00 0C */ bne lbl_802A7254 -/* 802A724C 38 60 00 FF */ li r3, 0xff -/* 802A7250 4E 80 00 20 */ blr -lbl_802A7254: -/* 802A7254 A0 84 00 02 */ lhz r4, 2(r4) -/* 802A7258 2C 04 00 00 */ cmpwi r4, 0 -/* 802A725C 40 80 00 0C */ bge lbl_802A7268 -/* 802A7260 38 60 00 00 */ li r3, 0 -/* 802A7264 4E 80 00 20 */ blr -lbl_802A7268: -/* 802A7268 80 03 00 00 */ lwz r0, 0(r3) -/* 802A726C 7C 04 00 40 */ cmplw r4, r0 -/* 802A7270 41 80 00 0C */ blt lbl_802A727C -/* 802A7274 38 60 00 FF */ li r3, 0xff -/* 802A7278 4E 80 00 20 */ blr -lbl_802A727C: -/* 802A727C 54 80 10 3A */ slwi r0, r4, 2 -/* 802A7280 7C 63 02 14 */ add r3, r3, r0 -/* 802A7284 88 63 00 08 */ lbz r3, 8(r3) -/* 802A7288 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAUSoundTable/init__13JAUSoundTableFPCv.s b/asm/JSystem/JAudio2/JAUSoundTable/init__13JAUSoundTableFPCv.s deleted file mode 100644 index c95c966995f..00000000000 --- a/asm/JSystem/JAudio2/JAUSoundTable/init__13JAUSoundTableFPCv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_802A7114: -/* 802A7114 28 04 00 00 */ cmplwi r4, 0 -/* 802A7118 41 82 00 38 */ beq lbl_802A7150 -/* 802A711C 90 83 00 00 */ stw r4, 0(r3) -/* 802A7120 80 A3 00 00 */ lwz r5, 0(r3) -/* 802A7124 80 85 00 00 */ lwz r4, 0(r5) -/* 802A7128 3C 04 BD AD */ addis r0, r4, 0xbdad -/* 802A712C 28 00 54 20 */ cmplwi r0, 0x5420 -/* 802A7130 41 82 00 10 */ beq lbl_802A7140 -/* 802A7134 38 00 00 00 */ li r0, 0 -/* 802A7138 90 03 00 00 */ stw r0, 0(r3) -/* 802A713C 4E 80 00 20 */ blr -lbl_802A7140: -/* 802A7140 80 05 00 0C */ lwz r0, 0xc(r5) -/* 802A7144 7C 05 02 14 */ add r0, r5, r0 -/* 802A7148 90 03 00 04 */ stw r0, 4(r3) -/* 802A714C 4E 80 00 20 */ blr -lbl_802A7150: -/* 802A7150 38 00 00 00 */ li r0, 0 -/* 802A7154 90 03 00 00 */ stw r0, 0(r3) -/* 802A7158 90 03 00 04 */ stw r0, 4(r3) -/* 802A715C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAUSoundTable/init__17JAUSoundNameTableFPCv.s b/asm/JSystem/JAudio2/JAUSoundTable/init__17JAUSoundNameTableFPCv.s deleted file mode 100644 index 11f32c4ae38..00000000000 --- a/asm/JSystem/JAudio2/JAUSoundTable/init__17JAUSoundNameTableFPCv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_802A73D4: -/* 802A73D4 28 04 00 00 */ cmplwi r4, 0 -/* 802A73D8 41 82 00 38 */ beq lbl_802A7410 -/* 802A73DC 90 83 00 00 */ stw r4, 0(r3) -/* 802A73E0 80 A3 00 00 */ lwz r5, 0(r3) -/* 802A73E4 80 85 00 00 */ lwz r4, 0(r5) -/* 802A73E8 3C 04 BD AD */ addis r0, r4, 0xbdad -/* 802A73EC 28 00 54 4E */ cmplwi r0, 0x544e -/* 802A73F0 41 82 00 10 */ beq lbl_802A7400 -/* 802A73F4 38 00 00 00 */ li r0, 0 -/* 802A73F8 90 03 00 00 */ stw r0, 0(r3) -/* 802A73FC 4E 80 00 20 */ blr -lbl_802A7400: -/* 802A7400 80 05 00 0C */ lwz r0, 0xc(r5) -/* 802A7404 7C 05 02 14 */ add r0, r5, r0 -/* 802A7408 90 03 00 04 */ stw r0, 4(r3) -/* 802A740C 4E 80 00 20 */ blr -lbl_802A7410: -/* 802A7410 38 00 00 00 */ li r0, 0 -/* 802A7414 90 03 00 00 */ stw r0, 0(r3) -/* 802A7418 90 03 00 04 */ stw r0, 4(r3) -/* 802A741C 4E 80 00 20 */ blr diff --git a/include/JSystem/J3DGraphBase/J3DStruct.h b/include/JSystem/J3DGraphBase/J3DStruct.h index 9063658da94..2e2eef1b2b4 100644 --- a/include/JSystem/J3DGraphBase/J3DStruct.h +++ b/include/JSystem/J3DGraphBase/J3DStruct.h @@ -40,6 +40,24 @@ struct J3DTextureSRTInfo { /* 0x08 */ s16 mRotation; /* 0x0C */ f32 mTranslationX; /* 0x10 */ f32 mTranslationY; + + inline void operator=(J3DTextureSRTInfo const& other) { + register const f32* src = &other.mScaleX; + register f32* dst = &mScaleX; + register f32 xy; + asm { + psq_l xy, 0(src), 0, 0 + psq_st xy, 0(dst), 0, 0 + }; + // Unclear why there's a 4 byte copy here. + *(u32*)&mRotation = *(u32*)&other.mRotation; + src = &other.mTranslationX; + dst = &mTranslationX; + asm { + psq_l xy, 0(src), 0, 0 + psq_st xy, 0(dst), 0, 0 + }; + } }; // Size: 0x14 struct J3DTexMtxInfo { diff --git a/include/JSystem/JAudio2/JAISeqDataMgr.h b/include/JSystem/JAudio2/JAISeqDataMgr.h index 8ef945dee41..ed8ce8d14e2 100644 --- a/include/JSystem/JAudio2/JAISeqDataMgr.h +++ b/include/JSystem/JAudio2/JAISeqDataMgr.h @@ -9,6 +9,11 @@ struct JAISeqData { field_0x4 = param_1; } + void set(void* param_0, u32 param_1) { + field_0x0 = param_0; + field_0x4 = param_1; + } + /* 0x00 */ void* field_0x0; /* 0x04 */ u32 field_0x4; }; @@ -36,8 +41,9 @@ struct JAISeqDataUser { }; struct JAISeqDataMgr { + enum SeqDataReturnValue{ SeqDataReturnValue_0 = 0, SeqDataReturnValue_1 = 1, SeqDataReturnValue_2 = 2}; virtual ~JAISeqDataMgr(); - virtual s32 getSeqData(JAISoundID, JAISeqData*) = 0; + virtual SeqDataReturnValue getSeqData(JAISoundID, JAISeqData*) = 0; virtual int releaseSeqData() = 0; virtual bool setSeqDataUser(JAISeqDataUser*) = 0; }; diff --git a/include/JSystem/JAudio2/JAUSeqCollection.h b/include/JSystem/JAudio2/JAUSeqCollection.h index 837a4b83d19..61afc9ad6b9 100644 --- a/include/JSystem/JAudio2/JAUSeqCollection.h +++ b/include/JSystem/JAudio2/JAUSeqCollection.h @@ -6,18 +6,26 @@ class JAISeqData; class JAISeqDataRegion; +struct JAUSeqCollectionData { + s8 field_0x0; + s8 field_0x1; + u16 field_0x2; + u32 field_0x4; + u32 field_0x8; +}; + class JAUSeqCollection { public: /* 802A66A0 */ JAUSeqCollection(); /* 802A66AC */ void init(void const*); /* 802A66FC */ bool getSeqData(int, int, JAISeqData*); - /* 802A6754 */ void getSeqDataRegion(JAISeqDataRegion*); + /* 802A6754 */ bool getSeqDataRegion(JAISeqDataRegion*); bool isValid() { return field_0x8; } /* 0x00 */ u16 field_0x0; /* 0x04 */ const u32* field_0x4; - /* 0x08 */ const void* field_0x8; + /* 0x08 */ const JAUSeqCollectionData* field_0x8; /* 0x0C */ int field_0xc; }; @@ -26,7 +34,7 @@ public: /* 802A677C */ JAUSeqDataMgr_SeqCollection(); /* 802A67D0 */ bool setSeqDataUser(JAISeqDataUser*); /* 802A67DC */ int releaseSeqData(); - /* 802A683C */ s32 getSeqData(JAISoundID, JAISeqData*); + /* 802A683C */ SeqDataReturnValue getSeqData(JAISoundID, JAISeqData*); /* 802A6894 */ ~JAUSeqDataMgr_SeqCollection(); /* 0x14 */ JAISeqDataUser* user_; diff --git a/include/JSystem/JAudio2/JAUSoundTable.h b/include/JSystem/JAudio2/JAUSoundTable.h index 7f8b9f1243d..a91f7111185 100644 --- a/include/JSystem/JAudio2/JAUSoundTable.h +++ b/include/JSystem/JAudio2/JAUSoundTable.h @@ -4,31 +4,146 @@ #include "JSystem/JAudio2/JAISound.h" #include "JSystem/JAudio2/JASGadget.h" -class JAUSoundTable : public JASGlobalInstance { -public: - JAUSoundTable(bool param_0) : JASGlobalInstance(param_0) { +template +struct JAUSoundTable_ { + JAUSoundTable_() { field_0x0 = NULL; field_0x4 = 0; } + + void reset() { + field_0x0 = NULL; + field_0x4 = NULL; + } + + void init(const void* param_0) { + field_0x0 = param_0; + // magic number is not in debug rom. I'm not sure what this comparison is (maybe some sort of '' number?) + // I also do not know how it is different between JAUSoundTable and JAUSoundNameTable + if (*(u32*)field_0x0 + 0xbdad0000 != Root::magicNumber()) { + field_0x0 = NULL; + } else { + field_0x4 = (Root*)((u8*)field_0x0 + *((u32*)field_0x0 + 3)); + } + } + + Section* getSection(int index) const { + if (index < 0) { + return NULL; + } + if ((u32)index >= field_0x4->mSectionNumber) { + return NULL; + } + u32 offset = field_0x4->mSectionOffsets[index]; + if (offset == 0) { + return NULL; + } + return (Section*)((u8*)field_0x0 + offset); + } + + Group* getGroup(Section* param_1, int index) const { + int iVar1; + + if (index < 0) { + return NULL; + } + if ((u32)index >= param_1->mNumGroups) { + return NULL; + } + u32 offset = param_1->getGroupOffset(index); + if (offset == 0) { + return NULL; + } + return (Group*)((u8*)field_0x0 + offset); + } + + const void* field_0x0; + Root* field_0x4; + u32 field_0x8; + u32 field_0xc; +}; + +struct JAUSoundTableRoot { + static inline u32 magicNumber() { return 0x5420; } + u32 mSectionNumber; + u32 mSectionOffsets[0]; +}; +struct JAUSoundTableSection { + int getGroupOffset(int index) const { + if (index < 0) { + return 0; + } + if (index >= mNumGroups) { + return 0; + } + return mGroupOffsets[index]; + } + + u32 mNumGroups; + u32 mGroupOffsets[0]; +}; + +struct JAUSoundTableGroup { + u8 getTypeID(int index) const { + if (index < 0) { + return 0; + } + if (index >= mNumItems) { + return 0xff; + } + return mTypeIds[index * 4]; + } + + u32 getItemOffset(int index) const { + if (index < 0) { + return 0; + } + if (index >= mNumItems) { + return 0; + } + return *(u32*)(mTypeIds + index * 4) & 0xffffff; + } + + u32 mNumItems; + u32 field_0x4; + u8 mTypeIds[0]; +}; + +struct JAUSoundTable : public JASGlobalInstance { + JAUSoundTable(bool param_0) : JASGlobalInstance(param_0) { + } ~JAUSoundTable() {} + /* 802A7114 */ void init(void const*); /* 802A7160 */ u8 getTypeID(JAISoundID) const; - /* 802A728C */ void getData(JAISoundID) const; + /* 802A728C */ void* getData(JAISoundID) const; - void* field_0x0; - int field_0x4; + void* getItem(JAUSoundTableGroup* group, int index) const { + u32 offset = group->getItemOffset(index); + if (offset == 0) { + return NULL; + } + return (void*)((u8*)field_0x0.field_0x0 + offset); + } + + JAUSoundTable_ field_0x0; }; +struct JAUSoundNameTableRoot { + static inline u32 magicNumber() { return 0x544e; } + u32 mSectionNumber; + u32 mSectionOffsets[0]; +}; +struct JAUSoundNameTableSection {}; +struct JAUSoundNameTableGroup {}; + struct JAUSoundNameTable : public JASGlobalInstance { JAUSoundNameTable(bool param_0) : JASGlobalInstance(param_0) { - field_0x0 = NULL; - field_0x4 = 0; } ~JAUSoundNameTable() {} /* 802A73D4 */ void init(void const*); - void* field_0x0; - int field_0x4; + JAUSoundTable_ field_0x0; }; #endif /* JAUSOUNDTABLE_H */ diff --git a/libs/JSystem/J3DGraphBase/J3DStruct.cpp b/libs/JSystem/J3DGraphBase/J3DStruct.cpp index 63bfc37353a..1ea220f35e1 100644 --- a/libs/JSystem/J3DGraphBase/J3DStruct.cpp +++ b/libs/JSystem/J3DGraphBase/J3DStruct.cpp @@ -19,8 +19,6 @@ void J3DLightInfo::operator=(J3DLightInfo const& param_0) { } /* 80325718-80325794 320058 007C+00 0/0 4/4 0/0 .text __as__13J3DTexMtxInfoFRC13J3DTexMtxInfo */ -// J3DTextureSRTInfo::operator= -#ifdef NONMATCHING void J3DTexMtxInfo::operator=(J3DTexMtxInfo const& param_0) { mProjection = param_0.mProjection; mInfo = param_0.mInfo; @@ -28,16 +26,6 @@ void J3DTexMtxInfo::operator=(J3DTexMtxInfo const& param_0) { mSRT = param_0.mSRT; JMath::gekko_ps_copy16(&mEffectMtx, ¶m_0.mEffectMtx); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DTexMtxInfo::operator=(J3DTexMtxInfo const& param_0) { - nofralloc -#include "asm/JSystem/J3DGraphBase/J3DStruct/__as__13J3DTexMtxInfoFRC13J3DTexMtxInfo.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 80456410-80456414 004A10 0004+00 1/1 0/0 0/0 .sdata2 @409 */ diff --git a/libs/JSystem/JAudio2/JASVoiceBank.cpp b/libs/JSystem/JAudio2/JASVoiceBank.cpp index 87732ed6d1c..88a77072e05 100644 --- a/libs/JSystem/JAudio2/JASVoiceBank.cpp +++ b/libs/JSystem/JAudio2/JASVoiceBank.cpp @@ -5,7 +5,6 @@ #include "JSystem/JAudio2/JASVoiceBank.h" #include "JSystem/JAudio2/JASBasicInst.h" -#include "dol2asm.h" // // Declarations: diff --git a/libs/JSystem/JAudio2/JAUSeqCollection.cpp b/libs/JSystem/JAudio2/JAUSeqCollection.cpp index 72b6b66cf53..e07a6b88e2e 100644 --- a/libs/JSystem/JAudio2/JAUSeqCollection.cpp +++ b/libs/JSystem/JAudio2/JAUSeqCollection.cpp @@ -5,7 +5,6 @@ #include "JSystem/JAudio2/JAUSeqCollection.h" #include "JSystem/JUtility/JUTAssert.h" -#include "dol2asm.h" // // Types: @@ -15,8 +14,6 @@ // Forward References: // -extern "C" void getSeqData__16JAUSeqCollectionFiiP10JAISeqData(); - // // External References: // @@ -31,36 +28,43 @@ JAUSeqCollection::JAUSeqCollection() { } /* 802A66AC-802A66FC 2A0FEC 0050+00 0/0 1/1 0/0 .text init__16JAUSeqCollectionFPCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAUSeqCollection::init(void const* param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JAUSeqCollection/init__16JAUSeqCollectionFPCv.s" +void JAUSeqCollection::init(void const* param_0) { + field_0x8 = (const JAUSeqCollectionData*)param_0; + if (field_0x8->field_0x0 != 0x53 || field_0x8->field_0x1 != 0x43) { + field_0x8 = NULL; + return; + } + + field_0x0 = field_0x8->field_0x2; + field_0xc = field_0x8->field_0x4; + field_0x4 = &field_0x8->field_0x8; + } -#pragma pop /* 802A66FC-802A6754 2A103C 0058+00 1/1 0/0 0/0 .text * getSeqData__16JAUSeqCollectionFiiP10JAISeqData */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JAUSeqCollection::getSeqData(int param_0, int param_1, JAISeqData* param_2) { - nofralloc -#include "asm/JSystem/JAudio2/JAUSeqCollection/getSeqData__16JAUSeqCollectionFiiP10JAISeqData.s" +bool JAUSeqCollection::getSeqData(int param_0, int param_1, JAISeqData* param_2) { + if (param_0 >= field_0x0) { + return false; + } + u32* puVar2 = (u32*)((u8*)field_0x8 + field_0x4[param_0]); + if (param_1 >= puVar2[0]) { + return false; + } + param_2->set((void*)field_0x8, puVar2[param_1 + 1]); + return true; } -#pragma pop /* 802A6754-802A677C 2A1094 0028+00 1/1 0/0 0/0 .text * getSeqDataRegion__16JAUSeqCollectionFP16JAISeqDataRegion */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAUSeqCollection::getSeqDataRegion(JAISeqDataRegion* param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JAUSeqCollection/getSeqDataRegion__16JAUSeqCollectionFP16JAISeqDataRegion.s" +bool JAUSeqCollection::getSeqDataRegion(JAISeqDataRegion* param_0) { + if (isValid()) { + param_0->field_0x0 = (u32)field_0x8; + param_0->field_0x4 = field_0xc; + return true; + } + return false; } -#pragma pop /* 802A677C-802A67D0 2A10BC 0054+00 0/0 1/1 0/0 .text __ct__27JAUSeqDataMgr_SeqCollectionFv */ JAUSeqDataMgr_SeqCollection::JAUSeqDataMgr_SeqCollection() { @@ -88,27 +92,15 @@ int JAUSeqDataMgr_SeqCollection::releaseSeqData() { /* 802A683C-802A6894 2A117C 0058+00 1/0 0/0 0/0 .text * getSeqData__27JAUSeqDataMgr_SeqCollectionF10JAISoundIDP10JAISeqData */ -// branch -#ifdef NONMATCHING -s32 JAUSeqDataMgr_SeqCollection::getSeqData(JAISoundID param_0, JAISeqData* param_1) { +JAUSeqDataMgr_SeqCollection::SeqDataReturnValue JAUSeqDataMgr_SeqCollection::getSeqData(JAISoundID param_0, JAISeqData* param_1) { if (!isValid()) { - return 0; + return SeqDataReturnValue_0; } if (JAUSeqCollection::getSeqData(param_0.mId.mBytes.b1, param_0.mId.mAdvancedId.mShortId, param_1)) { - return 2; + return SeqDataReturnValue_2; } - return 0; + return SeqDataReturnValue_0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 JAUSeqDataMgr_SeqCollection::getSeqData(JAISoundID param_0, JAISeqData* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JAUSeqCollection/getSeqData__27JAUSeqDataMgr_SeqCollectionF10JAISoundIDP10JAISeqData.s" -} -#pragma pop -#endif /* 802A6894-802A68F4 2A11D4 0060+00 1/0 0/0 0/0 .text __dt__27JAUSeqDataMgr_SeqCollectionFv */ JAUSeqDataMgr_SeqCollection::~JAUSeqDataMgr_SeqCollection() {} \ No newline at end of file diff --git a/libs/JSystem/JAudio2/JAUSoundTable.cpp b/libs/JSystem/JAudio2/JAUSoundTable.cpp index 840f6946dc0..d18231f750c 100644 --- a/libs/JSystem/JAudio2/JAUSoundTable.cpp +++ b/libs/JSystem/JAudio2/JAUSoundTable.cpp @@ -6,60 +6,53 @@ #include "JSystem/JAudio2/JAUSoundTable.h" #include "dolphin/types.h" -// -// Forward References: -// - -extern "C" void init__13JAUSoundTableFPCv(); -extern "C" void getTypeID__13JAUSoundTableCF10JAISoundID(); -extern "C" void getData__13JAUSoundTableCF10JAISoundID(); -extern "C" void init__17JAUSoundNameTableFPCv(); - -// -// External References: -// - -// -// Declarations: -// - /* 802A7114-802A7160 2A1A54 004C+00 0/0 1/1 0/0 .text init__13JAUSoundTableFPCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAUSoundTable::init(void const* param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JAUSoundTable/init__13JAUSoundTableFPCv.s" +void JAUSoundTable::init(void const* param_0) { + if (param_0 != NULL) { + field_0x0.init(param_0); + } else { + field_0x0.reset(); + } } -#pragma pop /* 802A7160-802A728C 2A1AA0 012C+00 0/0 10/10 0/0 .text getTypeID__13JAUSoundTableCF10JAISoundID */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u8 JAUSoundTable::getTypeID(JAISoundID param_0) const { - nofralloc -#include "asm/JSystem/JAudio2/JAUSoundTable/getTypeID__13JAUSoundTableCF10JAISoundID.s" +u8 JAUSoundTable::getTypeID(JAISoundID param_0) const { + if (param_0.isAnonymous()) { + return 0xff; + } + JAUSoundTableSection* section = field_0x0.getSection(param_0.mId.mBytes.b0); + if (section == NULL) { + return 0xff; + } + JAUSoundTableGroup* group = field_0x0.getGroup(section, param_0.mId.mBytes.b1); + if (group == NULL) { + return 0xff; + } + return group->getTypeID(param_0.mId.mAdvancedId.mShortId); } -#pragma pop /* 802A728C-802A73D4 2A1BCC 0148+00 0/0 7/7 0/0 .text getData__13JAUSoundTableCF10JAISoundID */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAUSoundTable::getData(JAISoundID param_0) const { - nofralloc -#include "asm/JSystem/JAudio2/JAUSoundTable/getData__13JAUSoundTableCF10JAISoundID.s" +void* JAUSoundTable::getData(JAISoundID param_0) const { + if (param_0.isAnonymous()) { + return NULL; + } + JAUSoundTableSection* section = field_0x0.getSection(param_0.mId.mBytes.b0); + if (section == NULL) { + return NULL; + } + JAUSoundTableGroup* group = field_0x0.getGroup(section, param_0.mId.mBytes.b1); + if (group == NULL) { + return NULL; + } + return getItem(group, param_0.mId.mAdvancedId.mShortId); } -#pragma pop /* 802A73D4-802A7420 2A1D14 004C+00 0/0 1/1 0/0 .text init__17JAUSoundNameTableFPCv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAUSoundNameTable::init(void const* param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JAUSoundTable/init__17JAUSoundNameTableFPCv.s" +void JAUSoundNameTable::init(void const* param_0) { + if (param_0 != NULL) { + field_0x0.init(param_0); + } else { + field_0x0.reset(); + } } -#pragma pop