diff --git a/asm/JSystem/JAudio2/JAISeq/JAISeqMgr_calc___6JAISeqFv.s b/asm/JSystem/JAudio2/JAISeq/JAISeqMgr_calc___6JAISeqFv.s deleted file mode 100644 index b75b66f3790..00000000000 --- a/asm/JSystem/JAudio2/JAISeq/JAISeqMgr_calc___6JAISeqFv.s +++ /dev/null @@ -1,69 +0,0 @@ -lbl_802A108C: -/* 802A108C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A1090 7C 08 02 A6 */ mflr r0 -/* 802A1094 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A1098 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A109C 48 0C 11 41 */ bl _savegpr_29 -/* 802A10A0 7C 7D 1B 78 */ mr r29, r3 -/* 802A10A4 88 03 02 BD */ lbz r0, 0x2bd(r3) -/* 802A10A8 28 00 00 02 */ cmplwi r0, 2 -/* 802A10AC 41 82 00 1C */ beq lbl_802A10C8 -/* 802A10B0 88 1D 02 BD */ lbz r0, 0x2bd(r29) -/* 802A10B4 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 802A10B8 40 82 00 1C */ bne lbl_802A10D4 -/* 802A10BC 88 1D 00 1E */ lbz r0, 0x1e(r29) -/* 802A10C0 28 00 00 02 */ cmplwi r0, 2 -/* 802A10C4 40 82 00 10 */ bne lbl_802A10D4 -lbl_802A10C8: -/* 802A10C8 7F A3 EB 78 */ mr r3, r29 -/* 802A10CC 48 00 00 B5 */ bl die___6JAISeqFv -/* 802A10D0 48 00 00 98 */ b lbl_802A1168 -lbl_802A10D4: -/* 802A10D4 7F A3 EB 78 */ mr r3, r29 -/* 802A10D8 48 00 15 E1 */ bl calc_JAISound___8JAISoundFv -/* 802A10DC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A10E0 41 82 00 88 */ beq lbl_802A1168 -/* 802A10E4 C0 3D 03 70 */ lfs f1, 0x370(r29) -/* 802A10E8 80 7D 03 7C */ lwz r3, 0x37c(r29) -/* 802A10EC 28 03 00 01 */ cmplwi r3, 1 -/* 802A10F0 40 81 00 18 */ ble lbl_802A1108 -/* 802A10F4 38 03 FF FF */ addi r0, r3, -1 -/* 802A10F8 90 1D 03 7C */ stw r0, 0x37c(r29) -/* 802A10FC C0 1D 03 74 */ lfs f0, 0x374(r29) -/* 802A1100 EC 21 00 2A */ fadds f1, f1, f0 -/* 802A1104 48 00 00 14 */ b lbl_802A1118 -lbl_802A1108: -/* 802A1108 40 82 00 10 */ bne lbl_802A1118 -/* 802A110C 38 00 00 00 */ li r0, 0 -/* 802A1110 90 1D 03 7C */ stw r0, 0x37c(r29) -/* 802A1114 C0 3D 03 78 */ lfs f1, 0x378(r29) -lbl_802A1118: -/* 802A1118 D0 3D 03 70 */ stfs f1, 0x370(r29) -/* 802A111C 3B C0 00 00 */ li r30, 0 -/* 802A1120 3B E0 00 00 */ li r31, 0 -lbl_802A1124: -/* 802A1124 38 1F 02 F0 */ addi r0, r31, 0x2f0 -/* 802A1128 7C 7D 00 2E */ lwzx r3, r29, r0 -/* 802A112C 28 03 00 00 */ cmplwi r3, 0 -/* 802A1130 41 82 00 08 */ beq lbl_802A1138 -/* 802A1134 48 00 1A 49 */ bl calc__13JAISoundChildFv -lbl_802A1138: -/* 802A1138 3B DE 00 01 */ addi r30, r30, 1 -/* 802A113C 2C 1E 00 20 */ cmpwi r30, 0x20 -/* 802A1140 3B FF 00 04 */ addi r31, r31, 4 -/* 802A1144 41 80 FF E0 */ blt lbl_802A1124 -/* 802A1148 80 7D 03 A8 */ lwz r3, 0x3a8(r29) -/* 802A114C 28 03 00 00 */ cmplwi r3, 0 -/* 802A1150 41 82 00 18 */ beq lbl_802A1168 -/* 802A1154 7F A4 EB 78 */ mr r4, r29 -/* 802A1158 81 83 00 00 */ lwz r12, 0(r3) -/* 802A115C 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802A1160 7D 89 03 A6 */ mtctr r12 -/* 802A1164 4E 80 04 21 */ bctrl -lbl_802A1168: -/* 802A1168 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A116C 48 0C 10 BD */ bl _restgpr_29 -/* 802A1170 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A1174 7C 08 03 A6 */ mtlr r0 -/* 802A1178 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A117C 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/MakeNodeTreeGrpRp__4cBgWFi.s b/asm/d/bg/d_bg_w/MakeNodeTreeGrpRp__4cBgWFi.s deleted file mode 100644 index 927bf748fd7..00000000000 --- a/asm/d/bg/d_bg_w/MakeNodeTreeGrpRp__4cBgWFi.s +++ /dev/null @@ -1,79 +0,0 @@ -lbl_80079CC4: -/* 80079CC4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80079CC8 7C 08 02 A6 */ mflr r0 -/* 80079CCC 90 01 00 24 */ stw r0, 0x24(r1) -/* 80079CD0 39 61 00 20 */ addi r11, r1, 0x20 -/* 80079CD4 48 2E 85 05 */ bl _savegpr_28 -/* 80079CD8 7C 7D 1B 78 */ mr r29, r3 -/* 80079CDC 7C 9E 23 78 */ mr r30, r4 -/* 80079CE0 80 83 00 A0 */ lwz r4, 0xa0(r3) -/* 80079CE4 80 04 00 24 */ lwz r0, 0x24(r4) -/* 80079CE8 1F FE 00 34 */ mulli r31, r30, 0x34 -/* 80079CEC 7C 80 FA 14 */ add r4, r0, r31 -/* 80079CF0 A0 84 00 2E */ lhz r4, 0x2e(r4) -/* 80079CF4 28 04 FF FF */ cmplwi r4, 0xffff -/* 80079CF8 41 82 00 68 */ beq lbl_80079D60 -/* 80079CFC 4B FF FE E1 */ bl MakeNodeTreeRp__4cBgWFi -/* 80079D00 80 9D 00 AC */ lwz r4, 0xac(r29) -/* 80079D04 80 7D 00 A0 */ lwz r3, 0xa0(r29) -/* 80079D08 80 03 00 24 */ lwz r0, 0x24(r3) -/* 80079D0C 7C 60 FA 14 */ add r3, r0, r31 -/* 80079D10 A0 03 00 2E */ lhz r0, 0x2e(r3) -/* 80079D14 1C 00 00 1C */ mulli r0, r0, 0x1c -/* 80079D18 7C 84 02 14 */ add r4, r4, r0 -/* 80079D1C 80 1D 00 A8 */ lwz r0, 0xa8(r29) -/* 80079D20 57 DC 28 34 */ slwi r28, r30, 5 -/* 80079D24 38 7C 00 04 */ addi r3, r28, 4 -/* 80079D28 7C 60 1A 14 */ add r3, r0, r3 -/* 80079D2C 48 1F 50 79 */ bl SetMin__8cM3dGAabFRC4cXyz -/* 80079D30 80 BD 00 AC */ lwz r5, 0xac(r29) -/* 80079D34 80 7D 00 A0 */ lwz r3, 0xa0(r29) -/* 80079D38 80 03 00 24 */ lwz r0, 0x24(r3) -/* 80079D3C 7C 60 FA 14 */ add r3, r0, r31 -/* 80079D40 A0 03 00 2E */ lhz r0, 0x2e(r3) -/* 80079D44 1C 60 00 1C */ mulli r3, r0, 0x1c -/* 80079D48 38 83 00 0C */ addi r4, r3, 0xc -/* 80079D4C 7C 85 22 14 */ add r4, r5, r4 -/* 80079D50 80 1D 00 A8 */ lwz r0, 0xa8(r29) -/* 80079D54 38 7C 00 04 */ addi r3, r28, 4 -/* 80079D58 7C 60 1A 14 */ add r3, r0, r3 -/* 80079D5C 48 1F 50 89 */ bl SetMax__8cM3dGAabFRC4cXyz -lbl_80079D60: -/* 80079D60 80 7D 00 A0 */ lwz r3, 0xa0(r29) -/* 80079D64 80 03 00 24 */ lwz r0, 0x24(r3) -/* 80079D68 7C 60 FA 14 */ add r3, r0, r31 -/* 80079D6C A3 E3 00 28 */ lhz r31, 0x28(r3) -/* 80079D70 57 DE 28 34 */ slwi r30, r30, 5 -lbl_80079D74: -/* 80079D74 3C 1F 00 00 */ addis r0, r31, 0 -/* 80079D78 28 00 FF FF */ cmplwi r0, 0xffff -/* 80079D7C 41 82 00 5C */ beq lbl_80079DD8 -/* 80079D80 7F A3 EB 78 */ mr r3, r29 -/* 80079D84 7F E4 FB 78 */ mr r4, r31 -/* 80079D88 4B FF FF 3D */ bl MakeNodeTreeGrpRp__4cBgWFi -/* 80079D8C 80 1D 00 A8 */ lwz r0, 0xa8(r29) -/* 80079D90 57 FC 28 34 */ slwi r28, r31, 5 -/* 80079D94 38 9C 00 04 */ addi r4, r28, 4 -/* 80079D98 7C 80 22 14 */ add r4, r0, r4 -/* 80079D9C 38 7E 00 04 */ addi r3, r30, 4 -/* 80079DA0 7C 60 1A 14 */ add r3, r0, r3 -/* 80079DA4 48 1F 50 01 */ bl SetMin__8cM3dGAabFRC4cXyz -/* 80079DA8 80 1D 00 A8 */ lwz r0, 0xa8(r29) -/* 80079DAC 38 9C 00 10 */ addi r4, r28, 0x10 -/* 80079DB0 7C 80 22 14 */ add r4, r0, r4 -/* 80079DB4 38 7E 00 04 */ addi r3, r30, 4 -/* 80079DB8 7C 60 1A 14 */ add r3, r0, r3 -/* 80079DBC 48 1F 50 29 */ bl SetMax__8cM3dGAabFRC4cXyz -/* 80079DC0 80 7D 00 A0 */ lwz r3, 0xa0(r29) -/* 80079DC4 80 83 00 24 */ lwz r4, 0x24(r3) -/* 80079DC8 1C 7F 00 34 */ mulli r3, r31, 0x34 -/* 80079DCC 38 03 00 26 */ addi r0, r3, 0x26 -/* 80079DD0 7F E4 02 2E */ lhzx r31, r4, r0 -/* 80079DD4 4B FF FF A0 */ b lbl_80079D74 -lbl_80079DD8: -/* 80079DD8 39 61 00 20 */ addi r11, r1, 0x20 -/* 80079DDC 48 2E 84 49 */ bl _restgpr_28 -/* 80079DE0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80079DE4 7C 08 03 A6 */ mtlr r0 -/* 80079DE8 38 21 00 20 */ addi r1, r1, 0x20 -/* 80079DEC 4E 80 00 20 */ blr diff --git a/asm/d/bg/d_bg_w/MakeNodeTree__4cBgWFv.s b/asm/d/bg/d_bg_w/MakeNodeTree__4cBgWFv.s deleted file mode 100644 index fb813da014e..00000000000 --- a/asm/d/bg/d_bg_w/MakeNodeTree__4cBgWFv.s +++ /dev/null @@ -1,72 +0,0 @@ -lbl_80079DF0: -/* 80079DF0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80079DF4 7C 08 02 A6 */ mflr r0 -/* 80079DF8 90 01 00 24 */ stw r0, 0x24(r1) -/* 80079DFC 39 61 00 20 */ addi r11, r1, 0x20 -/* 80079E00 48 2E 83 DD */ bl _savegpr_29 -/* 80079E04 7C 7F 1B 78 */ mr r31, r3 -/* 80079E08 80 03 00 9C */ lwz r0, 0x9c(r3) -/* 80079E0C 28 00 00 00 */ cmplwi r0, 0 -/* 80079E10 40 82 00 4C */ bne lbl_80079E5C -/* 80079E14 38 C0 00 00 */ li r6, 0 -/* 80079E18 38 60 00 00 */ li r3, 0 -/* 80079E1C 80 BF 00 A0 */ lwz r5, 0xa0(r31) -/* 80079E20 80 05 00 20 */ lwz r0, 0x20(r5) -/* 80079E24 7C 09 03 A6 */ mtctr r0 -/* 80079E28 2C 00 00 00 */ cmpwi r0, 0 -/* 80079E2C 40 81 00 A8 */ ble lbl_80079ED4 -lbl_80079E30: -/* 80079E30 80 85 00 24 */ lwz r4, 0x24(r5) -/* 80079E34 38 03 00 24 */ addi r0, r3, 0x24 -/* 80079E38 7C 04 02 2E */ lhzx r0, r4, r0 -/* 80079E3C 28 00 FF FF */ cmplwi r0, 0xffff -/* 80079E40 40 82 00 0C */ bne lbl_80079E4C -/* 80079E44 B0 DF 00 92 */ sth r6, 0x92(r31) -/* 80079E48 48 00 00 8C */ b lbl_80079ED4 -lbl_80079E4C: -/* 80079E4C 38 C6 00 01 */ addi r6, r6, 1 -/* 80079E50 38 63 00 34 */ addi r3, r3, 0x34 -/* 80079E54 42 00 FF DC */ bdnz lbl_80079E30 -/* 80079E58 48 00 00 7C */ b lbl_80079ED4 -lbl_80079E5C: -/* 80079E5C 3B A0 00 00 */ li r29, 0 -/* 80079E60 3B C0 00 00 */ li r30, 0 -/* 80079E64 48 00 00 1C */ b lbl_80079E80 -lbl_80079E68: -/* 80079E68 80 1F 00 A8 */ lwz r0, 0xa8(r31) -/* 80079E6C 38 7E 00 04 */ addi r3, r30, 4 -/* 80079E70 7C 60 1A 14 */ add r3, r0, r3 -/* 80079E74 48 1F 4E 85 */ bl ClearForMinMax__8cM3dGAabFv -/* 80079E78 3B BD 00 01 */ addi r29, r29, 1 -/* 80079E7C 3B DE 00 20 */ addi r30, r30, 0x20 -lbl_80079E80: -/* 80079E80 80 DF 00 A0 */ lwz r6, 0xa0(r31) -/* 80079E84 80 06 00 20 */ lwz r0, 0x20(r6) -/* 80079E88 7C 1D 00 00 */ cmpw r29, r0 -/* 80079E8C 41 80 FF DC */ blt lbl_80079E68 -/* 80079E90 38 80 00 00 */ li r4, 0 -/* 80079E94 38 60 00 00 */ li r3, 0 -/* 80079E98 7C 09 03 A6 */ mtctr r0 -/* 80079E9C 2C 00 00 00 */ cmpwi r0, 0 -/* 80079EA0 40 81 00 34 */ ble lbl_80079ED4 -lbl_80079EA4: -/* 80079EA4 80 A6 00 24 */ lwz r5, 0x24(r6) -/* 80079EA8 38 03 00 24 */ addi r0, r3, 0x24 -/* 80079EAC 7C 05 02 2E */ lhzx r0, r5, r0 -/* 80079EB0 28 00 FF FF */ cmplwi r0, 0xffff -/* 80079EB4 40 82 00 14 */ bne lbl_80079EC8 -/* 80079EB8 B0 9F 00 92 */ sth r4, 0x92(r31) -/* 80079EBC 7F E3 FB 78 */ mr r3, r31 -/* 80079EC0 4B FF FE 05 */ bl MakeNodeTreeGrpRp__4cBgWFi -/* 80079EC4 48 00 00 10 */ b lbl_80079ED4 -lbl_80079EC8: -/* 80079EC8 38 84 00 01 */ addi r4, r4, 1 -/* 80079ECC 38 63 00 34 */ addi r3, r3, 0x34 -/* 80079ED0 42 00 FF D4 */ bdnz lbl_80079EA4 -lbl_80079ED4: -/* 80079ED4 39 61 00 20 */ addi r11, r1, 0x20 -/* 80079ED8 48 2E 83 51 */ bl _restgpr_29 -/* 80079EDC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80079EE0 7C 08 03 A6 */ mtlr r0 -/* 80079EE4 38 21 00 20 */ addi r1, r1, 0x20 -/* 80079EE8 4E 80 00 20 */ blr diff --git a/asm/d/d_kyeff/dKyeff_Create__FP12kankyo_class.s b/asm/d/d_kyeff/dKyeff_Create__FP12kankyo_class.s deleted file mode 100644 index 66f5bf3476f..00000000000 --- a/asm/d/d_kyeff/dKyeff_Create__FP12kankyo_class.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_801ADE00: -/* 801ADE00 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 801ADE04 7C 08 02 A6 */ mflr r0 -/* 801ADE08 90 01 00 44 */ stw r0, 0x44(r1) -/* 801ADE0C 4B EA 96 D5 */ bl dKyw_wether_init__Fv -/* 801ADE10 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 801ADE14 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 801ADE18 38 63 4E 00 */ addi r3, r3, 0x4e00 -/* 801ADE1C 3C 80 80 39 */ lis r4, d_d_kyeff__stringBase0@ha /* 0x80394F38@ha */ -/* 801ADE20 38 84 4F 38 */ addi r4, r4, d_d_kyeff__stringBase0@l /* 0x80394F38@l */ -/* 801ADE24 48 1B AB 71 */ bl strcmp -/* 801ADE28 2C 03 00 00 */ cmpwi r3, 0 -/* 801ADE2C 40 82 00 60 */ bne lbl_801ADE8C -/* 801ADE30 48 19 48 CD */ bl OSGetTime -/* 801ADE34 38 A1 00 08 */ addi r5, r1, 8 -/* 801ADE38 48 19 4B 3D */ bl OSTicksToCalendarTime -/* 801ADE3C C0 02 A4 5C */ lfs f0, lit_3805(r2) -/* 801ADE40 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 801ADE44 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 801ADE48 D0 03 0E 48 */ stfs f0, 0xe48(r3) -/* 801ADE4C C0 02 A4 58 */ lfs f0, lit_3804(r2) -/* 801ADE50 D0 03 0E 4C */ stfs f0, 0xe4c(r3) -/* 801ADE54 D0 03 0E 50 */ stfs f0, 0xe50(r3) -/* 801ADE58 C0 02 A4 68 */ lfs f0, lit_3843(r2) -/* 801ADE5C D0 03 0E 58 */ stfs f0, 0xe58(r3) -/* 801ADE60 C0 42 A4 6C */ lfs f2, lit_3844(r2) -/* 801ADE64 80 01 00 10 */ lwz r0, 0x10(r1) -/* 801ADE68 C8 22 A4 60 */ lfd f1, lit_3812(r2) -/* 801ADE6C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 801ADE70 90 01 00 34 */ stw r0, 0x34(r1) -/* 801ADE74 3C 00 43 30 */ lis r0, 0x4330 -/* 801ADE78 90 01 00 30 */ stw r0, 0x30(r1) -/* 801ADE7C C8 01 00 30 */ lfd f0, 0x30(r1) -/* 801ADE80 EC 00 08 28 */ fsubs f0, f0, f1 -/* 801ADE84 EC 02 00 32 */ fmuls f0, f2, f0 -/* 801ADE88 D0 03 12 44 */ stfs f0, 0x1244(r3) -lbl_801ADE8C: -/* 801ADE8C 38 60 00 04 */ li r3, 4 -/* 801ADE90 80 01 00 44 */ lwz r0, 0x44(r1) -/* 801ADE94 7C 08 03 A6 */ mtlr r0 -/* 801ADE98 38 21 00 40 */ addi r1, r1, 0x40 -/* 801ADE9C 4E 80 00 20 */ blr diff --git a/asm/d/d_model/entry__10dMdl_mng_cFP12J3DModelDataUsi.s b/asm/d/d_model/entry__10dMdl_mng_cFP12J3DModelDataUsi.s deleted file mode 100644 index 1970e4f74cc..00000000000 --- a/asm/d/d_model/entry__10dMdl_mng_cFP12J3DModelDataUsi.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_8009C8D8: -/* 8009C8D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8009C8DC 7C 08 02 A6 */ mflr r0 -/* 8009C8E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 8009C8E4 7C 68 1B 78 */ mr r8, r3 -/* 8009C8E8 7C 87 23 78 */ mr r7, r4 -/* 8009C8EC 80 6D 8A 20 */ lwz r3, m_myObj__10dMdl_mng_c(r13) -/* 8009C8F0 28 03 00 00 */ cmplwi r3, 0 -/* 8009C8F4 40 82 00 0C */ bne lbl_8009C900 -/* 8009C8F8 38 60 00 00 */ li r3, 0 -/* 8009C8FC 48 00 00 24 */ b lbl_8009C920 -lbl_8009C900: -/* 8009C900 1C A5 04 04 */ mulli r5, r5, 0x404 -/* 8009C904 3C 80 80 3F */ lis r4, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */ -/* 8009C908 38 04 60 94 */ addi r0, r4, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */ -/* 8009C90C 7C 80 2A 14 */ add r4, r0, r5 -/* 8009C910 38 C4 00 6C */ addi r6, r4, 0x6c -/* 8009C914 7D 04 43 78 */ mr r4, r8 -/* 8009C918 7C E5 3B 78 */ mr r5, r7 -/* 8009C91C 4B FF FE 09 */ bl entry__10dMdl_mng_cFP12J3DModelDataUsP12dKy_tevstr_c -lbl_8009C920: -/* 8009C920 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8009C924 7C 08 03 A6 */ mtlr r0 -/* 8009C928 38 21 00 10 */ addi r1, r1, 0x10 -/* 8009C92C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate/CreateHeap__13daLv4PoGate_cFv.s b/asm/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate/CreateHeap__13daLv4PoGate_cFv.s deleted file mode 100644 index e5746f829ec..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate/CreateHeap__13daLv4PoGate_cFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_80C5FD40: -/* 80C5FD40 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80C5FD44 7C 08 02 A6 */ mflr r0 -/* 80C5FD48 90 01 00 14 */ stw r0, 0x14(r1) -/* 80C5FD4C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80C5FD50 7C 7F 1B 78 */ mr r31, r3 -/* 80C5FD54 3C 60 80 C6 */ lis r3, d_a_obj_lv4PoGate__stringBase0@ha /* 0x80C60848@ha */ -/* 80C5FD58 38 63 08 48 */ addi r3, r3, d_a_obj_lv4PoGate__stringBase0@l /* 0x80C60848@l */ -/* 80C5FD5C 38 80 00 04 */ li r4, 4 -/* 80C5FD60 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80C5FD64 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80C5FD68 3C A5 00 02 */ addis r5, r5, 2 -/* 80C5FD6C 38 C0 00 80 */ li r6, 0x80 -/* 80C5FD70 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80C5FD74 4B 3D C5 79 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80C5FD78 3C 80 00 08 */ lis r4, 8 -/* 80C5FD7C 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */ -/* 80C5FD80 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */ -/* 80C5FD84 4B 3B 4E D1 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl -/* 80C5FD88 90 7F 05 A8 */ stw r3, 0x5a8(r31) -/* 80C5FD8C 80 7F 05 A8 */ lwz r3, 0x5a8(r31) -/* 80C5FD90 30 03 FF FF */ addic r0, r3, -1 -/* 80C5FD94 7C 60 19 10 */ subfe r3, r0, r3 -/* 80C5FD98 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80C5FD9C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80C5FDA0 7C 08 03 A6 */ mtlr r0 -/* 80C5FDA4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80C5FDA8 4E 80 00 20 */ blr diff --git a/include/JSystem/JAudio2/JASHeapCtrl.h b/include/JSystem/JAudio2/JASHeapCtrl.h index 2d697066f28..581135682f3 100644 --- a/include/JSystem/JAudio2/JASHeapCtrl.h +++ b/include/JSystem/JAudio2/JASHeapCtrl.h @@ -114,6 +114,10 @@ public: memPool_->free(ptr, n); } + static void newMemPool(int n) { + getMemPool()->newMemPool(n); + } + private: static JASMemPool_MultiThreaded* getMemPool() { static JASMemPool_MultiThreaded memPool_; diff --git a/include/JSystem/JAudio2/JASTrack.h b/include/JSystem/JAudio2/JASTrack.h index 8ac09ae1875..3d62e1ccc99 100644 --- a/include/JSystem/JAudio2/JASTrack.h +++ b/include/JSystem/JAudio2/JASTrack.h @@ -148,7 +148,7 @@ struct JASTrack { /* 0x1F4 */ short field_0x1f4[8]; /* 0x204 */ short field_0x204[8]; /* 0x214 */ char field_0x214; - /* 0x215 */ u8 mStatus; + /* 0x215 */ volatile u8 mStatus; /* 0x216 */ struct { u8 flag0 : 1; u8 flag1 : 1; diff --git a/include/d/bg/d_bg_w.h b/include/d/bg/d_bg_w.h index 60332e978e0..af260cace96 100644 --- a/include/d/bg/d_bg_w.h +++ b/include/d/bg/d_bg_w.h @@ -81,7 +81,7 @@ struct dzb_tree_data { struct dzb_g_data { /* 0x00 */ u8 field_0x0[0x24 - 0x0]; /* 0x24 */ u16 field_0x24; - /* 0x26 */ u8 field_0x26[0x28 - 0x26]; + /* 0x26 */ u16 field_0x26; /* 0x28 */ u16 field_0x28; /* 0x2A */ u16 field_0x2a; /* 0x2C */ u8 field_0x2c[0x2E - 0x2C]; @@ -208,6 +208,7 @@ public: bool ChkNoCalcVtx() { return field_0x88 & 2; } bool ChkFlush() { return field_0x91 & 8; } void SetLock() { field_0x88 |= 0x80; } + bool ChkRoofRegist() { return field_0x91 & 4;} public: /* 0x18 */ MtxP pm_base; diff --git a/include/d/d_model.h b/include/d/d_model.h index ad2f30b7ceb..f42868549ed 100644 --- a/include/d/d_model.h +++ b/include/d/d_model.h @@ -42,7 +42,7 @@ public: /* 8009C6DC */ dMdl_c* search(J3DModelData*, u16, dKy_tevstr_c*); /* 8009C724 */ dMdl_c* entry(J3DModelData*, u16, dKy_tevstr_c*); - /* 8009C8D8 */ dMdl_c* entry(J3DModelData*, u16, int); + /* 8009C8D8 */ static dMdl_c* entry(J3DModelData*, u16, int); /* 8009C7AC */ static void create(); /* 8009C864 */ void remove(); /* 8009C8C0 */ static void reset(); diff --git a/include/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate.h b/include/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate.h index 9fd18d9c0c5..c2972353a5d 100644 --- a/include/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate.h +++ b/include/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate.h @@ -5,6 +5,22 @@ #include "f_op/f_op_actor_mng.h" #include "m_Do/m_Do_hostIO.h" +class daLv4PoGate_HIO_c : public mDoHIO_entry_c { +public: + /* 80C5FBEC */ daLv4PoGate_HIO_c(); + /* 80C60758 */ virtual ~daLv4PoGate_HIO_c() {}; + + /* 0x04 */ f32 mOpenSpeed; + /* 0x08 */ f32 mCloseStep1Speed; + /* 0x0C */ f32 mCloseStep2Speed; + /* 0x10 */ f32 mCloseStep1Amount; + /* 0x14 */ f32 mCloseStep2Amount; + /* 0x18 */ u8 mCloseStep1Wait; + /* 0x19 */ u8 mCloseStep2Wait; + /* 0x1C */ f32 mCloseStep3Speed; + /* 0x20 */ f32 mCloseStep3Max; + /* 0x24 */ u8 mShockStrength; +}; class daLv4PoGate_c : public dBgS_MoveBgActor { public: @@ -55,21 +71,4 @@ public: /* 0x5B8 */ u8 mCloseWaitTime; }; -class daLv4PoGate_HIO_c : public mDoHIO_entry_c { -public: - /* 80C5FBEC */ daLv4PoGate_HIO_c(); - /* 80C60758 */ virtual ~daLv4PoGate_HIO_c(); - - /* 0x04 */ f32 mOpenSpeed; - /* 0x08 */ f32 mCloseStep1Speed; - /* 0x0C */ f32 mCloseStep2Speed; - /* 0x10 */ f32 mCloseStep1Amount; - /* 0x14 */ f32 mCloseStep2Amount; - /* 0x18 */ u8 mCloseStep1Wait; - /* 0x19 */ u8 mCloseStep2Wait; - /* 0x1C */ f32 mCloseStep3Speed; - /* 0x20 */ f32 mCloseStep3Max; - /* 0x24 */ u8 mShockStrength; -}; - #endif /* D_A_OBJ_LV4POGATE_H */ diff --git a/libs/JSystem/JAudio2/JAISeq.cpp b/libs/JSystem/JAudio2/JAISeq.cpp index 34614823eae..1ed24481849 100644 --- a/libs/JSystem/JAudio2/JAISeq.cpp +++ b/libs/JSystem/JAudio2/JAISeq.cpp @@ -6,6 +6,7 @@ #include "JSystem/JAudio2/JAISeq.h" #include "JSystem/JAudio2/JAISeqMgr.h" #include "JSystem/JAudio2/JASAudioReseter.h" // JASCriticalSection +#include "JSystem/JAudio2/JAISoundChild.h" #include "dol2asm.h" // @@ -295,8 +296,6 @@ bool JAISeq::prepare_(JASSoundParams const& param_0, JAISoundActivity param_1) { } /* 802A108C-802A1180 29B9CC 00F4+00 0/0 1/1 0/0 .text JAISeqMgr_calc___6JAISeqFv */ -// missing instruction -#ifdef NONMATCHING void JAISeq::JAISeqMgr_calc_() { if (inner_.outputTrack.getStatus() == 2 || (inner_.outputTrack.getStatus() == 0 && status_.state.unk == 2)) { die_(); @@ -314,16 +313,6 @@ void JAISeq::JAISeqMgr_calc_() { } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISeq::JAISeqMgr_calc_() { - nofralloc -#include "asm/JSystem/JAudio2/JAISeq/JAISeqMgr_calc___6JAISeqFv.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 804340A4-804340B0 060DC4 000C+00 3/3 0/0 0/0 .bss @896 */ diff --git a/libs/JSystem/JAudio2/JASAudioThread.cpp b/libs/JSystem/JAudio2/JASAudioThread.cpp index 7656e09f485..b2dbb172a60 100644 --- a/libs/JSystem/JAudio2/JASAudioThread.cpp +++ b/libs/JSystem/JAudio2/JASAudioThread.cpp @@ -4,6 +4,9 @@ // #include "JSystem/JAudio2/JASAudioThread.h" +#include "JSystem/JAudio2/JASDriverIF.h" +#include "JSystem/JAudio2/JASHeapCtrl.h" +#include "JSystem/JKernel/JKRSolidHeap.h" #include "dol2asm.h" #include "dolphin/os/OS.h" #include "dolphin/dsp/dsp.h" @@ -17,18 +20,12 @@ struct JASProbe { /* 80290F24 */ static void stop(s32); }; -template -struct JASMemPool {}; - /* JASMemPool_MultiThreaded */ struct JASMemPool_MultiThreaded__template2 { /* 802978DC */ void func_802978DC(void* _this); }; -struct JASGenericMemPool { - /* 80290848 */ JASGenericMemPool(); - /* 802908C8 */ static void newMemPool(u32, int); -}; + struct JASDsp { /* 8029D958 */ static void boot(void (*)(void*)); @@ -85,7 +82,6 @@ extern "C" u8 sSystemHeap__7JKRHeap[4]; extern "C" u8 sCurrentHeap__7JKRHeap[4]; extern "C" extern u8 __OSReport_disable; -extern JKRHeap* JASDram; // // Declarations: // @@ -139,27 +135,12 @@ private: BOOL mInterrupts; }; -class JASChannel {}; - -template -class JASMemPool_MultiThreaded { -public: - static void newMemPool(int param_1) { - Lock lock; - JASGenericMemPool::newMemPool(0x108, param_1); - } -}; - -template -class JASPoolAllocObject_MultiThreaded { -public: - static void newMemPool(int param_1) { - JASMemPool_MultiThreaded::newMemPool(param_1); - } +class JASChannel { + u8 filler[0x108]; }; /* 8029CDEC-8029CF68 29772C 017C+00 1/0 0/0 0/0 .text run__14JASAudioThreadFv */ -// JASPoolAllocObject_MultiThreaded is complex +// Maybe location of JASPoolAllocObject_MultiThreaded #ifdef NONMATCHING void* JASAudioThread::run() { i_OSInitFastCast(); diff --git a/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr.cpp b/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr.cpp index 5fee220ae23..654b3f6cfdf 100644 --- a/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr.cpp +++ b/rel/d/a/npc/d_a_npc_tr/d_a_npc_tr.cpp @@ -187,6 +187,7 @@ asm daNPC_TR_HIO_c::daNPC_TR_HIO_c() { #endif /* 80B25A54-80B25B78 000134 0124+00 1/1 0/0 0/0 .text nodeCallBack__FP8J3DJointi */ +// regalloc #ifdef NONMATCHING static int nodeCallBack(J3DJoint* p_joint, int param_1) { if (param_1 == 0) { @@ -201,8 +202,7 @@ static int nodeCallBack(J3DJoint* p_joint, int param_1) { } else if (jointNo >= 1 && jointNo <= 3) { mDoMtx_YrotM(*calc_mtx, npc_tr->field_0x5f2[jointNo - 1] + (s16)(npc_tr->field_0x5f8)); } - - PSMTXCopy(*calc_mtx, sysModel->i_getAnmMtx(jointNo)); + sysModel->setAnmMtx(jointNo, *calc_mtx); PSMTXCopy(*calc_mtx, j3dSys.mCurrentMtx); } diff --git a/rel/d/a/obj/d_a_obj_catdoor/d_a_obj_catdoor.cpp b/rel/d/a/obj/d_a_obj_catdoor/d_a_obj_catdoor.cpp index a114439d7ab..b4a15ee2e76 100644 --- a/rel/d/a/obj/d_a_obj_catdoor/d_a_obj_catdoor.cpp +++ b/rel/d/a/obj/d_a_obj_catdoor/d_a_obj_catdoor.cpp @@ -93,15 +93,13 @@ public: fopAcM_SetupActor(this, daObjCatDoor_c); int phase_state = dComIfG_resLoad(&mPhaseReq, l_arcName); - if (phase_state != cPhs_COMPLEATE_e) { - return phase_state; + if (phase_state == cPhs_COMPLEATE_e) { + if (!fopAcM_entrySolidHeap(this, createSolidHeap, 0x2520)) { + phase_state = cPhs_ERROR_e; + } else { + create_init(); + } } - - if (!fopAcM_entrySolidHeap(this, createSolidHeap, 0x2520)) { - return cPhs_ERROR_e; - } - - create_init(); return phase_state; } @@ -321,10 +319,10 @@ COMPILER_STRIP_GATE(0x80BC49D4, &lit_3864); /* 80BC4848-80BC49AC 000608 0164+00 1/0 0/0 0/0 .text daObjCatDoor_Create__FP10fopAc_ac_c */ -#ifdef NONMATCHING // inverted conditional branch -static void daObjCatDoor_Create(fopAc_ac_c* i_this) { +#ifdef NONMATCHING // literals + register init order +static int daObjCatDoor_Create(fopAc_ac_c* i_this) { fopAcM_GetID(i_this); - static_cast(i_this)->create(); + return static_cast(i_this)->create(); } #else #pragma push diff --git a/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate.cpp b/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate.cpp index 64247add6d2..d519052ad75 100644 --- a/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate.cpp +++ b/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate.cpp @@ -7,31 +7,15 @@ #include "JSystem/JKernel/JKRHeap.h" #include "d/com/d_com_inf_game.h" #include "d/d_procname.h" -#include "dol2asm.h" - -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void CreateHeap__13daLv4PoGate_cFv(); -extern "C" bool Create__16dBgS_MoveBgActorFv(); -extern "C" void Execute__13daLv4PoGate_cFPPA3_A4_f(); -extern "C" void Draw__13daLv4PoGate_cFv(); -extern "C" void Delete__13daLv4PoGate_cFv(); -extern "C" bool IsDelete__16dBgS_MoveBgActorFv(); -extern "C" bool ToFore__16dBgS_MoveBgActorFv(); -extern "C" bool ToBack__16dBgS_MoveBgActorFv(); -extern "C" extern char const* const d_a_obj_lv4PoGate__stringBase0; -SECTION_DATA extern void* __vt__13daLv4PoGate_c[10]; /* 80C60854-80C60860 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 80C60860-80C60874 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ -#pragma push -#pragma force_active on // unused data ? -SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { +static u32 lit_1787[1 + 4 /* padding */] = { 0x02000201, /* padding */ 0x40080000, @@ -39,7 +23,6 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { 0x3FE00000, 0x00000000, }; -#pragma pop /* 80C5FBEC-80C5FC5C 0000EC 0070+00 1/1 0/0 0/0 .text __ct__17daLv4PoGate_HIO_cFv */ daLv4PoGate_HIO_c::daLv4PoGate_HIO_c() { @@ -65,16 +48,7 @@ void daLv4PoGate_c::setBaseMtx() { mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); } -/* ############################################################################################## */ -/* 80C60848-80C60848 000044 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80C60848 = "L4R02Gate"; -#pragma pop - /* 80C5FD40-80C5FDAC 000240 006C+00 1/0 0/0 0/0 .text CreateHeap__13daLv4PoGate_cFv */ -// vtable ordering issue -#ifdef NONMATCHING int daLv4PoGate_c::CreateHeap() { J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("L4R02Gate", 4); @@ -85,17 +59,6 @@ int daLv4PoGate_c::CreateHeap() { return 1; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm int daLv4PoGate_c::CreateHeap() { -extern "C" asm void CreateHeap__13daLv4PoGate_cFv() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_lv4PoGate/d_a_obj_lv4PoGate/CreateHeap__13daLv4PoGate_cFv.s" -} -#pragma pop -#endif /* 80C5FDAC-80C5FEDC 0002AC 0130+00 1/1 0/0 0/0 .text create__13daLv4PoGate_cFv */ int daLv4PoGate_c::create() { @@ -340,9 +303,6 @@ static int daLv4PoGate_Create(fopAc_ac_c* i_this) { return static_cast(i_this)->create(); } -/* 80C60758-80C607B4 000C58 005C+00 2/1 0/0 0/0 .text __dt__17daLv4PoGate_HIO_cFv */ -daLv4PoGate_HIO_c::~daLv4PoGate_HIO_c() {} - /* 80C6091C-80C6093C -00001 0020+00 1/0 0/0 0/0 .data l_daLv4PoGate_Method */ static actor_method_class l_daLv4PoGate_Method = { (process_method_func)daLv4PoGate_Create, (process_method_func)daLv4PoGate_Delete, @@ -367,17 +327,3 @@ extern actor_process_profile_definition g_profile_Obj_Lv4PoGate = { 0, 14, }; - -/* 80C6096C-80C60994 000118 0028+00 1/1 0/0 0/0 .data __vt__13daLv4PoGate_c */ -SECTION_DATA extern void* __vt__13daLv4PoGate_c[10] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)CreateHeap__13daLv4PoGate_cFv, - (void*)Create__16dBgS_MoveBgActorFv, - (void*)Execute__13daLv4PoGate_cFPPA3_A4_f, - (void*)Draw__13daLv4PoGate_cFv, - (void*)Delete__13daLv4PoGate_cFv, - (void*)IsDelete__16dBgS_MoveBgActorFv, - (void*)ToFore__16dBgS_MoveBgActorFv, - (void*)ToBack__16dBgS_MoveBgActorFv, -}; \ No newline at end of file diff --git a/src/d/bg/d_bg_w.cpp b/src/d/bg/d_bg_w.cpp index 518d0a73218..9aade51c532 100644 --- a/src/d/bg/d_bg_w.cpp +++ b/src/d/bg/d_bg_w.cpp @@ -572,6 +572,50 @@ void cBgW::BlckConnect(u16* param_0, int* param_1, int param_2) { } /* 800797BC-8007998C 0740FC 01D0+00 2/0 1/0 0/0 .text ClassifyPlane__4cBgWFv */ +// stack, G_CM3D_F_ABS_MIN is loaded outside of loop +#ifdef NONMATCHING +void cBgW::ClassifyPlane() { + if (pm_vtx_tbl == NULL) { + return; + } + + for (int i = 0; i < pm_bgd->m_b_num; i++) { + int local_2c = pm_bgd->m_b_tbl[i].field_0x0; + int uVar4; + if (i != pm_bgd->m_b_num - 1) { + uVar4 = pm_bgd->m_b_tbl[i + 1].field_0x0 - 1; + } else { + uVar4 = pm_bgd->m_t_num - 1; + } + field_0xa4[i].field_0x0 = 0xffff; + field_0xa4[i].field_0x2 = 0xffff; + field_0xa4[i].field_0x4 = 0xffff; + int local_30; + int local_34; + int local_38 = 0xffff; + local_34 = 0xffff; + local_30 = 0xffff; + + for (int uVar3 = local_2c; uVar3 <= uVar4; uVar3++) { + f32 dVar8 = pm_tri[uVar3].m_plane.i_GetNP()->y; + if (!cM3d_IsZero(pm_tri[uVar3].m_plane.i_GetNP()->x) || + !cM3d_IsZero(dVar8) || !cM3d_IsZero(pm_tri[uVar3].m_plane.i_GetNP()->z)) { + if (cBgW_CheckBGround(dVar8)) { + BlckConnect(&field_0xa4[i].field_0x4, &local_38, uVar3); + } else { + if (cBgW_CheckBRoof(dVar8)) { + if (!ChkRoofRegist()) { + BlckConnect(&field_0xa4[i].field_0x0, &local_30, uVar3); + } + } else { + BlckConnect(&field_0xa4[i].field_0x2, &local_34, uVar3); + } + } + } + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -580,6 +624,7 @@ asm void cBgW::ClassifyPlane() { #include "asm/d/bg/d_bg_w/ClassifyPlane__4cBgWFv.s" } #pragma pop +#endif /* 8007998C-800799E0 0742CC 0054+00 1/1 0/0 0/0 .text MakeBlckTransMinMax__4cBgWFP4cXyzP4cXyz */ void cBgW::MakeBlckTransMinMax(cXyz* param_0, cXyz* param_1) { @@ -706,41 +751,45 @@ void cBgW::MakeNodeTreeRp(int param_0) { } /* 80079CC4-80079DF0 074604 012C+00 1/1 0/0 0/0 .text MakeNodeTreeGrpRp__4cBgWFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::MakeNodeTreeGrpRp(int param_0) { - nofralloc -#include "asm/d/bg/d_bg_w/MakeNodeTreeGrpRp__4cBgWFi.s" -} -#pragma pop - -/* void cBgW::MakeNodeTreeGrpRp(int param_0) { - //u16 tmp = pm_bgd->m_g_tbl[param_0].field_0x2e; - +void cBgW::MakeNodeTreeGrpRp(int param_0) { if (pm_bgd->m_g_tbl[param_0].field_0x2e != 0xFFFF) { MakeNodeTreeRp(pm_bgd->m_g_tbl[param_0].field_0x2e); - pm_node_tree[param_0].SetMin(pm_grp[pm_bgd->m_g_tbl[param_0].field_0x2e].mMin); - pm_node_tree[param_0].SetMax(pm_grp[pm_bgd->m_g_tbl[param_0].field_0x2e].mMax); + pm_grp[param_0].m_aab.SetMin(*pm_node_tree[pm_bgd->m_g_tbl[param_0].field_0x2e].GetMinP()); + pm_grp[param_0].m_aab.SetMax(*pm_node_tree[pm_bgd->m_g_tbl[param_0].field_0x2e].GetMaxP()); } - u16 tmp2 = pm_bgd->m_g_tbl[param_0].field_0x28; - while (tmp2 != 0xFFFF) { + s32 tmp2 = pm_bgd->m_g_tbl[param_0].field_0x28; + while (true) { + if (tmp2 == 0xFFFF) break; MakeNodeTreeGrpRp(tmp2); - pm_grp[param_0].SetMin(pm_grp[tmp2].mMin); - pm_grp[param_0].SetMax(pm_node_tree[tmp2].mMax); + pm_grp[param_0].m_aab.SetMin(*pm_grp[tmp2].m_aab.GetMinP()); + pm_grp[param_0].m_aab.SetMax(*pm_grp[tmp2].m_aab.GetMaxP()); + tmp2 = pm_bgd->m_g_tbl[tmp2].field_0x26; } -} */ +} /* 80079DF0-80079EEC 074730 00FC+00 2/2 0/0 0/0 .text MakeNodeTree__4cBgWFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW::MakeNodeTree() { - nofralloc -#include "asm/d/bg/d_bg_w/MakeNodeTree__4cBgWFv.s" +void cBgW::MakeNodeTree() { + if (pm_vtx_tbl == NULL) { + for (int i = 0; i < pm_bgd->m_g_num; i++) { + if (pm_bgd->m_g_tbl[i].field_0x24 == 0xffff) { + field_0x92 = i; + return; + } + } + } else { + for (int i = 0; i < pm_bgd->m_g_num; i++) { + pm_grp[i].m_aab.ClearForMinMax(); + } + for (int i = 0; i < pm_bgd->m_g_num; i++) { + if (pm_bgd->m_g_tbl[i].field_0x24 == 0xffff) { + field_0x92 = i; + MakeNodeTreeGrpRp(i); + return; + } + } + } } -#pragma pop /* 80079EEC-80079F38 07482C 004C+00 2/0 1/0 0/0 .text ChkMemoryError__4cBgWFv */ bool cBgW::ChkMemoryError() { diff --git a/src/d/d_item.cpp b/src/d/d_item.cpp index 327321f0549..406df67a528 100644 --- a/src/d/d_item.cpp +++ b/src/d/d_item.cpp @@ -2618,7 +2618,7 @@ int addBombCount(u8 i_bombType, u8 i_addNum) { return 0; } else { dComIfGs_setEmptyBombBagItemIn(i_bombType, i_addNum, true); - i_addNum -= (int)dComIfGs_getBombMax(i_bombType); + i_addNum = i_addNum - dComIfGs_getBombMax(i_bombType); } } else { if (dComIfGs_getBombMax(bombType[bombIdx]) >= var_r22 + i_addNum) { @@ -2626,7 +2626,7 @@ int addBombCount(u8 i_bombType, u8 i_addNum) { return 0; } else { dComIfGp_setItemBombNumCount(bombIdx, i_addNum); - i_addNum -= (int)dComIfGs_getBombMax(bombType[bombIdx]) - var_r22; + i_addNum = i_addNum - (dComIfGs_getBombMax(bombType[bombIdx]) - var_r22); } } diff --git a/src/d/d_kyeff.cpp b/src/d/d_kyeff.cpp index 36aee03d9e8..10e4293088b 100644 --- a/src/d/d_kyeff.cpp +++ b/src/d/d_kyeff.cpp @@ -7,10 +7,6 @@ #include "d/com/d_com_inf_game.h" #include "d/d_procname.h" #include "d/kankyo/d_kankyo_wether.h" -#include "dol2asm.h" - -extern "C" extern char const* const d_d_kyeff__stringBase0; -extern "C" void dKyw_wether_init__Fv(); /* 801ADD00-801ADD38 1A8640 0038+00 2/2 0/0 0/0 .text dKankyo_DayProc__Fv */ void dKankyo_DayProc() { @@ -47,30 +43,20 @@ static int dKyeff_Delete(dKyeff_c* i_this) { return 1; } -/* ############################################################################################## */ -/* 80453E58-80453E5C 002458 0004+00 1/1 0/0 0/0 .sdata2 @3804 */ -SECTION_SDATA2 static u8 lit_3804[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; +// Helper functions to set float literal order +static f32 dummyLiteralOrder() { + return 0.0f; +} -/* 80453E5C-80453E60 00245C 0004+00 1/1 0/0 0/0 .sdata2 @3805 */ -SECTION_SDATA2 static f32 lit_3805 = 1.0f; +static f32 dummyLiteralOrder2() { + return 1.0f; +} -/* 80453E60-80453E68 002460 0008+00 1/1 0/0 0/0 .sdata2 @3812 */ -SECTION_SDATA2 static f64 lit_3812 = 4503601774854144.0 /* cast s32 to float */; - -/* 80453E68-80453E6C 002468 0004+00 1/1 0/0 0/0 .sdata2 @3843 */ -SECTION_SDATA2 static f32 lit_3843 = 7.0f / 10.0f; - -/* 80453E6C-80453E70 00246C 0004+00 1/1 0/0 0/0 .sdata2 @3844 */ -SECTION_SDATA2 static f32 lit_3844 = 15.0f; +static f32 dummyLiteralOrder3(s32 hours) { + return hours; +} /* 801ADE00-801ADEA0 1A8740 00A0+00 1/0 0/0 0/0 .text dKyeff_Create__FP12kankyo_class */ -// float data -#ifdef NONMATCHING static int dKyeff_Create(kankyo_class* i_this) { OSCalendarTime time; @@ -84,16 +70,6 @@ static int dKyeff_Create(kankyo_class* i_this) { return cPhs_COMPLEATE_e; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm int dKyeff_Create(kankyo_class* i_this) { - nofralloc -#include "asm/d/d_kyeff/dKyeff_Create__FP12kankyo_class.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 803BC158-803BC16C -00001 0014+00 1/0 0/0 0/0 .data l_dKyeff_Method */ diff --git a/src/d/d_lib.cpp b/src/d/d_lib.cpp index 01909b7b647..a698d8d266f 100644 --- a/src/d/d_lib.cpp +++ b/src/d/d_lib.cpp @@ -170,30 +170,26 @@ s16 CSTControl::getAngleStick() { u8 STControl::checkTrigger() { field_0x0d = mDirectionTrig; f32 stickValue = getValueStick(); - s16 stickAngle_ = getAngleStick(); + s16 stickAngle = getAngleStick(); u8 var_r6 = 0; s16 temp_r7 = 0x2000 - field_0x26 >> 1; if (!cM3d_IsZero(stickValue)) { - int stickAngle = stickAngle_; - s16 temp_r4 = field_0x22; - int temp_r3 = temp_r4 + temp_r7; - - if (stickAngle < temp_r3 - 0x7000) { + if (stickAngle < field_0x22 + temp_r7 - 0x7000) { var_r6 |= TRIG_UP; - } else if (stickAngle < (temp_r4 - 0x5000) - temp_r7) { + } else if (stickAngle < (field_0x22 - 0x5000) - temp_r7) { var_r6 |= TRIG_UP_LEFT; - } else if (stickAngle < temp_r3 - 0x3000) { + } else if (stickAngle < field_0x22 + temp_r7 - 0x3000) { var_r6 |= TRIG_LEFT; - } else if (stickAngle < (temp_r4 - 0x1000) - temp_r7) { + } else if (stickAngle < (field_0x22 - 0x1000) - temp_r7) { var_r6 |= TRIG_DOWN_LEFT; - } else if (stickAngle < temp_r3 + 0x1000) { + } else if (stickAngle < field_0x22 + temp_r7 + 0x1000) { var_r6 |= TRIG_DOWN; - } else if (stickAngle < (temp_r4 + 0x3000) - temp_r7) { + } else if (stickAngle < (field_0x22 + 0x3000) - temp_r7) { var_r6 |= TRIG_DOWN_RIGHT; - } else if (stickAngle < temp_r3 + 0x5000) { + } else if (stickAngle < field_0x22 + temp_r7 + 0x5000) { var_r6 |= TRIG_RIGHT; - } else if (stickAngle < (temp_r4 + 0x7000) - temp_r7) { + } else if (stickAngle < (field_0x22 + 0x7000) - temp_r7) { var_r6 |= TRIG_UP_RIGHT; } else { var_r6 |= TRIG_UP; @@ -207,9 +203,8 @@ u8 STControl::checkTrigger() { mDirectionTrig &= ~var_r6; } - u8 temp_r3_2 = mDirectionTrig; - if (temp_r3_2 != field_0x0d) { - if (temp_r3_2 == 0) { + if (mDirectionTrig != field_0x0d) { + if (mDirectionTrig == 0) { field_0x22 = 0; } else if ((stickAngle & 0x1FFF) > 0x1000) { field_0x22 = field_0x24; diff --git a/src/d/d_model.cpp b/src/d/d_model.cpp index 7be7a85bbe0..b3a26aa150a 100644 --- a/src/d/d_model.cpp +++ b/src/d/d_model.cpp @@ -7,48 +7,16 @@ #include "JSystem/J3DGraphBase/J3DDrawBuffer.h" #include "JSystem/J3DGraphBase/J3DMaterial.h" #include "d/com/d_com_inf_game.h" -#include "dol2asm.h" #include "dolphin/types.h" // // Forward References: // -extern "C" void draw__6dMdl_cFv(); -extern "C" void create__6dMdl_cFP12J3DModelDataUsP12dKy_tevstr_c(); -extern "C" void entryObj__6dMdl_cFP10dMdl_obj_c(); -extern "C" void search__10dMdl_mng_cFP12J3DModelDataUsP12dKy_tevstr_c(); -extern "C" void entry__10dMdl_mng_cFP12J3DModelDataUsP12dKy_tevstr_c(); -extern "C" void create__10dMdl_mng_cFv(); -extern "C" void __dt__6dMdl_cFv(); -extern "C" void remove__10dMdl_mng_cFv(); -extern "C" void reset__10dMdl_mng_cFv(); -extern "C" void entry__10dMdl_mng_cFP12J3DModelDataUsi(); -extern "C" void __ct__6dMdl_cFv(); -extern "C" u8 m_myObj__10dMdl_mng_c[4 + 4 /* padding */]; - // // External References: // -extern "C" void dKy_setLight_nowroom_actor__FP12dKy_tevstr_c(); -extern "C" void dKy_setLight_again__Fv(); -extern "C" void dKy_GxFog_tevstr_set__FP12dKy_tevstr_c(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" bool entry__9J3DPacketFP13J3DDrawBuffer(); -extern "C" void loadPreDrawSetting__8J3DShapeCFv(); -extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" extern void* __vt__9J3DPacket[5]; -extern "C" u8 mStatus__20dStage_roomControl_c[65792]; -extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; - // // Declarations: // @@ -166,25 +134,13 @@ void dMdl_mng_c::reset() { } /* 8009C8D8-8009C930 097218 0058+00 0/0 0/0 4/4 .text entry__10dMdl_mng_cFP12J3DModelDataUsi */ -// missing mr instructions -#ifdef NONMATCHING dMdl_c* dMdl_mng_c::entry(J3DModelData* i_modelData, u16 i_materialId, int i_roomNo) { if (m_myObj == NULL) { return NULL; } - - return entry(i_modelData, i_materialId, dComIfGp_roomControl_getTevStr(i_roomNo)); + dKy_tevstr_c* tevstr = dComIfGp_roomControl_getTevStr(i_roomNo); + return m_myObj->entry(i_modelData, i_materialId, tevstr); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm dMdl_c* dMdl_mng_c::entry(J3DModelData* param_0, u16 param_1, int param_2) { - nofralloc -#include "asm/d/d_model/entry__10dMdl_mng_cFP12J3DModelDataUsi.s" -} -#pragma pop -#endif /* 8009C930-8009C964 097270 0034+00 1/1 0/0 0/0 .text __ct__6dMdl_cFv */ dMdl_c::dMdl_c() {