From 78196a18890f52703c50ec7d78c1dc708723c968 Mon Sep 17 00:00:00 2001 From: Trueffeloot Date: Fri, 7 Apr 2023 18:35:52 +0200 Subject: [PATCH] d_a_obj_cowdoor OK --- Progress.md | 8 +- .../CreateHeap__11daCowdoor_cFv.s | 31 -- .../d_a_obj_cowdoor/Create__11daCowdoor_cFv.s | 23 -- .../d_a_obj_cowdoor/Delete__11daCowdoor_cFv.s | 14 - .../d_a_obj_cowdoor/Draw__11daCowdoor_cFv.s | 42 --- .../Execute__11daCowdoor_cFPPA3_A4_f.s | 12 - .../daCowdoor_Create__FP10fopAc_ac_c.s | 9 - .../daCowdoor_Delete__FP11daCowdoor_c.s | 9 - .../daCowdoor_Draw__FP11daCowdoor_c.s | 12 - .../daCowdoor_Execute__FP11daCowdoor_c.s | 9 - .../d_a_obj_cowdoor/func_80BCC93C.s | 61 ---- .../setBaseMtx__11daCowdoor_cFv.s | 30 -- include/d/bg/d_bg_s.h | 2 + .../d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.h | 18 +- rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.cpp | 38 +- .../a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.cpp | 345 +++++------------- 16 files changed, 130 insertions(+), 533 deletions(-) delete mode 100644 asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/CreateHeap__11daCowdoor_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Create__11daCowdoor_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Delete__11daCowdoor_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Draw__11daCowdoor_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Execute__11daCowdoor_cFPPA3_A4_f.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Create__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Delete__FP11daCowdoor_c.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Draw__FP11daCowdoor_c.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Execute__FP11daCowdoor_c.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/func_80BCC93C.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/setBaseMtx__11daCowdoor_cFv.s diff --git a/Progress.md b/Progress.md index 1bd88aa498..bb60e07e7b 100644 --- a/Progress.md +++ b/Progress.md @@ -21,8 +21,8 @@ Total | 34.306504% | 1379352 | 4020672 Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- main.dol | 34.306504% | 1379352 | 4020672 -RELs | 33.416206% | 3842972 | 11500324 -Total | 33.646836% | 5222324 | 15520996 +RELs | 33.424450% | 3843920 | 11500324 +Total | 33.652943% | 5223272 | 15520996 ## RELs @@ -377,7 +377,7 @@ d_a_obj_cdoor | 40.255786% | 2644 | 6568 d_a_obj_chandelier | 36.773256% | 2024 | 5504 d_a_obj_chest | 39.833795% | 2876 | 7220 d_a_obj_cho | 33.555219% | 4436 | 13220 -d_a_obj_cowdoor | 56.672761% | 1240 | 2188 +d_a_obj_cowdoor | 100.000000% | 2188 | 2188 d_a_obj_crope | 26.014689% | 2692 | 10348 d_a_obj_crvfence | 37.146893% | 3156 | 8496 d_a_obj_crvgate | 27.603513% | 4400 | 15940 @@ -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.416206% | 3842972 | 11500324 +Total | 33.424450% | 3843920 | 11500324 diff --git a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/CreateHeap__11daCowdoor_cFv.s b/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/CreateHeap__11daCowdoor_cFv.s deleted file mode 100644 index 4e0c5106c3..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/CreateHeap__11daCowdoor_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_80BCC8C4: -/* 80BCC8C4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BCC8C8 7C 08 02 A6 */ mflr r0 -/* 80BCC8CC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BCC8D0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BCC8D4 7C 7F 1B 78 */ mr r31, r3 -/* 80BCC8D8 3C 60 80 BD */ lis r3, l_arcName@ha /* 0x80BCCBDC@ha */ -/* 80BCC8DC 38 63 CB DC */ addi r3, r3, l_arcName@l /* 0x80BCCBDC@l */ -/* 80BCC8E0 80 63 00 00 */ lwz r3, 0(r3) -/* 80BCC8E4 3C 80 80 BD */ lis r4, l_bmdName@ha /* 0x80BCCBE0@ha */ -/* 80BCC8E8 38 84 CB E0 */ addi r4, r4, l_bmdName@l /* 0x80BCCBE0@l */ -/* 80BCC8EC 80 84 00 00 */ lwz r4, 0(r4) -/* 80BCC8F0 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80BCC8F4 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80BCC8F8 3C A5 00 02 */ addis r5, r5, 2 -/* 80BCC8FC 38 C0 00 80 */ li r6, 0x80 -/* 80BCC900 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80BCC904 4B 46 FA 79 */ bl getRes__14dRes_control_cFPCcPCcP11dRes_info_ci -/* 80BCC908 3C 80 00 08 */ lis r4, 8 -/* 80BCC90C 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */ -/* 80BCC910 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */ -/* 80BCC914 4B 44 83 41 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl -/* 80BCC918 90 7F 05 A8 */ stw r3, 0x5a8(r31) -/* 80BCC91C 80 7F 05 A8 */ lwz r3, 0x5a8(r31) -/* 80BCC920 30 03 FF FF */ addic r0, r3, -1 -/* 80BCC924 7C 60 19 10 */ subfe r3, r0, r3 -/* 80BCC928 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BCC92C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BCC930 7C 08 03 A6 */ mtlr r0 -/* 80BCC934 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BCC938 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Create__11daCowdoor_cFv.s b/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Create__11daCowdoor_cFv.s deleted file mode 100644 index 63ab760848..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Create__11daCowdoor_cFv.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_80BCC86C: -/* 80BCC86C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BCC870 7C 08 02 A6 */ mflr r0 -/* 80BCC874 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BCC878 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BCC87C 7C 7F 1B 78 */ mr r31, r3 -/* 80BCC880 4B FF FF 79 */ bl setBaseMtx__11daCowdoor_cFv -/* 80BCC884 80 7F 05 A8 */ lwz r3, 0x5a8(r31) -/* 80BCC888 38 03 00 24 */ addi r0, r3, 0x24 -/* 80BCC88C 90 1F 05 04 */ stw r0, 0x504(r31) -/* 80BCC890 80 7F 05 A8 */ lwz r3, 0x5a8(r31) -/* 80BCC894 80 83 00 04 */ lwz r4, 4(r3) -/* 80BCC898 7F E3 FB 78 */ mr r3, r31 -/* 80BCC89C 4B 44 DC DD */ bl fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData -/* 80BCC8A0 3C 60 80 BD */ lis r3, lit_3648@ha /* 0x80BCCBB4@ha */ -/* 80BCC8A4 C0 03 CB B4 */ lfs f0, lit_3648@l(r3) /* 0x80BCCBB4@l */ -/* 80BCC8A8 D0 1F 05 20 */ stfs f0, 0x520(r31) -/* 80BCC8AC 38 60 00 01 */ li r3, 1 -/* 80BCC8B0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BCC8B4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BCC8B8 7C 08 03 A6 */ mtlr r0 -/* 80BCC8BC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BCC8C0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Delete__11daCowdoor_cFv.s b/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Delete__11daCowdoor_cFv.s deleted file mode 100644 index ce971c1ed2..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Delete__11daCowdoor_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80BCCAEC: -/* 80BCCAEC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BCCAF0 7C 08 02 A6 */ mflr r0 -/* 80BCCAF4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BCCAF8 3C 80 80 BD */ lis r4, l_arcName@ha /* 0x80BCCBDC@ha */ -/* 80BCCAFC 38 84 CB DC */ addi r4, r4, l_arcName@l /* 0x80BCCBDC@l */ -/* 80BCCB00 80 84 00 00 */ lwz r4, 0(r4) -/* 80BCCB04 38 63 05 A0 */ addi r3, r3, 0x5a0 -/* 80BCCB08 4B 46 05 01 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 80BCCB0C 38 60 00 01 */ li r3, 1 -/* 80BCCB10 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BCCB14 7C 08 03 A6 */ mtlr r0 -/* 80BCCB18 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BCCB1C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Draw__11daCowdoor_cFv.s b/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Draw__11daCowdoor_cFv.s deleted file mode 100644 index e5afa36e4b..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Draw__11daCowdoor_cFv.s +++ /dev/null @@ -1,42 +0,0 @@ -lbl_80BCCA48: -/* 80BCCA48 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BCCA4C 7C 08 02 A6 */ mflr r0 -/* 80BCCA50 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BCCA54 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BCCA58 93 C1 00 08 */ stw r30, 8(r1) -/* 80BCCA5C 7C 7E 1B 78 */ mr r30, r3 -/* 80BCCA60 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80BCCA64 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80BCCA68 38 80 00 10 */ li r4, 0x10 -/* 80BCCA6C 38 BE 04 D0 */ addi r5, r30, 0x4d0 -/* 80BCCA70 38 DE 01 0C */ addi r6, r30, 0x10c -/* 80BCCA74 4B 5D 6D 51 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c -/* 80BCCA78 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80BCCA7C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80BCCA80 80 9E 05 A8 */ lwz r4, 0x5a8(r30) -/* 80BCCA84 80 84 00 04 */ lwz r4, 4(r4) -/* 80BCCA88 38 BE 01 0C */ addi r5, r30, 0x10c -/* 80BCCA8C 4B 5D 83 15 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 80BCCA90 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80BCCA94 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80BCCA98 80 04 5F 70 */ lwz r0, 0x5f70(r4) -/* 80BCCA9C 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80BCCAA0 3B E3 4A C8 */ addi r31, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80BCCAA4 90 1F 00 48 */ stw r0, 0x48(r31) -/* 80BCCAA8 80 04 5F 74 */ lwz r0, 0x5f74(r4) -/* 80BCCAAC 90 1F 00 4C */ stw r0, 0x4c(r31) -/* 80BCCAB0 80 7E 05 A8 */ lwz r3, 0x5a8(r30) -/* 80BCCAB4 4B 44 12 11 */ bl mDoExt_modelUpdateDL__FP8J3DModel -/* 80BCCAB8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80BCCABC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80BCCAC0 80 03 5F 80 */ lwz r0, 0x5f80(r3) -/* 80BCCAC4 90 1F 00 48 */ stw r0, 0x48(r31) -/* 80BCCAC8 80 03 5F 84 */ lwz r0, 0x5f84(r3) -/* 80BCCACC 90 1F 00 4C */ stw r0, 0x4c(r31) -/* 80BCCAD0 38 60 00 01 */ li r3, 1 -/* 80BCCAD4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BCCAD8 83 C1 00 08 */ lwz r30, 8(r1) -/* 80BCCADC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BCCAE0 7C 08 03 A6 */ mtlr r0 -/* 80BCCAE4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BCCAE8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Execute__11daCowdoor_cFPPA3_A4_f.s b/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Execute__11daCowdoor_cFPPA3_A4_f.s deleted file mode 100644 index ccb58a67b3..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Execute__11daCowdoor_cFPPA3_A4_f.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80BCCA1C: -/* 80BCCA1C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BCCA20 7C 08 02 A6 */ mflr r0 -/* 80BCCA24 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BCCA28 38 03 05 6C */ addi r0, r3, 0x56c -/* 80BCCA2C 90 04 00 00 */ stw r0, 0(r4) -/* 80BCCA30 4B FF FD C9 */ bl setBaseMtx__11daCowdoor_cFv -/* 80BCCA34 38 60 00 01 */ li r3, 1 -/* 80BCCA38 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BCCA3C 7C 08 03 A6 */ mtlr r0 -/* 80BCCA40 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BCCA44 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Create__FP10fopAc_ac_c.s deleted file mode 100644 index fa2429000a..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80BCCB8C: -/* 80BCCB8C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BCCB90 7C 08 02 A6 */ mflr r0 -/* 80BCCB94 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BCCB98 4B FF FD A5 */ bl create__11daCowdoor_cFv -/* 80BCCB9C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BCCBA0 7C 08 03 A6 */ mtlr r0 -/* 80BCCBA4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BCCBA8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Delete__FP11daCowdoor_c.s b/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Delete__FP11daCowdoor_c.s deleted file mode 100644 index bde7d3e45e..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Delete__FP11daCowdoor_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80BCCB6C: -/* 80BCCB6C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BCCB70 7C 08 02 A6 */ mflr r0 -/* 80BCCB74 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BCCB78 4B 4A BD 65 */ bl MoveBGDelete__16dBgS_MoveBgActorFv -/* 80BCCB7C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BCCB80 7C 08 03 A6 */ mtlr r0 -/* 80BCCB84 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BCCB88 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Draw__FP11daCowdoor_c.s b/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Draw__FP11daCowdoor_c.s deleted file mode 100644 index fb9595fa30..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Draw__FP11daCowdoor_c.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80BCCB20: -/* 80BCCB20 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BCCB24 7C 08 02 A6 */ mflr r0 -/* 80BCCB28 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BCCB2C 81 83 05 9C */ lwz r12, 0x59c(r3) -/* 80BCCB30 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 80BCCB34 7D 89 03 A6 */ mtctr r12 -/* 80BCCB38 4E 80 04 21 */ bctrl -/* 80BCCB3C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BCCB40 7C 08 03 A6 */ mtlr r0 -/* 80BCCB44 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BCCB48 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Execute__FP11daCowdoor_c.s b/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Execute__FP11daCowdoor_c.s deleted file mode 100644 index 4f8894f09c..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Execute__FP11daCowdoor_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80BCCB4C: -/* 80BCCB4C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BCCB50 7C 08 02 A6 */ mflr r0 -/* 80BCCB54 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BCCB58 4B 4A BD F9 */ bl MoveBGExecute__16dBgS_MoveBgActorFv -/* 80BCCB5C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BCCB60 7C 08 03 A6 */ mtlr r0 -/* 80BCCB64 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BCCB68 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/func_80BCC93C.s b/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/func_80BCC93C.s deleted file mode 100644 index 3626be6165..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/func_80BCC93C.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_80BCC93C: -/* 80BCC93C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BCC940 7C 08 02 A6 */ mflr r0 -/* 80BCC944 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BCC948 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BCC94C 7C 7F 1B 78 */ mr r31, r3 -/* 80BCC950 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80BCC954 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80BCC958 40 82 00 28 */ bne lbl_80BCC980 -/* 80BCC95C 28 1F 00 00 */ cmplwi r31, 0 -/* 80BCC960 41 82 00 14 */ beq lbl_80BCC974 -/* 80BCC964 4B 4A BC C1 */ bl __ct__16dBgS_MoveBgActorFv -/* 80BCC968 3C 60 80 BD */ lis r3, __vt__11daCowdoor_c@ha /* 0x80BCCC38@ha */ -/* 80BCC96C 38 03 CC 38 */ addi r0, r3, __vt__11daCowdoor_c@l /* 0x80BCCC38@l */ -/* 80BCC970 90 1F 05 9C */ stw r0, 0x59c(r31) -lbl_80BCC974: -/* 80BCC974 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80BCC978 60 00 00 08 */ ori r0, r0, 8 -/* 80BCC97C 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80BCC980: -/* 80BCC980 38 7F 05 A0 */ addi r3, r31, 0x5a0 -/* 80BCC984 3C 80 80 BD */ lis r4, l_arcName@ha /* 0x80BCCBDC@ha */ -/* 80BCC988 38 84 CB DC */ addi r4, r4, l_arcName@l /* 0x80BCCBDC@l */ -/* 80BCC98C 80 84 00 00 */ lwz r4, 0(r4) -/* 80BCC990 4B 46 05 2D */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -/* 80BCC994 7C 60 1B 78 */ mr r0, r3 -/* 80BCC998 2C 00 00 04 */ cmpwi r0, 4 -/* 80BCC99C 40 82 00 68 */ bne lbl_80BCCA04 -/* 80BCC9A0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80BCC9A4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80BCC9A8 3C 63 00 02 */ addis r3, r3, 2 -/* 80BCC9AC 3C 80 80 BD */ lis r4, l_arcName@ha /* 0x80BCCBDC@ha */ -/* 80BCC9B0 38 84 CB DC */ addi r4, r4, l_arcName@l /* 0x80BCCBDC@l */ -/* 80BCC9B4 80 84 00 00 */ lwz r4, 0(r4) -/* 80BCC9B8 3C A0 80 BD */ lis r5, l_dzbName@ha /* 0x80BCCBE4@ha */ -/* 80BCC9BC 38 A5 CB E4 */ addi r5, r5, l_dzbName@l /* 0x80BCCBE4@l */ -/* 80BCC9C0 80 A5 00 00 */ lwz r5, 0(r5) -/* 80BCC9C4 38 63 C2 F8 */ addi r3, r3, -15624 -/* 80BCC9C8 4B 46 FC F1 */ bl getObjectResName2Index__14dRes_control_cFPCcPCc -/* 80BCC9CC 7C 65 1B 78 */ mr r5, r3 -/* 80BCC9D0 7F E3 FB 78 */ mr r3, r31 -/* 80BCC9D4 3C 80 80 BD */ lis r4, l_arcName@ha /* 0x80BCCBDC@ha */ -/* 80BCC9D8 38 84 CB DC */ addi r4, r4, l_arcName@l /* 0x80BCCBDC@l */ -/* 80BCC9DC 80 84 00 00 */ lwz r4, 0(r4) -/* 80BCC9E0 3C C0 80 07 */ lis r6, dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz@ha /* 0x80075AD8@ha */ -/* 80BCC9E4 38 C6 5A D8 */ addi r6, r6, dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz@l /* 0x80075AD8@l */ -/* 80BCC9E8 38 E0 40 00 */ li r7, 0x4000 -/* 80BCC9EC 39 00 00 00 */ li r8, 0 -/* 80BCC9F0 4B 4A BD CD */ bl MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f -/* 80BCC9F4 7C 60 1B 78 */ mr r0, r3 -/* 80BCC9F8 2C 00 00 05 */ cmpwi r0, 5 -/* 80BCC9FC 40 82 00 08 */ bne lbl_80BCCA04 -/* 80BCCA00 48 00 00 08 */ b lbl_80BCCA08 -lbl_80BCCA04: -/* 80BCCA04 7C 03 03 78 */ mr r3, r0 -lbl_80BCCA08: -/* 80BCCA08 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BCCA0C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BCCA10 7C 08 03 A6 */ mtlr r0 -/* 80BCCA14 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BCCA18 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/setBaseMtx__11daCowdoor_cFv.s b/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/setBaseMtx__11daCowdoor_cFv.s deleted file mode 100644 index 273129e697..0000000000 --- a/asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/setBaseMtx__11daCowdoor_cFv.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_80BCC7F8: -/* 80BCC7F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80BCC7FC 7C 08 02 A6 */ mflr r0 -/* 80BCC800 90 01 00 14 */ stw r0, 0x14(r1) -/* 80BCC804 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80BCC808 7C 7F 1B 78 */ mr r31, r3 -/* 80BCC80C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80BCC810 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80BCC814 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) -/* 80BCC818 C0 5F 04 D4 */ lfs f2, 0x4d4(r31) -/* 80BCC81C C0 7F 04 D8 */ lfs f3, 0x4d8(r31) -/* 80BCC820 4B 77 A0 C9 */ bl PSMTXTrans -/* 80BCC824 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80BCC828 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80BCC82C A8 9F 04 E6 */ lha r4, 0x4e6(r31) -/* 80BCC830 4B 43 FC 05 */ bl mDoMtx_YrotM__FPA4_fs -/* 80BCC834 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80BCC838 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80BCC83C 80 9F 05 A8 */ lwz r4, 0x5a8(r31) -/* 80BCC840 38 84 00 24 */ addi r4, r4, 0x24 -/* 80BCC844 4B 77 9C 6D */ bl PSMTXCopy -/* 80BCC848 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80BCC84C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80BCC850 38 9F 05 6C */ addi r4, r31, 0x56c -/* 80BCC854 4B 77 9C 5D */ bl PSMTXCopy -/* 80BCC858 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80BCC85C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80BCC860 7C 08 03 A6 */ mtlr r0 -/* 80BCC864 38 21 00 10 */ addi r1, r1, 0x10 -/* 80BCC868 4E 80 00 20 */ blr diff --git a/include/d/bg/d_bg_s.h b/include/d/bg/d_bg_s.h index 0335ebe8d7..9e8ca34a97 100644 --- a/include/d/bg/d_bg_s.h +++ b/include/d/bg/d_bg_s.h @@ -111,6 +111,8 @@ bool dBgS_CheckBGroundPoly(cBgS_PolyInfo const&); bool dBgS_CheckBWallPoly(cBgS_PolyInfo const&); void dBgS_MoveBGProc_Typical(dBgW* param_0, void* param_1, cBgS_PolyInfo const& param_2, bool param_3, cXyz* param_4, csXyz* param_5, csXyz* param_6); +void dBgS_MoveBGProc_TypicalRotY(dBgW* param_0, void* param_1, cBgS_PolyInfo const& param_2, + bool param_3, cXyz* param_4, csXyz* param_5, csXyz* param_6); f32 dBgS_GetNY(cBgS_PolyInfo const& poly); #endif /* D_BG_D_BG_S_H */ diff --git a/include/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.h b/include/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.h index 17258c6e2c..74c53c4433 100644 --- a/include/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.h +++ b/include/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.h @@ -1,6 +1,22 @@ #ifndef D_A_OBJ_COWDOOR_H #define D_A_OBJ_COWDOOR_H -#include "dolphin/types.h" +#include "d/bg/d_bg_s_movebg_actor.h" +#include "d/com/d_com_inf_game.h" +#include "f_op/f_op_actor_mng.h" + +class daCowdoor_c : public dBgS_MoveBgActor { +public: + /* 80BCC7F8 */ void setBaseMtx(); + /* 80BCC86C */ int Create(); + /* 80BCC8C4 */ int CreateHeap(); + /* 80BCC93C */ int create(); + /* 80BCCA1C */ int Execute(f32 (**)[3][4]); + /* 80BCCA48 */ int Draw(); + /* 80BCCAEC */ int Delete(); + + /* 0x5A0 */ request_of_phase_process_class field_0x5a0; + /* 0x5A8 */ J3DModel* field_0x5a8; +}; // Size: 0x5AC #endif /* D_A_OBJ_COWDOOR_H */ diff --git a/rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.cpp b/rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.cpp index 40730ab8cd..a51dbbea03 100644 --- a/rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.cpp +++ b/rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.cpp @@ -129,23 +129,23 @@ static actor_method_class l_daObjBombf_Method = { /* 80BBAEC8-80BBAEF8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Bombf */ extern actor_process_profile_definition g_profile_Obj_Bombf = { - -3, - 7, - -3, - PROC_Obj_Bombf, - 0, - &g_fpcLf_Method.mBase, - sizeof(daObjBombf_c), - 0, - 0, - &g_fopAc_Method.base, - 0x00FB, - 0, - 0, - &l_daObjBombf_Method, - 0x00040100, - 3, - 14, - 0, - 0, + -3, // mLayerID + 7, // mListID + -3, // mListPrio + PROC_Obj_Bombf, // mProcName + 0, // Padding + &g_fpcLf_Method.mBase, // mSubMtd + sizeof(daObjBombf_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // mSubMtd + 0x00FB, // mPriority + 0, // Padding + 0, // Padding + &l_daObjBombf_Method, // mSubMtd + 0x00040100, // mStatus + 3, // mActorType + 14, // mCullType + 0, // Padding + 0, // Padding }; diff --git a/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.cpp b/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.cpp index 781c759f4d..2da2f7918a 100644 --- a/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.cpp +++ b/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.cpp @@ -1,301 +1,132 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_obj_cowdoor -// +/** + * d_a_obj_cowdoor.cpp + * Cow Door + */ #include "rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - static u8 now[48]; -}; - -struct fopAc_ac_c {}; - -struct daCowdoor_c { - /* 80BCC7F8 */ void setBaseMtx(); - /* 80BCC86C */ void Create(); - /* 80BCC8C4 */ void CreateHeap(); - /* 80BCC93C */ void create(); - /* 80BCCA1C */ void Execute(f32 (**)[3][4]); - /* 80BCCA48 */ void Draw(); - /* 80BCCAEC */ void Delete(); -}; - -struct dKy_tevstr_c {}; - -struct J3DModelData {}; - -struct cXyz {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int); - /* 8003C6B8 */ void getObjectResName2Index(char const*, char const*); -}; - -struct dBgW {}; - -struct cBgS_PolyInfo {}; - -struct csXyz {}; - -struct dBgS_MoveBgActor { - /* 80078624 */ dBgS_MoveBgActor(); - /* 800786B0 */ bool IsDelete(); - /* 800786B8 */ bool ToFore(); - /* 800786C0 */ bool ToBack(); - /* 800787BC */ void MoveBGCreate(char const*, int, - void (*)(dBgW*, void*, cBgS_PolyInfo const&, bool, cXyz*, - csXyz*, csXyz*), - u32, f32 (*)[3][4]); - /* 800788DC */ void MoveBGDelete(); - /* 80078950 */ void MoveBGExecute(); -}; - -struct J3DModel {}; - -// -// Forward References: -// - -extern "C" void setBaseMtx__11daCowdoor_cFv(); -extern "C" void Create__11daCowdoor_cFv(); -extern "C" void CreateHeap__11daCowdoor_cFv(); -extern "C" void create__11daCowdoor_cFv(); -extern "C" void Execute__11daCowdoor_cFPPA3_A4_f(); -extern "C" void Draw__11daCowdoor_cFv(); -extern "C" void Delete__11daCowdoor_cFv(); -extern "C" static void daCowdoor_Draw__FP11daCowdoor_c(); -extern "C" static void daCowdoor_Execute__FP11daCowdoor_c(); -extern "C" static void daCowdoor_Delete__FP11daCowdoor_c(); -extern "C" static void daCowdoor_Create__FP10fopAc_ac_c(); -extern "C" extern char const* const d_a_obj_cowdoor__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci(); -extern "C" void getObjectResName2Index__14dRes_control_cFPCcPCc(); -extern "C" void dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); -extern "C" void __ct__16dBgS_MoveBgActorFv(); -extern "C" bool IsDelete__16dBgS_MoveBgActorFv(); -extern "C" bool ToFore__16dBgS_MoveBgActorFv(); -extern "C" bool ToBack__16dBgS_MoveBgActorFv(); -extern "C" void -MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f(); -extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv(); -extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -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]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; - -// -// Declarations: -// /* 80BCC7F8-80BCC86C 000078 0074+00 2/2 0/0 0/0 .text setBaseMtx__11daCowdoor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daCowdoor_c::setBaseMtx() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/setBaseMtx__11daCowdoor_cFv.s" +void daCowdoor_c::setBaseMtx() { + PSMTXTrans(mDoMtx_stack_c::now, current.pos.x, current.pos.y, current.pos.z); + mDoMtx_stack_c::YrotM(shape_angle.y); + PSMTXCopy(mDoMtx_stack_c::now, field_0x5a8->mBaseTransformMtx); + PSMTXCopy(mDoMtx_stack_c::now, field_0x56c); } -#pragma pop - -/* ############################################################################################## */ -/* 80BCCBB4-80BCCBB8 000000 0004+00 1/1 0/0 0/0 .rodata @3648 */ -SECTION_RODATA static f32 const lit_3648 = 5.0f; -COMPILER_STRIP_GATE(0x80BCCBB4, &lit_3648); /* 80BCC86C-80BCC8C4 0000EC 0058+00 1/0 0/0 0/0 .text Create__11daCowdoor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daCowdoor_c::Create() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Create__11daCowdoor_cFv.s" +int daCowdoor_c::Create() { + setBaseMtx(); + mCullMtx = field_0x5a8->mBaseTransformMtx; + fopAcM_setCullSizeBox2(this, field_0x5a8->getModelData()); + mCullSizeFar = 5.0f; + return 1; } -#pragma pop - -/* ############################################################################################## */ -/* 80BCCBB8-80BCCBB8 000004 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80BCCBB8 = "A_UHDoor"; -SECTION_DEAD static char const* const stringBase_80BCCBC1 = "A_UHDoor.bmd"; -#pragma pop /* 80BCCBDC-80BCCBE0 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ -SECTION_DATA static void* l_arcName = (void*)&d_a_obj_cowdoor__stringBase0; +static const char* l_arcName[] = {"A_UHDoor"}; /* 80BCCBE0-80BCCBE4 -00001 0004+00 1/1 0/0 0/0 .data l_bmdName */ -SECTION_DATA static void* l_bmdName = (void*)(((char*)&d_a_obj_cowdoor__stringBase0) + 0x9); +static const char* l_bmdName[] = {"A_UHDoor.bmd"}; /* 80BCC8C4-80BCC93C 000144 0078+00 1/0 0/0 0/0 .text CreateHeap__11daCowdoor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daCowdoor_c::CreateHeap() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/CreateHeap__11daCowdoor_cFv.s" +int daCowdoor_c::CreateHeap() { + field_0x5a8 = mDoExt_J3DModel__create( + (J3DModelData*)dComIfG_getObjectRes(l_arcName[0], l_bmdName[0]), 0x80000, 0x11000084); + return (field_0x5a8 != NULL) ? 1 : 0; } -#pragma pop - -/* ############################################################################################## */ -/* 80BCCBB8-80BCCBB8 000004 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80BCCBCE = "A_UHDoor.dzb"; -#pragma pop /* 80BCCBE4-80BCCBE8 -00001 0004+00 1/1 0/0 0/0 .data l_dzbName */ -SECTION_DATA static void* l_dzbName = (void*)(((char*)&d_a_obj_cowdoor__stringBase0) + 0x16); - -/* 80BCCBE8-80BCCC08 -00001 0020+00 1/0 0/0 0/0 .data l_daCowdoor_Method */ -SECTION_DATA static void* l_daCowdoor_Method[8] = { - (void*)daCowdoor_Create__FP10fopAc_ac_c, - (void*)daCowdoor_Delete__FP11daCowdoor_c, - (void*)daCowdoor_Execute__FP11daCowdoor_c, - (void*)NULL, - (void*)daCowdoor_Draw__FP11daCowdoor_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 80BCCC08-80BCCC38 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Cowdoor */ -SECTION_DATA extern void* g_profile_Obj_Cowdoor[12] = { - (void*)0xFFFFFFFD, (void*)0x0003FFFD, - (void*)0x005D0000, (void*)&g_fpcLf_Method, - (void*)0x000005AC, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x01BF0000, (void*)&l_daCowdoor_Method, - (void*)0x00040100, (void*)0x000E0000, -}; - -/* 80BCCC38-80BCCC60 00005C 0028+00 1/1 0/0 0/0 .data __vt__11daCowdoor_c */ -SECTION_DATA extern void* __vt__11daCowdoor_c[10] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)CreateHeap__11daCowdoor_cFv, - (void*)Create__11daCowdoor_cFv, - (void*)Execute__11daCowdoor_cFPPA3_A4_f, - (void*)Draw__11daCowdoor_cFv, - (void*)Delete__11daCowdoor_cFv, - (void*)IsDelete__16dBgS_MoveBgActorFv, - (void*)ToFore__16dBgS_MoveBgActorFv, - (void*)ToBack__16dBgS_MoveBgActorFv, -}; +static const char* l_dzbName[] = {"A_UHDoor.dzb"}; /* 80BCC93C-80BCCA1C 0001BC 00E0+00 1/1 0/0 0/0 .text create__11daCowdoor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daCowdoor_c::create() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/func_80BCC93C.s" +int daCowdoor_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daCowdoor_c(); + fopAcM_OnCondition(this, 8); + } + int phase = dComIfG_resLoad(&field_0x5a0, l_arcName[0]); + if (phase == cPhs_COMPLEATE_e) { + phase = + MoveBGCreate(l_arcName[0], dComIfG_getObjctResName2Index(l_arcName[0], l_dzbName[0]), + dBgS_MoveBGProc_TypicalRotY, 0x4000, NULL); + if (phase == cPhs_ERROR_e) { + return phase; + } + } + return phase; } -#pragma pop /* 80BCCA1C-80BCCA48 00029C 002C+00 1/0 0/0 0/0 .text Execute__11daCowdoor_cFPPA3_A4_f */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daCowdoor_c::Execute(f32 (**param_0)[3][4]) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Execute__11daCowdoor_cFPPA3_A4_f.s" +int daCowdoor_c::Execute(f32 (**param_0)[3][4]) { + *param_0 = &field_0x56c; + setBaseMtx(); + return 1; } -#pragma pop /* 80BCCA48-80BCCAEC 0002C8 00A4+00 1/0 0/0 0/0 .text Draw__11daCowdoor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daCowdoor_c::Draw() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Draw__11daCowdoor_cFv.s" +int daCowdoor_c::Draw() { + g_env_light.settingTevStruct(0x10, ¤t.pos, &mTevStr); + g_env_light.setLightTevColorType_MAJI(field_0x5a8->mModelData, &mTevStr); + dComIfGd_setListBG(); + mDoExt_modelUpdateDL(field_0x5a8); + dComIfGd_setList(); + return 1; } -#pragma pop /* 80BCCAEC-80BCCB20 00036C 0034+00 1/0 0/0 0/0 .text Delete__11daCowdoor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daCowdoor_c::Delete() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Delete__11daCowdoor_cFv.s" +int daCowdoor_c::Delete() { + dComIfG_resDelete(&field_0x5a0, l_arcName[0]); + return 1; } -#pragma pop /* 80BCCB20-80BCCB4C 0003A0 002C+00 1/0 0/0 0/0 .text daCowdoor_Draw__FP11daCowdoor_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daCowdoor_Draw(daCowdoor_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Draw__FP11daCowdoor_c.s" +static int daCowdoor_Draw(daCowdoor_c* i_this) { + return static_cast(i_this)->Draw(); } -#pragma pop /* 80BCCB4C-80BCCB6C 0003CC 0020+00 1/0 0/0 0/0 .text daCowdoor_Execute__FP11daCowdoor_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daCowdoor_Execute(daCowdoor_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Execute__FP11daCowdoor_c.s" +static int daCowdoor_Execute(daCowdoor_c* i_this) { + return static_cast(i_this)->MoveBGExecute(); } -#pragma pop /* 80BCCB6C-80BCCB8C 0003EC 0020+00 1/0 0/0 0/0 .text daCowdoor_Delete__FP11daCowdoor_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daCowdoor_Delete(daCowdoor_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Delete__FP11daCowdoor_c.s" +static int daCowdoor_Delete(daCowdoor_c* i_this) { + return static_cast(i_this)->MoveBGDelete(); } -#pragma pop /* 80BCCB8C-80BCCBAC 00040C 0020+00 1/0 0/0 0/0 .text daCowdoor_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daCowdoor_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Create__FP10fopAc_ac_c.s" +static int daCowdoor_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -#pragma pop -/* 80BCCBB8-80BCCBB8 000004 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +/* 80BCCBE8-80BCCC08 -00001 0020+00 1/0 0/0 0/0 .data l_daCowdoor_Method */ +static actor_method_class l_daCowdoor_Method = { + (process_method_func)daCowdoor_Create, (process_method_func)daCowdoor_Delete, + (process_method_func)daCowdoor_Execute, (process_method_func)NULL, + (process_method_func)daCowdoor_Draw, +}; + +/* 80BCCC08-80BCCC38 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Cowdoor */ +extern actor_process_profile_definition g_profile_Obj_Cowdoor = { + -3, // mLayerID + 3, // mListID + -3, // mListPrio + PROC_Obj_Cowdoor, // mProcName + 0, // Padding + &g_fpcLf_Method.mBase, // mSubMtd + sizeof(daCowdoor_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // mSubMtd + 0x01BF, // mPriority + 0, // Padding + 0, // Padding + &l_daCowdoor_Method, // mSubMtd + 0x00040100, // mStatus + 0, // mActorType + 14, // mCullType + 0, // Padding + 0, // Padding +}; \ No newline at end of file