diff --git a/Progress.md b/Progress.md index a1cbdfef2f7..854abf9d480 100644 --- a/Progress.md +++ b/Progress.md @@ -21,8 +21,8 @@ Total | 52.688307% | 2118424 | 4020672 Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- main.dol | 52.688307% | 2118424 | 4020672 -RELs | 36.628812% | 4212432 | 11500324 -Total | 40.788980% | 6330856 | 15520996 +RELs | 36.639420% | 4213652 | 11500324 +Total | 40.796841% | 6332076 | 15520996 ## RELs @@ -592,7 +592,7 @@ d_a_obj_scannon | 35.209799% | 5404 | 15348 d_a_obj_scannon_crs | 35.204678% | 3612 | 10260 d_a_obj_scannon_ten | 37.738049% | 3884 | 10292 d_a_obj_sekidoor | 43.834383% | 1948 | 4444 -d_a_obj_sekizo | 58.276334% | 1704 | 2924 +d_a_obj_sekizo | 100.000000% | 2924 | 2924 d_a_obj_sekizoa | 32.789446% | 15112 | 46088 d_a_obj_shield | 34.160959% | 3192 | 9344 d_a_obj_sm_door | 39.302885% | 2616 | 6656 @@ -785,4 +785,4 @@ d_a_vrbox2 | 44.907111% | 2804 | 6244 d_a_warp_bug | 100.000000% | 2024 | 2024 d_a_ykgr | 44.400631% | 2252 | 5072 f_pc_profile_lst | 100.000000% | 28156 | 28156 -Total | 36.628812% | 4212432 | 11500324 +Total | 36.639420% | 4213652 | 11500324 diff --git a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/CreateHeap__14daObj_Sekizo_cFv.s b/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/CreateHeap__14daObj_Sekizo_cFv.s deleted file mode 100644 index ffff504deac..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/CreateHeap__14daObj_Sekizo_cFv.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_80CCDD00: -/* 80CCDD00 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CCDD04 7C 08 02 A6 */ mflr r0 -/* 80CCDD08 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CCDD0C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80CCDD10 7C 7F 1B 78 */ mr r31, r3 -/* 80CCDD14 88 03 05 B0 */ lbz r0, 0x5b0(r3) -/* 80CCDD18 54 05 18 38 */ slwi r5, r0, 3 -/* 80CCDD1C 3C 60 80 CD */ lis r3, l_bmdData@ha /* 0x80CCE19C@ha */ -/* 80CCDD20 38 83 E1 9C */ addi r4, r3, l_bmdData@l /* 0x80CCE19C@l */ -/* 80CCDD24 7C 64 2A 14 */ add r3, r4, r5 -/* 80CCDD28 80 03 00 04 */ lwz r0, 4(r3) -/* 80CCDD2C 54 00 10 3A */ slwi r0, r0, 2 -/* 80CCDD30 3C 60 80 CD */ lis r3, l_resNameList@ha /* 0x80CCE1AC@ha */ -/* 80CCDD34 38 63 E1 AC */ addi r3, r3, l_resNameList@l /* 0x80CCE1AC@l */ -/* 80CCDD38 7C 63 00 2E */ lwzx r3, r3, r0 -/* 80CCDD3C 7C 84 28 2E */ lwzx r4, r4, r5 -/* 80CCDD40 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80CCDD44 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80CCDD48 3C A5 00 02 */ addis r5, r5, 2 -/* 80CCDD4C 38 C0 00 80 */ li r6, 0x80 -/* 80CCDD50 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80CCDD54 4B 36 E5 99 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80CCDD58 3C 80 00 08 */ lis r4, 8 -/* 80CCDD5C 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */ -/* 80CCDD60 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */ -/* 80CCDD64 4B 34 6E F1 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl -/* 80CCDD68 90 7F 05 AC */ stw r3, 0x5ac(r31) -/* 80CCDD6C 80 7F 05 AC */ lwz r3, 0x5ac(r31) -/* 80CCDD70 30 03 FF FF */ addic r0, r3, -1 -/* 80CCDD74 7C 60 19 10 */ subfe r3, r0, r3 -/* 80CCDD78 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80CCDD7C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CCDD80 7C 08 03 A6 */ mtlr r0 -/* 80CCDD84 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CCDD88 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/Delete__14daObj_Sekizo_cFv.s b/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/Delete__14daObj_Sekizo_cFv.s deleted file mode 100644 index e0725361111..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/Delete__14daObj_Sekizo_cFv.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_80CCDDE8: -/* 80CCDDE8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CCDDEC 7C 08 02 A6 */ mflr r0 -/* 80CCDDF0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CCDDF4 7C 65 1B 78 */ mr r5, r3 -/* 80CCDDF8 38 65 05 A4 */ addi r3, r5, 0x5a4 -/* 80CCDDFC 3C 80 80 CD */ lis r4, l_bmdData@ha /* 0x80CCE19C@ha */ -/* 80CCDE00 38 84 E1 9C */ addi r4, r4, l_bmdData@l /* 0x80CCE19C@l */ -/* 80CCDE04 88 05 05 B0 */ lbz r0, 0x5b0(r5) -/* 80CCDE08 54 00 18 38 */ slwi r0, r0, 3 -/* 80CCDE0C 7C 84 02 14 */ add r4, r4, r0 -/* 80CCDE10 80 04 00 04 */ lwz r0, 4(r4) -/* 80CCDE14 54 00 10 3A */ slwi r0, r0, 2 -/* 80CCDE18 3C 80 80 CD */ lis r4, l_resNameList@ha /* 0x80CCE1AC@ha */ -/* 80CCDE1C 38 84 E1 AC */ addi r4, r4, l_resNameList@l /* 0x80CCE1AC@l */ -/* 80CCDE20 7C 84 00 2E */ lwzx r4, r4, r0 -/* 80CCDE24 4B 35 F1 E5 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 80CCDE28 38 60 00 01 */ li r3, 1 -/* 80CCDE2C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CCDE30 7C 08 03 A6 */ mtlr r0 -/* 80CCDE34 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CCDE38 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/Draw__14daObj_Sekizo_cFv.s b/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/Draw__14daObj_Sekizo_cFv.s deleted file mode 100644 index 4ee7a224c30..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/Draw__14daObj_Sekizo_cFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_80CCDEF4: -/* 80CCDEF4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CCDEF8 7C 08 02 A6 */ mflr r0 -/* 80CCDEFC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CCDF00 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80CCDF04 93 C1 00 08 */ stw r30, 8(r1) -/* 80CCDF08 7C 7E 1B 78 */ mr r30, r3 -/* 80CCDF0C 88 03 05 B2 */ lbz r0, 0x5b2(r3) -/* 80CCDF10 28 00 00 00 */ cmplwi r0, 0 -/* 80CCDF14 40 82 00 74 */ bne lbl_80CCDF88 -/* 80CCDF18 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80CCDF1C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80CCDF20 38 80 00 10 */ li r4, 0x10 -/* 80CCDF24 38 BE 04 D0 */ addi r5, r30, 0x4d0 -/* 80CCDF28 38 DE 01 0C */ addi r6, r30, 0x10c -/* 80CCDF2C 4B 4D 58 99 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c -/* 80CCDF30 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80CCDF34 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80CCDF38 80 9E 05 AC */ lwz r4, 0x5ac(r30) -/* 80CCDF3C 80 84 00 04 */ lwz r4, 4(r4) -/* 80CCDF40 38 BE 01 0C */ addi r5, r30, 0x10c -/* 80CCDF44 4B 4D 6E 5D */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 80CCDF48 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80CCDF4C 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80CCDF50 80 04 5F 70 */ lwz r0, 0x5f70(r4) -/* 80CCDF54 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */ -/* 80CCDF58 3B E3 4A C8 */ addi r31, r3, j3dSys@l /* 0x80434AC8@l */ -/* 80CCDF5C 90 1F 00 48 */ stw r0, 0x48(r31) -/* 80CCDF60 80 04 5F 74 */ lwz r0, 0x5f74(r4) -/* 80CCDF64 90 1F 00 4C */ stw r0, 0x4c(r31) -/* 80CCDF68 80 7E 05 AC */ lwz r3, 0x5ac(r30) -/* 80CCDF6C 4B 33 FD 59 */ bl mDoExt_modelUpdateDL__FP8J3DModel -/* 80CCDF70 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80CCDF74 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80CCDF78 80 03 5F 80 */ lwz r0, 0x5f80(r3) -/* 80CCDF7C 90 1F 00 48 */ stw r0, 0x48(r31) -/* 80CCDF80 80 03 5F 84 */ lwz r0, 0x5f84(r3) -/* 80CCDF84 90 1F 00 4C */ stw r0, 0x4c(r31) -lbl_80CCDF88: -/* 80CCDF88 38 60 00 01 */ li r3, 1 -/* 80CCDF8C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80CCDF90 83 C1 00 08 */ lwz r30, 8(r1) -/* 80CCDF94 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CCDF98 7C 08 03 A6 */ mtlr r0 -/* 80CCDF9C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CCDFA0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/Execute__14daObj_Sekizo_cFPPA3_A4_f.s b/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/Execute__14daObj_Sekizo_cFPPA3_A4_f.s deleted file mode 100644 index 67a7dd2c821..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/Execute__14daObj_Sekizo_cFPPA3_A4_f.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_80CCDE3C: -/* 80CCDE3C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CCDE40 7C 08 02 A6 */ mflr r0 -/* 80CCDE44 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CCDE48 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80CCDE4C 7C 7F 1B 78 */ mr r31, r3 -/* 80CCDE50 88 03 04 BA */ lbz r0, 0x4ba(r3) -/* 80CCDE54 7C 06 07 74 */ extsb r6, r0 -/* 80CCDE58 3C A0 80 45 */ lis r5, mStayNo__20dStage_roomControl_c+0x0@ha /* 0x80450D64@ha */ -/* 80CCDE5C 88 05 0D 64 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0@l(r5) /* 0x80450D64@l */ -/* 80CCDE60 7C 00 07 74 */ extsb r0, r0 -/* 80CCDE64 7C 06 00 00 */ cmpw r6, r0 -/* 80CCDE68 40 82 00 74 */ bne lbl_80CCDEDC -/* 80CCDE6C 38 1F 05 6C */ addi r0, r31, 0x56c -/* 80CCDE70 90 04 00 00 */ stw r0, 0(r4) -/* 80CCDE74 48 00 01 6D */ bl setBaseMtx__14daObj_Sekizo_cFv -/* 80CCDE78 88 1F 05 B2 */ lbz r0, 0x5b2(r31) -/* 80CCDE7C 28 00 00 00 */ cmplwi r0, 0 -/* 80CCDE80 41 82 00 30 */ beq lbl_80CCDEB0 -/* 80CCDE84 88 1F 05 B1 */ lbz r0, 0x5b1(r31) -/* 80CCDE88 28 00 00 00 */ cmplwi r0, 0 -/* 80CCDE8C 41 82 00 50 */ beq lbl_80CCDEDC -/* 80CCDE90 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80CCDE94 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80CCDE98 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 80CCDE9C 80 9F 05 68 */ lwz r4, 0x568(r31) -/* 80CCDEA0 4B 3A 63 B1 */ bl Release__4cBgSFP9dBgW_Base -/* 80CCDEA4 38 00 00 00 */ li r0, 0 -/* 80CCDEA8 98 1F 05 B1 */ stb r0, 0x5b1(r31) -/* 80CCDEAC 48 00 00 30 */ b lbl_80CCDEDC -lbl_80CCDEB0: -/* 80CCDEB0 88 1F 05 B1 */ lbz r0, 0x5b1(r31) -/* 80CCDEB4 28 00 00 00 */ cmplwi r0, 0 -/* 80CCDEB8 40 82 00 24 */ bne lbl_80CCDEDC -/* 80CCDEBC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80CCDEC0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80CCDEC4 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 80CCDEC8 80 9F 05 68 */ lwz r4, 0x568(r31) -/* 80CCDECC 7F E5 FB 78 */ mr r5, r31 -/* 80CCDED0 4B 3A 6B 39 */ bl Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c -/* 80CCDED4 38 00 00 01 */ li r0, 1 -/* 80CCDED8 98 1F 05 B1 */ stb r0, 0x5b1(r31) -lbl_80CCDEDC: -/* 80CCDEDC 38 60 00 01 */ li r3, 1 -/* 80CCDEE0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80CCDEE4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CCDEE8 7C 08 03 A6 */ mtlr r0 -/* 80CCDEEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CCDEF0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/create__14daObj_Sekizo_cFv.s b/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/create__14daObj_Sekizo_cFv.s deleted file mode 100644 index 2e5be034e50..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/create__14daObj_Sekizo_cFv.s +++ /dev/null @@ -1,66 +0,0 @@ -lbl_80CCDC0C: -/* 80CCDC0C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CCDC10 7C 08 02 A6 */ mflr r0 -/* 80CCDC14 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CCDC18 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80CCDC1C 93 C1 00 08 */ stw r30, 8(r1) -/* 80CCDC20 7C 7E 1B 78 */ mr r30, r3 -/* 80CCDC24 3C 80 80 CD */ lis r4, cNullVec__6Z2Calc@ha /* 0x80CCE17C@ha */ -/* 80CCDC28 3B E4 E1 7C */ addi r31, r4, cNullVec__6Z2Calc@l /* 0x80CCE17C@l */ -/* 80CCDC2C 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80CCDC30 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80CCDC34 40 82 00 28 */ bne lbl_80CCDC5C -/* 80CCDC38 28 1E 00 00 */ cmplwi r30, 0 -/* 80CCDC3C 41 82 00 14 */ beq lbl_80CCDC50 -/* 80CCDC40 4B 3A A9 E5 */ bl __ct__16dBgS_MoveBgActorFv -/* 80CCDC44 3C 60 80 CD */ lis r3, __vt__14daObj_Sekizo_c@ha /* 0x80CCE204@ha */ -/* 80CCDC48 38 03 E2 04 */ addi r0, r3, __vt__14daObj_Sekizo_c@l /* 0x80CCE204@l */ -/* 80CCDC4C 90 1E 05 9C */ stw r0, 0x59c(r30) -lbl_80CCDC50: -/* 80CCDC50 80 1E 04 A0 */ lwz r0, 0x4a0(r30) -/* 80CCDC54 60 00 00 08 */ ori r0, r0, 8 -/* 80CCDC58 90 1E 04 A0 */ stw r0, 0x4a0(r30) -lbl_80CCDC5C: -/* 80CCDC5C 38 00 00 00 */ li r0, 0 -/* 80CCDC60 98 1E 05 B0 */ stb r0, 0x5b0(r30) -/* 80CCDC64 38 7E 05 A4 */ addi r3, r30, 0x5a4 -/* 80CCDC68 38 9F 00 20 */ addi r4, r31, 0x20 -/* 80CCDC6C 88 1E 05 B0 */ lbz r0, 0x5b0(r30) -/* 80CCDC70 54 00 18 38 */ slwi r0, r0, 3 -/* 80CCDC74 7C 84 02 14 */ add r4, r4, r0 -/* 80CCDC78 80 04 00 04 */ lwz r0, 4(r4) -/* 80CCDC7C 54 00 10 3A */ slwi r0, r0, 2 -/* 80CCDC80 38 9F 00 30 */ addi r4, r31, 0x30 -/* 80CCDC84 7C 84 00 2E */ lwzx r4, r4, r0 -/* 80CCDC88 4B 35 F2 35 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -/* 80CCDC8C 7C 60 1B 78 */ mr r0, r3 -/* 80CCDC90 2C 00 00 04 */ cmpwi r0, 4 -/* 80CCDC94 40 82 00 50 */ bne lbl_80CCDCE4 -/* 80CCDC98 88 1E 05 B0 */ lbz r0, 0x5b0(r30) -/* 80CCDC9C 54 06 18 38 */ slwi r6, r0, 3 -/* 80CCDCA0 7F C3 F3 78 */ mr r3, r30 -/* 80CCDCA4 38 BF 00 28 */ addi r5, r31, 0x28 -/* 80CCDCA8 7C 85 32 14 */ add r4, r5, r6 -/* 80CCDCAC 80 04 00 04 */ lwz r0, 4(r4) -/* 80CCDCB0 54 00 10 3A */ slwi r0, r0, 2 -/* 80CCDCB4 38 9F 00 30 */ addi r4, r31, 0x30 -/* 80CCDCB8 7C 84 00 2E */ lwzx r4, r4, r0 -/* 80CCDCBC 7C A5 30 2E */ lwzx r5, r5, r6 -/* 80CCDCC0 3C C0 80 07 */ lis r6, dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz@ha /* 0x80075AD8@ha */ -/* 80CCDCC4 38 C6 5A D8 */ addi r6, r6, dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz@l /* 0x80075AD8@l */ -/* 80CCDCC8 38 E0 40 00 */ li r7, 0x4000 -/* 80CCDCCC 39 00 00 00 */ li r8, 0 -/* 80CCDCD0 4B 3A AA ED */ bl MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f -/* 80CCDCD4 7C 60 1B 78 */ mr r0, r3 -/* 80CCDCD8 2C 00 00 05 */ cmpwi r0, 5 -/* 80CCDCDC 40 82 00 08 */ bne lbl_80CCDCE4 -/* 80CCDCE0 48 00 00 08 */ b lbl_80CCDCE8 -lbl_80CCDCE4: -/* 80CCDCE4 7C 03 03 78 */ mr r3, r0 -lbl_80CCDCE8: -/* 80CCDCE8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80CCDCEC 83 C1 00 08 */ lwz r30, 8(r1) -/* 80CCDCF0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CCDCF4 7C 08 03 A6 */ mtlr r0 -/* 80CCDCF8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CCDCFC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/daObj_Sekizo_Create__FPv.s b/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/daObj_Sekizo_Create__FPv.s deleted file mode 100644 index 7f429d51676..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/daObj_Sekizo_Create__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80CCE044: -/* 80CCE044 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CCE048 7C 08 02 A6 */ mflr r0 -/* 80CCE04C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CCE050 4B FF FB BD */ bl create__14daObj_Sekizo_cFv -/* 80CCE054 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CCE058 7C 08 03 A6 */ mtlr r0 -/* 80CCE05C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CCE060 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/daObj_Sekizo_Delete__FPv.s b/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/daObj_Sekizo_Delete__FPv.s deleted file mode 100644 index c11702796e8..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/daObj_Sekizo_Delete__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80CCE064: -/* 80CCE064 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CCE068 7C 08 02 A6 */ mflr r0 -/* 80CCE06C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CCE070 4B 3A A8 6D */ bl MoveBGDelete__16dBgS_MoveBgActorFv -/* 80CCE074 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CCE078 7C 08 03 A6 */ mtlr r0 -/* 80CCE07C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CCE080 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/daObj_Sekizo_Draw__FPv.s b/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/daObj_Sekizo_Draw__FPv.s deleted file mode 100644 index c434ba784f8..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/daObj_Sekizo_Draw__FPv.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_80CCE0A4: -/* 80CCE0A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CCE0A8 7C 08 02 A6 */ mflr r0 -/* 80CCE0AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CCE0B0 81 83 05 9C */ lwz r12, 0x59c(r3) -/* 80CCE0B4 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 80CCE0B8 7D 89 03 A6 */ mtctr r12 -/* 80CCE0BC 4E 80 04 21 */ bctrl -/* 80CCE0C0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CCE0C4 7C 08 03 A6 */ mtlr r0 -/* 80CCE0C8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CCE0CC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/daObj_Sekizo_Execute__FPv.s b/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/daObj_Sekizo_Execute__FPv.s deleted file mode 100644 index fc7a6b9727e..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/daObj_Sekizo_Execute__FPv.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80CCE084: -/* 80CCE084 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CCE088 7C 08 02 A6 */ mflr r0 -/* 80CCE08C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CCE090 4B 3A A8 C1 */ bl MoveBGExecute__16dBgS_MoveBgActorFv -/* 80CCE094 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CCE098 7C 08 03 A6 */ mtlr r0 -/* 80CCE09C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CCE0A0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/func_80CCDD8C.s b/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/func_80CCDD8C.s deleted file mode 100644 index 9f18d50bbd7..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/func_80CCDD8C.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80CCDD8C: -/* 80CCDD8C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CCDD90 7C 08 02 A6 */ mflr r0 -/* 80CCDD94 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CCDD98 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80CCDD9C 7C 7F 1B 78 */ mr r31, r3 -/* 80CCDDA0 48 00 02 05 */ bl initBaseMtx__14daObj_Sekizo_cFv -/* 80CCDDA4 80 7F 05 AC */ lwz r3, 0x5ac(r31) -/* 80CCDDA8 38 03 00 24 */ addi r0, r3, 0x24 -/* 80CCDDAC 90 1F 05 04 */ stw r0, 0x504(r31) -/* 80CCDDB0 80 7F 05 AC */ lwz r3, 0x5ac(r31) -/* 80CCDDB4 80 83 00 04 */ lwz r4, 4(r3) -/* 80CCDDB8 7F E3 FB 78 */ mr r3, r31 -/* 80CCDDBC 4B 34 C7 BD */ bl fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData -/* 80CCDDC0 38 00 00 00 */ li r0, 0 -/* 80CCDDC4 98 1F 05 B2 */ stb r0, 0x5b2(r31) -/* 80CCDDC8 38 00 00 01 */ li r0, 1 -/* 80CCDDCC 98 1F 05 B1 */ stb r0, 0x5b1(r31) -/* 80CCDDD0 38 60 00 01 */ li r3, 1 -/* 80CCDDD4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80CCDDD8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CCDDDC 7C 08 03 A6 */ mtlr r0 -/* 80CCDDE0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CCDDE4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/initBaseMtx__14daObj_Sekizo_cFv.s b/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/initBaseMtx__14daObj_Sekizo_cFv.s deleted file mode 100644 index 3975c326fb1..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/initBaseMtx__14daObj_Sekizo_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80CCDFA4: -/* 80CCDFA4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CCDFA8 7C 08 02 A6 */ mflr r0 -/* 80CCDFAC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CCDFB0 80 83 05 AC */ lwz r4, 0x5ac(r3) -/* 80CCDFB4 C0 03 04 EC */ lfs f0, 0x4ec(r3) -/* 80CCDFB8 D0 04 00 18 */ stfs f0, 0x18(r4) -/* 80CCDFBC C0 03 04 F0 */ lfs f0, 0x4f0(r3) -/* 80CCDFC0 D0 04 00 1C */ stfs f0, 0x1c(r4) -/* 80CCDFC4 C0 03 04 F4 */ lfs f0, 0x4f4(r3) -/* 80CCDFC8 D0 04 00 20 */ stfs f0, 0x20(r4) -/* 80CCDFCC 48 00 00 15 */ bl setBaseMtx__14daObj_Sekizo_cFv -/* 80CCDFD0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CCDFD4 7C 08 03 A6 */ mtlr r0 -/* 80CCDFD8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CCDFDC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/setBaseMtx__14daObj_Sekizo_cFv.s b/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/setBaseMtx__14daObj_Sekizo_cFv.s deleted file mode 100644 index 2c197009cf0..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/setBaseMtx__14daObj_Sekizo_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80CCDFE0: -/* 80CCDFE0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CCDFE4 7C 08 02 A6 */ mflr r0 -/* 80CCDFE8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CCDFEC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80CCDFF0 7C 7F 1B 78 */ mr r31, r3 -/* 80CCDFF4 38 7F 04 D0 */ addi r3, r31, 0x4d0 -/* 80CCDFF8 4B 33 ED 6D */ bl transS__14mDoMtx_stack_cFRC4cXyz -/* 80CCDFFC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80CCE000 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80CCE004 A8 9F 04 E6 */ lha r4, 0x4e6(r31) -/* 80CCE008 4B 33 E4 2D */ bl mDoMtx_YrotM__FPA4_fs -/* 80CCE00C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80CCE010 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80CCE014 80 9F 05 AC */ lwz r4, 0x5ac(r31) -/* 80CCE018 38 84 00 24 */ addi r4, r4, 0x24 -/* 80CCE01C 4B 67 84 95 */ bl PSMTXCopy -/* 80CCE020 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80CCE024 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80CCE028 38 9F 05 6C */ addi r4, r31, 0x56c -/* 80CCE02C 4B 67 84 85 */ bl PSMTXCopy -/* 80CCE030 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80CCE034 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CCE038 7C 08 03 A6 */ mtlr r0 -/* 80CCE03C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CCE040 4E 80 00 20 */ blr diff --git a/include/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo.h b/include/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo.h index 1ae264aec2a..5b90f27da2a 100644 --- a/include/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo.h +++ b/include/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo.h @@ -2,7 +2,35 @@ #define D_A_OBJ_SEKIZO_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 daObj_Sekizo_c : public dBgS_MoveBgActor { +public: + /* 80CCDC0C */ cPhs__Step create(); + + /* 80CCDD00 */ int CreateHeap(); + /* 80CCDD8C */ int Create(); + /* 80CCDDE8 */ int Delete(); + /* 80CCDE3C */ int Execute(Mtx**); + /* 80CCDEF4 */ int Draw(); + /* 80CCDFA4 */ void initBaseMtx(); + /* 80CCDFE0 */ void setBaseMtx(); + + /* 0x5A0 */ u32 field_0x5a0; + + /* 0x5A4 */ request_of_phase_process_class mPhaseReq; + + /* 0x5AC */ J3DModel* mpModel; + /* 0x5B0 */ u8 field_0x5b0; + /* 0x5B1 */ bool field_0x5b1; + /* 0x5B2 */ bool field_0x5b2; +}; // Size: 0x5B4 + +STATIC_ASSERT(sizeof(daObj_Sekizo_c) == 0x5B4); + +class daObj_Sekizo_Param_c { +public: + /* 80CCE118 */ virtual ~daObj_Sekizo_Param_c() {} +}; + #endif /* D_A_OBJ_SEKIZO_H */ diff --git a/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo.cpp b/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo.cpp index d4687901ca6..350ae382154 100644 --- a/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo.cpp +++ b/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo.cpp @@ -4,83 +4,8 @@ */ #include "rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo.h" -#include "JSystem/JKernel/JKRHeap.h" -#include "d/bg/d_bg_s.h" #include "d/bg/d_bg_w.h" -#include "d/d_procname.h" -#include "dol2asm.h" - -class daObj_Sekizo_c : public dBgS_MoveBgActor, public request_of_phase_process_class { -public: - /* 80CCDC0C */ int create(); - /* 80CCDD00 */ int CreateHeap(); - /* 80CCDD8C */ int Create(); - /* 80CCDDE8 */ int Delete(); - /* 80CCDE3C */ int Execute(Mtx**); - /* 80CCDEF4 */ int Draw(); - /* 80CCDFA4 */ void initBaseMtx(); - /* 80CCDFE0 */ void setBaseMtx(); - - /* 0x5AC */ J3DModel* mpModel; - /* 0x5B0 */ u8 field_0x5b0; - /* 0x5B1 */ u8 field_0x5b1; - /* 0x5B2 */ u8 field_0x5b2; -}; // Size: 0x5B4 - -class daObj_Sekizo_Param_c { -public: - /* 80CCE118 */ virtual ~daObj_Sekizo_Param_c() {} -}; - -// -// Forward References: -// - -extern "C" void create__14daObj_Sekizo_cFv(); -extern "C" void CreateHeap__14daObj_Sekizo_cFv(); -extern "C" void Create__14daObj_Sekizo_cFv(); -extern "C" void Delete__14daObj_Sekizo_cFv(); -extern "C" void Execute__14daObj_Sekizo_cFPPA3_A4_f(); -extern "C" void Draw__14daObj_Sekizo_cFv(); -extern "C" void initBaseMtx__14daObj_Sekizo_cFv(); -extern "C" void setBaseMtx__14daObj_Sekizo_cFv(); -extern "C" static void daObj_Sekizo_Create__FPv(); -extern "C" static void daObj_Sekizo_Delete__FPv(); -extern "C" static void daObj_Sekizo_Execute__FPv(); -extern "C" static void daObj_Sekizo_Draw__FPv(); -extern "C" static bool daObj_Sekizo_IsDelete__FPv(); -extern "C" void __sinit_d_a_obj_sekizo_cpp(); -extern "C" void __dt__20daObj_Sekizo_Param_cFv(); -extern "C" extern char const* const d_a_obj_sekizo__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -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_cFPCclP11dRes_info_ci(); -extern "C" void Release__4cBgSFP9dBgW_Base(); -extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c(); -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 __dl__FPv(); -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" void __register_global_object(); +#include "d/com/d_com_inf_game.h" /* 80CCE17C-80CCE188 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ static u8 cNullVec__6Z2Calc[12] = { @@ -88,9 +13,7 @@ static u8 cNullVec__6Z2Calc[12] = { }; /* 80CCE188-80CCE19C 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ -#pragma push -#pragma force_active on -SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { +static u32 lit_1787[1 + 4 /* padding */] = { 0x02000201, /* padding */ 0x40080000, @@ -98,176 +21,132 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { 0x3FE00000, 0x00000000, }; -#pragma pop /* 80CCE19C-80CCE1A4 000020 0008+00 2/3 0/0 0/0 .data l_bmdData */ -static u32 l_bmdData[2] = {4, 1}; +static struct { + u32 bmdIdx; + u32 resIdx; +} l_bmdData[1] = {4, 1}; /* 80CCE1A4-80CCE1AC 000028 0008+00 0/1 0/0 0/0 .data l_dzbData */ -#pragma push -#pragma force_active on -static u32 l_dzbData[2] = {7, 1}; -#pragma pop +static struct { + u32 dzbIdx; + u32 resIdx; +} l_dzbData[1] = {7, 1}; /* 80CCE1AC-80CCE1B4 -00001 0008+00 2/3 0/0 0/0 .data l_resNameList */ static char* l_resNameList[2] = {"", "Sekizo"}; -/* 80CCE1B4-80CCE1D4 -00001 0020+00 1/0 0/0 0/0 .data daObj_Sekizo_MethodTable */ -SECTION_DATA static void* daObj_Sekizo_MethodTable[8] = { - (void*)daObj_Sekizo_Create__FPv, - (void*)daObj_Sekizo_Delete__FPv, - (void*)daObj_Sekizo_Execute__FPv, - (void*)daObj_Sekizo_IsDelete__FPv, - (void*)daObj_Sekizo_Draw__FPv, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 80CCE1D4-80CCE204 -00001 0030+00 0/0 0/0 1/0 .data g_profile_OBJ_SEKIZO */ -SECTION_DATA extern void* g_profile_OBJ_SEKIZO[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01330000, (void*)&g_fpcLf_Method, - (void*)0x000005B4, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00580000, (void*)&daObj_Sekizo_MethodTable, - (void*)0x00044000, (void*)0x000E0000, -}; - -/* 80CCE204-80CCE22C 000088 0028+00 1/1 0/0 0/0 .data __vt__14daObj_Sekizo_c */ -SECTION_DATA extern void* __vt__14daObj_Sekizo_c[10] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)CreateHeap__14daObj_Sekizo_cFv, - (void*)Create__14daObj_Sekizo_cFv, - (void*)Execute__14daObj_Sekizo_cFPPA3_A4_f, - (void*)Draw__14daObj_Sekizo_cFv, - (void*)Delete__14daObj_Sekizo_cFv, - (void*)IsDelete__16dBgS_MoveBgActorFv, - (void*)ToFore__16dBgS_MoveBgActorFv, - (void*)ToBack__16dBgS_MoveBgActorFv, -}; - /* 80CCDC0C-80CCDD00 0000EC 00F4+00 1/1 0/0 0/0 .text create__14daObj_Sekizo_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daObj_Sekizo_c::create() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/create__14daObj_Sekizo_cFv.s" +cPhs__Step daObj_Sekizo_c::create() { + fopAcM_SetupActor(this, daObj_Sekizo_c); + + field_0x5b0 = 0; + cPhs__Step step = + (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_resNameList[l_bmdData[field_0x5b0].resIdx]); + if (step == cPhs_COMPLEATE_e) { + step = (cPhs__Step)MoveBGCreate(l_resNameList[l_dzbData[field_0x5b0].resIdx], + l_dzbData[field_0x5b0].dzbIdx, dBgS_MoveBGProc_TypicalRotY, + 0x4000, NULL); + if (step == cPhs_ERROR_e) { + return step; + } + } + return step; } -#pragma pop /* 80CCDD00-80CCDD8C 0001E0 008C+00 1/0 0/0 0/0 .text CreateHeap__14daObj_Sekizo_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daObj_Sekizo_c::CreateHeap() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/CreateHeap__14daObj_Sekizo_cFv.s" +int daObj_Sekizo_c::CreateHeap() { + J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes( + l_resNameList[l_bmdData[field_0x5b0].resIdx], l_bmdData[field_0x5b0].bmdIdx); + mpModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000084); + if (mpModel == NULL) { + return false; + } + + return true; } -#pragma pop /* 80CCDD8C-80CCDDE8 00026C 005C+00 1/0 0/0 0/0 .text Create__14daObj_Sekizo_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daObj_Sekizo_c::Create() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/func_80CCDD8C.s" +int daObj_Sekizo_c::Create() { + initBaseMtx(); + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); + fopAcM_setCullSizeBox2(this, mpModel->getModelData()); + field_0x5b2 = false; + field_0x5b1 = true; + return 1; } -#pragma pop /* 80CCDDE8-80CCDE3C 0002C8 0054+00 1/0 0/0 0/0 .text Delete__14daObj_Sekizo_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daObj_Sekizo_c::Delete() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/Delete__14daObj_Sekizo_cFv.s" +int daObj_Sekizo_c::Delete() { + dComIfG_resDelete(&mPhaseReq, l_resNameList[l_bmdData[field_0x5b0].resIdx]); + return 1; } -#pragma pop /* 80CCDE3C-80CCDEF4 00031C 00B8+00 1/0 0/0 0/0 .text Execute__14daObj_Sekizo_cFPPA3_A4_f */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daObj_Sekizo_c::Execute(Mtx** i_mtx) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/Execute__14daObj_Sekizo_cFPPA3_A4_f.s" +int daObj_Sekizo_c::Execute(Mtx** i_mtx) { + if (home.roomNo == dComIfGp_roomControl_getStayNo()) { + *i_mtx = &mBgMtx; + setBaseMtx(); + if (field_0x5b2) { + if (field_0x5b1) { + dComIfG_Bgsp().Release(mpBgW); + field_0x5b1 = false; + } + } else if (!field_0x5b1) { + dComIfG_Bgsp().Regist(mpBgW, this); + field_0x5b1 = true; + } + } + return 1; } -#pragma pop /* 80CCDEF4-80CCDFA4 0003D4 00B0+00 1/0 0/0 0/0 .text Draw__14daObj_Sekizo_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daObj_Sekizo_c::Draw() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/Draw__14daObj_Sekizo_cFv.s" +int daObj_Sekizo_c::Draw() { + if (!field_0x5b2) { + g_env_light.settingTevStruct(0x10, ¤t.pos, &tevStr); + g_env_light.setLightTevColorType_MAJI(mpModel->mModelData, &tevStr); + dComIfGd_setListBG(); + mDoExt_modelUpdateDL(mpModel); + dComIfGd_setList(); + } + return 1; } -#pragma pop /* 80CCDFA4-80CCDFE0 000484 003C+00 1/1 0/0 0/0 .text initBaseMtx__14daObj_Sekizo_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObj_Sekizo_c::initBaseMtx() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/initBaseMtx__14daObj_Sekizo_cFv.s" +void daObj_Sekizo_c::initBaseMtx() { + mpModel->setBaseScale(scale); + setBaseMtx(); } -#pragma pop /* 80CCDFE0-80CCE044 0004C0 0064+00 2/2 0/0 0/0 .text setBaseMtx__14daObj_Sekizo_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObj_Sekizo_c::setBaseMtx() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/setBaseMtx__14daObj_Sekizo_cFv.s" +void daObj_Sekizo_c::setBaseMtx() { + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::YrotM(shape_angle.y); + mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); + cMtx_copy(mDoMtx_stack_c::get(), mBgMtx); } -#pragma pop /* 80CCE044-80CCE064 000524 0020+00 1/0 0/0 0/0 .text daObj_Sekizo_Create__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm int daObj_Sekizo_Create(void* i_this) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/daObj_Sekizo_Create__FPv.s" +static int daObj_Sekizo_Create(void* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* 80CCE064-80CCE084 000544 0020+00 1/0 0/0 0/0 .text daObj_Sekizo_Delete__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm int daObj_Sekizo_Delete(void* i_this) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/daObj_Sekizo_Delete__FPv.s" +static int daObj_Sekizo_Delete(void* i_this) { + return static_cast(i_this)->MoveBGDelete(); } -#pragma pop /* 80CCE084-80CCE0A4 000564 0020+00 1/0 0/0 0/0 .text daObj_Sekizo_Execute__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm int daObj_Sekizo_Execute(void* i_this) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/daObj_Sekizo_Execute__FPv.s" +static int daObj_Sekizo_Execute(void* i_this) { + return static_cast(i_this)->MoveBGExecute(); } -#pragma pop /* 80CCE0A4-80CCE0D0 000584 002C+00 1/0 0/0 0/0 .text daObj_Sekizo_Draw__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm int daObj_Sekizo_Draw(void* i_this) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_sekizo/d_a_obj_sekizo/daObj_Sekizo_Draw__FPv.s" +static int daObj_Sekizo_Draw(void* i_this) { + return static_cast(i_this)->MoveBGDraw(); } -#pragma pop /* 80CCE0D0-80CCE0D8 0005B0 0008+00 1/0 0/0 0/0 .text daObj_Sekizo_IsDelete__FPv */ static int daObj_Sekizo_IsDelete(void* i_this) { @@ -279,3 +158,27 @@ static u8 lit_3800[12]; /* 80CCE24C-80CCE250 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */ static daObj_Sekizo_Param_c l_HIO; + +/* 80CCE1B4-80CCE1D4 -00001 0020+00 1/0 0/0 0/0 .data daObj_Sekizo_MethodTable */ +static actor_method_class daObj_Sekizo_MethodTable = { + (process_method_func)daObj_Sekizo_Create, (process_method_func)daObj_Sekizo_Delete, + (process_method_func)daObj_Sekizo_Execute, (process_method_func)daObj_Sekizo_IsDelete, + (process_method_func)daObj_Sekizo_Draw}; + +/* 80CCE1D4-80CCE204 -00001 0030+00 0/0 0/0 1/0 .data g_profile_OBJ_SEKIZO */ +extern actor_process_profile_definition g_profile_OBJ_SEKIZO = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_OBJ_SEKIZO, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daObj_Sekizo_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // mSubMtd + 88, // mPriority + &daObj_Sekizo_MethodTable, // mSubMtd + 0x44000, // status + fopAc_ACTOR_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType +}; \ No newline at end of file