diff --git a/Progress.md b/Progress.md index abc9fae85e2..f872ce55563 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 24.340478% | 875416 | 3596544 +.text | 24.500632% | 881176 | 3596544 .ctors | 100.000000% | 448 | 448 .dtors | 100.000000% | 32 | 32 .rodata | 100.000000% | 193856 | 193856 .data | 100.000000% | 197632 | 197632 .sdata | 100.000000% | 1408 | 1408 .sdata2 | 100.000000% | 20832 | 20832 -Total | 32.316787% | 1299352 | 4020672 +Total | 32.460046% | 1305112 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 32.316787% | 1299352 | 4020672 -RELs | 33.572932% | 3860996 | 11500324 -Total | 33.247531% | 5160348 | 15520996 +main.dol | 32.460046% | 1305112 | 4020672 +RELs | 33.580376% | 3861852 | 11500324 +Total | 33.290157% | 5166964 | 15520996 ## RELs @@ -753,7 +753,7 @@ d_a_tag_pachi | 51.107595% | 1292 | 2528 d_a_tag_poFire | 63.270142% | 1068 | 1688 d_a_tag_push | 41.000000% | 1148 | 2800 d_a_tag_qs | 34.804270% | 1956 | 5620 -d_a_tag_ret_room | 49.168646% | 828 | 1684 +d_a_tag_ret_room | 100.000000% | 1684 | 1684 d_a_tag_river_back | 45.725916% | 1348 | 2948 d_a_tag_rmbit_sw | 46.642468% | 1028 | 2204 d_a_tag_schedule | 100.000000% | 712 | 712 @@ -785,4 +785,4 @@ d_a_vrbox2 | 34.977578% | 2184 | 6244 d_a_warp_bug | 54.940711% | 1112 | 2024 d_a_ykgr | 44.400631% | 2252 | 5072 f_pc_profile_lst | 100.000000% | 28156 | 28156 -Total | 33.572932% | 3860996 | 11500324 +Total | 33.580376% | 3861852 | 11500324 diff --git a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/__ct__12daTagRetRm_cFv.s b/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/__ct__12daTagRetRm_cFv.s deleted file mode 100644 index 1a1e688a525..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/__ct__12daTagRetRm_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80D5EE98: -/* 80D5EE98 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5EE9C 7C 08 02 A6 */ mflr r0 -/* 80D5EEA0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5EEA4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D5EEA8 7C 7F 1B 78 */ mr r31, r3 -/* 80D5EEAC 4B 2B 9C B9 */ bl __ct__10fopAc_ac_cFv -/* 80D5EEB0 3C 60 80 D6 */ lis r3, __vt__12daTagRetRm_c@ha /* 0x80D5F264@ha */ -/* 80D5EEB4 38 03 F2 64 */ addi r0, r3, __vt__12daTagRetRm_c@l /* 0x80D5F264@l */ -/* 80D5EEB8 90 1F 05 68 */ stw r0, 0x568(r31) -/* 80D5EEBC 7F E3 FB 78 */ mr r3, r31 -/* 80D5EEC0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D5EEC4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5EEC8 7C 08 03 A6 */ mtlr r0 -/* 80D5EECC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5EED0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/__dt__12daTagRetRm_cFv.s b/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/__dt__12daTagRetRm_cFv.s deleted file mode 100644 index 8392817e155..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/__dt__12daTagRetRm_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80D5EED4: -/* 80D5EED4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5EED8 7C 08 02 A6 */ mflr r0 -/* 80D5EEDC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5EEE0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D5EEE4 93 C1 00 08 */ stw r30, 8(r1) -/* 80D5EEE8 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80D5EEEC 7C 9F 23 78 */ mr r31, r4 -/* 80D5EEF0 41 82 00 28 */ beq lbl_80D5EF18 -/* 80D5EEF4 3C 80 80 D6 */ lis r4, __vt__12daTagRetRm_c@ha /* 0x80D5F264@ha */ -/* 80D5EEF8 38 04 F2 64 */ addi r0, r4, __vt__12daTagRetRm_c@l /* 0x80D5F264@l */ -/* 80D5EEFC 90 1E 05 68 */ stw r0, 0x568(r30) -/* 80D5EF00 38 80 00 00 */ li r4, 0 -/* 80D5EF04 4B 2B 9D 89 */ bl __dt__10fopAc_ac_cFv -/* 80D5EF08 7F E0 07 35 */ extsh. r0, r31 -/* 80D5EF0C 40 81 00 0C */ ble lbl_80D5EF18 -/* 80D5EF10 7F C3 F3 78 */ mr r3, r30 -/* 80D5EF14 4B 56 FE 29 */ bl __dl__FPv -lbl_80D5EF18: -/* 80D5EF18 7F C3 F3 78 */ mr r3, r30 -/* 80D5EF1C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D5EF20 83 C1 00 08 */ lwz r30, 8(r1) -/* 80D5EF24 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5EF28 7C 08 03 A6 */ mtlr r0 -/* 80D5EF2C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5EF30 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/chkPlyrInTag__12daTagRetRm_cFv.s b/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/chkPlyrInTag__12daTagRetRm_cFv.s deleted file mode 100644 index f1d3ab845be..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/chkPlyrInTag__12daTagRetRm_cFv.s +++ /dev/null @@ -1,67 +0,0 @@ -lbl_80D5F050: -/* 80D5F050 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80D5F054 7C 08 02 A6 */ mflr r0 -/* 80D5F058 90 01 00 34 */ stw r0, 0x34(r1) -/* 80D5F05C 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 80D5F060 7C 7F 1B 78 */ mr r31, r3 -/* 80D5F064 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D5F068 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D5F06C 80 83 5D AC */ lwz r4, 0x5dac(r3) -/* 80D5F070 28 04 00 00 */ cmplwi r4, 0 -/* 80D5F074 40 82 00 0C */ bne lbl_80D5F080 -/* 80D5F078 38 60 00 00 */ li r3, 0 -/* 80D5F07C 48 00 00 BC */ b lbl_80D5F138 -lbl_80D5F080: -/* 80D5F080 38 61 00 08 */ addi r3, r1, 8 -/* 80D5F084 38 84 04 D0 */ addi r4, r4, 0x4d0 -/* 80D5F088 38 BF 04 D0 */ addi r5, r31, 0x4d0 -/* 80D5F08C 4B 50 7A A9 */ bl __mi__4cXyzCFRC3Vec -/* 80D5F090 C0 01 00 08 */ lfs f0, 8(r1) -/* 80D5F094 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 80D5F098 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80D5F09C D0 01 00 18 */ stfs f0, 0x18(r1) -/* 80D5F0A0 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80D5F0A4 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 80D5F0A8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80D5F0AC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80D5F0B0 A8 1F 04 DE */ lha r0, 0x4de(r31) -/* 80D5F0B4 7C 00 00 D0 */ neg r0, r0 -/* 80D5F0B8 7C 04 07 34 */ extsh r4, r0 -/* 80D5F0BC 4B 2A D3 21 */ bl mDoMtx_YrotS__FPA4_fs -/* 80D5F0C0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80D5F0C4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80D5F0C8 38 81 00 14 */ addi r4, r1, 0x14 -/* 80D5F0CC 7C 85 23 78 */ mr r5, r4 -/* 80D5F0D0 4B 5E 7C 9D */ bl PSMTXMultVec -/* 80D5F0D4 3C 60 80 D6 */ lis r3, lit_3718@ha /* 0x80D5F210@ha */ -/* 80D5F0D8 C0 03 F2 10 */ lfs f0, lit_3718@l(r3) /* 0x80D5F210@l */ -/* 80D5F0DC C0 21 00 18 */ lfs f1, 0x18(r1) -/* 80D5F0E0 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 80D5F0E4 40 80 00 50 */ bge lbl_80D5F134 -/* 80D5F0E8 C0 1F 05 70 */ lfs f0, 0x570(r31) -/* 80D5F0EC FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 80D5F0F0 40 81 00 44 */ ble lbl_80D5F134 -/* 80D5F0F4 C0 1F 05 6C */ lfs f0, 0x56c(r31) -/* 80D5F0F8 C0 21 00 14 */ lfs f1, 0x14(r1) -/* 80D5F0FC FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 80D5F100 40 81 00 34 */ ble lbl_80D5F134 -/* 80D5F104 C0 7F 05 74 */ lfs f3, 0x574(r31) -/* 80D5F108 C0 41 00 1C */ lfs f2, 0x1c(r1) -/* 80D5F10C FC 03 10 40 */ fcmpo cr0, f3, f2 -/* 80D5F110 40 81 00 24 */ ble lbl_80D5F134 -/* 80D5F114 FC 00 00 50 */ fneg f0, f0 -/* 80D5F118 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 80D5F11C 40 80 00 18 */ bge lbl_80D5F134 -/* 80D5F120 FC 00 18 50 */ fneg f0, f3 -/* 80D5F124 FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 80D5F128 40 80 00 0C */ bge lbl_80D5F134 -/* 80D5F12C 38 60 00 01 */ li r3, 1 -/* 80D5F130 48 00 00 08 */ b lbl_80D5F138 -lbl_80D5F134: -/* 80D5F134 38 60 00 00 */ li r3, 0 -lbl_80D5F138: -/* 80D5F138 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 80D5F13C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80D5F140 7C 08 03 A6 */ mtlr r0 -/* 80D5F144 38 21 00 30 */ addi r1, r1, 0x30 -/* 80D5F148 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/create__12daTagRetRm_cFv.s b/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/create__12daTagRetRm_cFv.s deleted file mode 100644 index 298ec6899f2..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/create__12daTagRetRm_cFv.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_80D5EF34: -/* 80D5EF34 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5EF38 7C 08 02 A6 */ mflr r0 -/* 80D5EF3C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5EF40 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D5EF44 7C 7F 1B 78 */ mr r31, r3 -/* 80D5EF48 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D5EF4C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D5EF50 40 82 00 1C */ bne lbl_80D5EF6C -/* 80D5EF54 28 1F 00 00 */ cmplwi r31, 0 -/* 80D5EF58 41 82 00 08 */ beq lbl_80D5EF60 -/* 80D5EF5C 4B FF FF 3D */ bl __ct__12daTagRetRm_cFv -lbl_80D5EF60: -/* 80D5EF60 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80D5EF64 60 00 00 08 */ ori r0, r0, 8 -/* 80D5EF68 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80D5EF6C: -/* 80D5EF6C 7F E3 FB 78 */ mr r3, r31 -/* 80D5EF70 48 00 00 A1 */ bl init__12daTagRetRm_cFv -/* 80D5EF74 38 60 00 04 */ li r3, 4 -/* 80D5EF78 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D5EF7C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5EF80 7C 08 03 A6 */ mtlr r0 -/* 80D5EF84 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5EF88 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_Delete__FP12daTagRetRm_c.s b/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_Delete__FP12daTagRetRm_c.s deleted file mode 100644 index 6e31d19acd8..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_Delete__FP12daTagRetRm_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D5F1A0: -/* 80D5F1A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5F1A4 7C 08 02 A6 */ mflr r0 -/* 80D5F1A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5F1AC 4B FF FD E1 */ bl Delete__12daTagRetRm_cFv -/* 80D5F1B0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5F1B4 7C 08 03 A6 */ mtlr r0 -/* 80D5F1B8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5F1BC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_create__FP12daTagRetRm_c.s b/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_create__FP12daTagRetRm_c.s deleted file mode 100644 index 272296d7a73..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_create__FP12daTagRetRm_c.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80D5F14C: -/* 80D5F14C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5F150 7C 08 02 A6 */ mflr r0 -/* 80D5F154 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5F158 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D5F15C 7C 7F 1B 78 */ mr r31, r3 -/* 80D5F160 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D5F164 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D5F168 40 82 00 1C */ bne lbl_80D5F184 -/* 80D5F16C 28 1F 00 00 */ cmplwi r31, 0 -/* 80D5F170 41 82 00 08 */ beq lbl_80D5F178 -/* 80D5F174 4B FF FD 25 */ bl __ct__12daTagRetRm_cFv -lbl_80D5F178: -/* 80D5F178 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80D5F17C 60 00 00 08 */ ori r0, r0, 8 -/* 80D5F180 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80D5F184: -/* 80D5F184 7F E3 FB 78 */ mr r3, r31 -/* 80D5F188 4B FF FD AD */ bl create__12daTagRetRm_cFv -/* 80D5F18C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D5F190 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5F194 7C 08 03 A6 */ mtlr r0 -/* 80D5F198 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5F19C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_draw__FP12daTagRetRm_c.s b/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_draw__FP12daTagRetRm_c.s deleted file mode 100644 index b2a350f53a3..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_draw__FP12daTagRetRm_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D5F1E0: -/* 80D5F1E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5F1E4 7C 08 02 A6 */ mflr r0 -/* 80D5F1E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5F1EC 4B FF FD A9 */ bl draw__12daTagRetRm_cFv -/* 80D5F1F0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5F1F4 7C 08 03 A6 */ mtlr r0 -/* 80D5F1F8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5F1FC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_execute__FP12daTagRetRm_c.s b/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_execute__FP12daTagRetRm_c.s deleted file mode 100644 index 031d30b1b5e..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_execute__FP12daTagRetRm_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80D5F1C0: -/* 80D5F1C0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5F1C4 7C 08 02 A6 */ mflr r0 -/* 80D5F1C8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5F1CC 4B FF FD D1 */ bl execute__12daTagRetRm_cFv -/* 80D5F1D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5F1D4 7C 08 03 A6 */ mtlr r0 -/* 80D5F1D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5F1DC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/execute__12daTagRetRm_cFv.s b/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/execute__12daTagRetRm_cFv.s deleted file mode 100644 index c44df2a0c3e..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/execute__12daTagRetRm_cFv.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_80D5EF9C: -/* 80D5EF9C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D5EFA0 7C 08 02 A6 */ mflr r0 -/* 80D5EFA4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D5EFA8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D5EFAC 7C 7F 1B 78 */ mr r31, r3 -/* 80D5EFB0 80 83 05 78 */ lwz r4, 0x578(r3) -/* 80D5EFB4 2C 04 00 00 */ cmpwi r4, 0 -/* 80D5EFB8 41 82 00 2C */ beq lbl_80D5EFE4 -/* 80D5EFBC 38 04 FF FF */ addi r0, r4, -1 -/* 80D5EFC0 90 1F 05 78 */ stw r0, 0x578(r31) -/* 80D5EFC4 80 1F 05 78 */ lwz r0, 0x578(r31) -/* 80D5EFC8 2C 00 00 00 */ cmpwi r0, 0 -/* 80D5EFCC 40 82 00 2C */ bne lbl_80D5EFF8 -/* 80D5EFD0 38 60 00 01 */ li r3, 1 -/* 80D5EFD4 38 80 00 05 */ li r4, 5 -/* 80D5EFD8 38 A0 00 C9 */ li r5, 0xc9 -/* 80D5EFDC 4B 40 04 5D */ bl forceRestartRoom__9daPy_py_cFiUli -/* 80D5EFE0 48 00 00 18 */ b lbl_80D5EFF8 -lbl_80D5EFE4: -/* 80D5EFE4 48 00 00 6D */ bl chkPlyrInTag__12daTagRetRm_cFv -/* 80D5EFE8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80D5EFEC 41 82 00 0C */ beq lbl_80D5EFF8 -/* 80D5EFF0 38 00 00 1E */ li r0, 0x1e -/* 80D5EFF4 90 1F 05 78 */ stw r0, 0x578(r31) -lbl_80D5EFF8: -/* 80D5EFF8 38 60 00 01 */ li r3, 1 -/* 80D5EFFC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D5F000 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D5F004 7C 08 03 A6 */ mtlr r0 -/* 80D5F008 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D5F00C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/init__12daTagRetRm_cFv.s b/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/init__12daTagRetRm_cFv.s deleted file mode 100644 index fc2d79a45f9..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/init__12daTagRetRm_cFv.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_80D5F010: -/* 80D5F010 3C 80 80 D6 */ lis r4, lit_3682@ha /* 0x80D5F208@ha */ -/* 80D5F014 C0 44 F2 08 */ lfs f2, lit_3682@l(r4) /* 0x80D5F208@l */ -/* 80D5F018 C0 03 04 EC */ lfs f0, 0x4ec(r3) -/* 80D5F01C EC 02 00 32 */ fmuls f0, f2, f0 -/* 80D5F020 D0 03 05 6C */ stfs f0, 0x56c(r3) -/* 80D5F024 3C 80 80 D6 */ lis r4, lit_3683@ha /* 0x80D5F20C@ha */ -/* 80D5F028 C0 24 F2 0C */ lfs f1, lit_3683@l(r4) /* 0x80D5F20C@l */ -/* 80D5F02C C0 03 04 F0 */ lfs f0, 0x4f0(r3) -/* 80D5F030 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80D5F034 D0 03 05 70 */ stfs f0, 0x570(r3) -/* 80D5F038 C0 03 04 F4 */ lfs f0, 0x4f4(r3) -/* 80D5F03C EC 02 00 32 */ fmuls f0, f2, f0 -/* 80D5F040 D0 03 05 74 */ stfs f0, 0x574(r3) -/* 80D5F044 38 00 00 00 */ li r0, 0 -/* 80D5F048 90 03 05 78 */ stw r0, 0x578(r3) -/* 80D5F04C 4E 80 00 20 */ blr diff --git a/include/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room.h b/include/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room.h index 4fdacf19a33..0ff7c35e83f 100644 --- a/include/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room.h +++ b/include/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room.h @@ -1,6 +1,25 @@ #ifndef D_A_TAG_RET_ROOM_H #define D_A_TAG_RET_ROOM_H -#include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_procname.h" +#include "f_op/f_op_actor_mng.h" + +class daTagRetRm_c : public fopAc_ac_c { +public: + /* 80D5EE98 */ daTagRetRm_c(); + /* 80D5EED4 */ virtual ~daTagRetRm_c(); + /* 80D5EF34 */ int create(); + /* 80D5EF8C */ int Delete(); + /* 80D5EF94 */ int draw(); + /* 80D5EF9C */ int execute(); + /* 80D5F010 */ void init(); + /* 80D5F050 */ u8 chkPlyrInTag(); + + /* 0x56C */ f32 field_0x56c; + /* 0x570 */ f32 field_0x570; + /* 0x574 */ f32 field_0x574; + /* 0x578 */ s32 field_0x578; +}; #endif /* D_A_TAG_RET_ROOM_H */ diff --git a/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room.cpp b/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room.cpp index 19daa64f51b..5f2178c5cf0 100644 --- a/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room.cpp +++ b/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room.cpp @@ -1,241 +1,131 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_ret_room -// +/** + * d_a_tag_ret_room.cpp + * + */ #include "rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room.h" -#include "dol2asm.h" -#include "dolphin/types.h" -// -// Types: -// +/* 80D5EE98-80D5EED4 000078 003C+00 2/2 0/0 0/0 .text __ct__12daTagRetRm_cFv */ +daTagRetRm_c::daTagRetRm_c() {} -struct mDoMtx_stack_c { - static u8 now[48]; -}; +/* 80D5EED4-80D5EF34 0000B4 0060+00 1/0 0/0 0/0 .text __dt__12daTagRetRm_cFv */ +daTagRetRm_c::~daTagRetRm_c() {} -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; +/* 80D5EF34-80D5EF8C 000114 0058+00 1/1 0/0 0/0 .text create__12daTagRetRm_cFv */ +int daTagRetRm_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTagRetRm_c(); + fopAcM_OnCondition(this, 8); + } + init(); + return cPhs_COMPLEATE_e; +} -struct daTagRetRm_c { - /* 80D5EE98 */ daTagRetRm_c(); - /* 80D5EED4 */ ~daTagRetRm_c(); - /* 80D5EF34 */ void create(); - /* 80D5EF8C */ bool Delete(); - /* 80D5EF94 */ bool draw(); - /* 80D5EF9C */ void execute(); - /* 80D5F010 */ void init(); - /* 80D5F050 */ void chkPlyrInTag(); -}; +/* 80D5EF8C-80D5EF94 00016C 0008+00 1/1 0/0 0/0 .text Delete__12daTagRetRm_cFv */ +int daTagRetRm_c::Delete() { + return 1; +} -struct daPy_py_c { - /* 8015F438 */ void forceRestartRoom(int, u32, int); -}; +/* 80D5EF94-80D5EF9C 000174 0008+00 1/1 0/0 0/0 .text draw__12daTagRetRm_cFv */ +int daTagRetRm_c::draw() { + return 1; +} -struct Vec {}; +/* 80D5EF9C-80D5F010 00017C 0074+00 1/1 0/0 0/0 .text execute__12daTagRetRm_cFv */ +int daTagRetRm_c::execute() { + if (field_0x578 != 0) { + field_0x578--; -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; -}; + if (field_0x578 == 0) { + daPy_py_c::forceRestartRoom(1, 5, 0xc9); + } + } else { + if (chkPlyrInTag()) { + field_0x578 = 30; + } + } + return 1; +} -// -// Forward References: -// +/* 80D5F010-80D5F050 0001F0 0040+00 1/1 0/0 0/0 .text init__12daTagRetRm_cFv */ +void daTagRetRm_c::init() { + field_0x56c = mScale.x * 50; + field_0x570 = mScale.y * 100; + field_0x574 = mScale.z * 50; + field_0x578 = 0; +} -extern "C" void __ct__12daTagRetRm_cFv(); -extern "C" void __dt__12daTagRetRm_cFv(); -extern "C" void create__12daTagRetRm_cFv(); -extern "C" bool Delete__12daTagRetRm_cFv(); -extern "C" bool draw__12daTagRetRm_cFv(); -extern "C" void execute__12daTagRetRm_cFv(); -extern "C" void init__12daTagRetRm_cFv(); -extern "C" void chkPlyrInTag__12daTagRetRm_cFv(); -extern "C" static void daTagRetRm_create__FP12daTagRetRm_c(); -extern "C" static void daTagRetRm_Delete__FP12daTagRetRm_c(); -extern "C" static void daTagRetRm_execute__FP12daTagRetRm_c(); -extern "C" static void daTagRetRm_draw__FP12daTagRetRm_c(); +/* 80D5F050-80D5F14C 000230 00FC+00 1/1 0/0 0/0 .text chkPlyrInTag__12daTagRetRm_cFv */ +u8 daTagRetRm_c::chkPlyrInTag() { + cXyz pos; + if (dComIfGp_getPlayer(0) == NULL) { + return 0; + } else { + pos = daPy_getPlayerActorClass()->current.pos - current.pos; + mDoMtx_stack_c::YrotS(-current.angle.y); + mDoMtx_stack_c::multVec(&pos, &pos); + if ((0 < pos.y) && (field_0x570 > pos.y) && (field_0x56c > pos.x) && + (field_0x574 > pos.z) && (-field_0x56c < pos.x) && (-field_0x574 < pos.z)) + { + return 1; + } else { + return 0; + } + } +} -// -// External References: -// +/* 80D5F14C-80D5F1A0 00032C 0054+00 1/0 0/0 0/0 .text daTagRetRm_create__FP12daTagRetRm_c */ +static int daTagRetRm_create(daTagRetRm_c* i_this) { + if (!fopAcM_CheckCondition(i_this, 8)) { + new (i_this) daTagRetRm_c(); + fopAcM_OnCondition(i_this, 8); + } + return i_this->create(); +} -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void forceRestartRoom__9daPy_py_cFiUli(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __dl__FPv(); -extern "C" void PSMTXMultVec(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; +/* 80D5F1A0-80D5F1C0 000380 0020+00 1/0 0/0 0/0 .text daTagRetRm_Delete__FP12daTagRetRm_c */ +static int daTagRetRm_Delete(daTagRetRm_c* i_this) { + return i_this->Delete(); +} -// -// Declarations: -// +/* 80D5F1C0-80D5F1E0 0003A0 0020+00 1/0 0/0 0/0 .text daTagRetRm_execute__FP12daTagRetRm_c */ +static int daTagRetRm_execute(daTagRetRm_c* i_this) { + return i_this->execute(); +} + +/* 80D5F1E0-80D5F200 0003C0 0020+00 1/0 0/0 0/0 .text daTagRetRm_draw__FP12daTagRetRm_c */ +static int daTagRetRm_draw(daTagRetRm_c* i_this) { + return i_this->draw(); +} /* ############################################################################################## */ /* 80D5F214-80D5F234 -00001 0020+00 1/0 0/0 0/0 .data daTagRetRm_METHODS */ -SECTION_DATA static void* daTagRetRm_METHODS[8] = { - (void*)daTagRetRm_create__FP12daTagRetRm_c, - (void*)daTagRetRm_Delete__FP12daTagRetRm_c, - (void*)daTagRetRm_execute__FP12daTagRetRm_c, - (void*)NULL, - (void*)daTagRetRm_draw__FP12daTagRetRm_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class daTagRetRm_METHODS = { + (process_method_func)daTagRetRm_create, (process_method_func)daTagRetRm_Delete, + (process_method_func)daTagRetRm_execute, (process_method_func)NULL, + (process_method_func)daTagRetRm_draw, + }; /* 80D5F234-80D5F264 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_RetRoom */ -SECTION_DATA extern void* g_profile_Tag_RetRoom[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01890000, (void*)&g_fpcLf_Method, - (void*)0x0000057C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x02DB0000, (void*)&daTagRetRm_METHODS, - (void*)0x00040000, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_Tag_RetRoom = { + -3, // mLayerID + 7, // mListID + -3, // mListPrio + PROC_Tag_RetRoom, // mProcName + 0, // padding + &g_fpcLf_Method.mBase, // mSubMtd + sizeof(daTagRetRm_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // mSubMtd + 0x02DB, // mPriority + 0, // padding + 0, // padding + &daTagRetRm_METHODS, // mSubMtd + 0x00040000, // mStatus + 0x00, // mActorType + 0x0E, // mCullType + 0, // padding + 0, // padding }; - -/* 80D5F264-80D5F270 000050 000C+00 2/2 0/0 0/0 .data __vt__12daTagRetRm_c */ -SECTION_DATA extern void* __vt__12daTagRetRm_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12daTagRetRm_cFv, -}; - -/* 80D5EE98-80D5EED4 000078 003C+00 2/2 0/0 0/0 .text __ct__12daTagRetRm_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daTagRetRm_c::daTagRetRm_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/__ct__12daTagRetRm_cFv.s" -} -#pragma pop - -/* 80D5EED4-80D5EF34 0000B4 0060+00 1/0 0/0 0/0 .text __dt__12daTagRetRm_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daTagRetRm_c::~daTagRetRm_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/__dt__12daTagRetRm_cFv.s" -} -#pragma pop - -/* 80D5EF34-80D5EF8C 000114 0058+00 1/1 0/0 0/0 .text create__12daTagRetRm_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagRetRm_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/create__12daTagRetRm_cFv.s" -} -#pragma pop - -/* 80D5EF8C-80D5EF94 00016C 0008+00 1/1 0/0 0/0 .text Delete__12daTagRetRm_cFv */ -bool daTagRetRm_c::Delete() { - return true; -} - -/* 80D5EF94-80D5EF9C 000174 0008+00 1/1 0/0 0/0 .text draw__12daTagRetRm_cFv */ -bool daTagRetRm_c::draw() { - return true; -} - -/* 80D5EF9C-80D5F010 00017C 0074+00 1/1 0/0 0/0 .text execute__12daTagRetRm_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagRetRm_c::execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/execute__12daTagRetRm_cFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 80D5F208-80D5F20C 000000 0004+00 1/1 0/0 0/0 .rodata @3682 */ -SECTION_RODATA static f32 const lit_3682 = 50.0f; -COMPILER_STRIP_GATE(0x80D5F208, &lit_3682); - -/* 80D5F20C-80D5F210 000004 0004+00 1/1 0/0 0/0 .rodata @3683 */ -SECTION_RODATA static f32 const lit_3683 = 100.0f; -COMPILER_STRIP_GATE(0x80D5F20C, &lit_3683); - -/* 80D5F010-80D5F050 0001F0 0040+00 1/1 0/0 0/0 .text init__12daTagRetRm_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagRetRm_c::init() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/init__12daTagRetRm_cFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 80D5F210-80D5F214 000008 0004+00 1/1 0/0 0/0 .rodata @3718 */ -SECTION_RODATA static u8 const lit_3718[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80D5F210, &lit_3718); - -/* 80D5F050-80D5F14C 000230 00FC+00 1/1 0/0 0/0 .text chkPlyrInTag__12daTagRetRm_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagRetRm_c::chkPlyrInTag() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/chkPlyrInTag__12daTagRetRm_cFv.s" -} -#pragma pop - -/* 80D5F14C-80D5F1A0 00032C 0054+00 1/0 0/0 0/0 .text daTagRetRm_create__FP12daTagRetRm_c - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagRetRm_create(daTagRetRm_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_create__FP12daTagRetRm_c.s" -} -#pragma pop - -/* 80D5F1A0-80D5F1C0 000380 0020+00 1/0 0/0 0/0 .text daTagRetRm_Delete__FP12daTagRetRm_c - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagRetRm_Delete(daTagRetRm_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_Delete__FP12daTagRetRm_c.s" -} -#pragma pop - -/* 80D5F1C0-80D5F1E0 0003A0 0020+00 1/0 0/0 0/0 .text daTagRetRm_execute__FP12daTagRetRm_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagRetRm_execute(daTagRetRm_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_execute__FP12daTagRetRm_c.s" -} -#pragma pop - -/* 80D5F1E0-80D5F200 0003C0 0020+00 1/0 0/0 0/0 .text daTagRetRm_draw__FP12daTagRetRm_c - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagRetRm_draw(daTagRetRm_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_draw__FP12daTagRetRm_c.s" -} -#pragma pop