d_a_obj_tmoon OK

This commit is contained in:
Trueffeloot 2023-04-08 08:32:50 +02:00
parent 4aa1e3447f
commit dc815a9278
17 changed files with 121 additions and 510 deletions

View File

@ -21,8 +21,8 @@ Total | 34.306504% | 1379352 | 4020672
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 34.306504% | 1379352 | 4020672
RELs | 33.439788% | 3845684 | 11500324
Total | 33.664309% | 5225036 | 15520996
RELs | 33.448623% | 3846700 | 11500324
Total | 33.670855% | 5226052 | 15520996
## RELs
@ -642,7 +642,7 @@ d_a_obj_thdoor | 39.419319% | 2824 | 7164
d_a_obj_timeFire | 43.483146% | 1548 | 3560
d_a_obj_timer | 46.691176% | 1016 | 2176
d_a_obj_tks | 34.669261% | 7128 | 20560
d_a_obj_tmoon | 48.478702% | 956 | 1972
d_a_obj_tmoon | 100.000000% | 1972 | 1972
d_a_obj_toaru_maki | 46.596067% | 1232 | 2644
d_a_obj_toby | 32.460733% | 3720 | 11460
d_a_obj_tobyhouse | 34.586466% | 3864 | 11172
@ -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.439788% | 3845684 | 11500324
Total | 33.448623% | 3846700 | 11500324

View File

@ -1,9 +0,0 @@
lbl_80D12B98:
/* 80D12B98 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D12B9C 7C 08 02 A6 */ mflr r0
/* 80D12BA0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D12BA4 48 00 00 F9 */ bl CreateHeap__12daObjTMoon_cFv
/* 80D12BA8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D12BAC 7C 08 03 A6 */ mtlr r0
/* 80D12BB0 38 21 00 10 */ addi r1, r1, 0x10
/* 80D12BB4 4E 80 00 20 */ blr

View File

@ -1,29 +0,0 @@
lbl_80D12C9C:
/* 80D12C9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D12CA0 7C 08 02 A6 */ mflr r0
/* 80D12CA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D12CA8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D12CAC 7C 7F 1B 78 */ mr r31, r3
/* 80D12CB0 3C 60 80 D1 */ lis r3, l_arcName@ha /* 0x80D12FA0@ha */
/* 80D12CB4 38 63 2F A0 */ addi r3, r3, l_arcName@l /* 0x80D12FA0@l */
/* 80D12CB8 80 63 00 00 */ lwz r3, 0(r3)
/* 80D12CBC 38 80 00 03 */ li r4, 3
/* 80D12CC0 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D12CC4 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D12CC8 3C A5 00 02 */ addis r5, r5, 2
/* 80D12CCC 38 C0 00 80 */ li r6, 0x80
/* 80D12CD0 38 A5 C2 F8 */ addi r5, r5, -15624
/* 80D12CD4 4B 32 96 19 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 80D12CD8 3C 80 00 08 */ lis r4, 8
/* 80D12CDC 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */
/* 80D12CE0 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */
/* 80D12CE4 4B 30 1F 71 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl
/* 80D12CE8 90 7F 05 70 */ stw r3, 0x570(r31)
/* 80D12CEC 80 7F 05 70 */ lwz r3, 0x570(r31)
/* 80D12CF0 30 03 FF FF */ addic r0, r3, -1
/* 80D12CF4 7C 60 19 10 */ subfe r3, r0, r3
/* 80D12CF8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D12CFC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D12D00 7C 08 03 A6 */ mtlr r0
/* 80D12D04 38 21 00 10 */ addi r1, r1, 0x10
/* 80D12D08 4E 80 00 20 */ blr

View File

@ -1,22 +0,0 @@
lbl_80D12C48:
/* 80D12C48 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D12C4C 7C 08 02 A6 */ mflr r0
/* 80D12C50 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D12C54 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D12C58 7C 7F 1B 78 */ mr r31, r3
/* 80D12C5C 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 80D12C60 54 00 05 BE */ clrlwi r0, r0, 0x16
/* 80D12C64 B0 03 05 74 */ sth r0, 0x574(r3)
/* 80D12C68 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 80D12C6C 54 00 B5 BE */ rlwinm r0, r0, 0x16, 0x16, 0x1f
/* 80D12C70 B0 03 05 76 */ sth r0, 0x576(r3)
/* 80D12C74 4B FF FF 45 */ bl initBaseMtx__12daObjTMoon_cFv
/* 80D12C78 80 7F 05 70 */ lwz r3, 0x570(r31)
/* 80D12C7C 38 03 00 24 */ addi r0, r3, 0x24
/* 80D12C80 90 1F 05 04 */ stw r0, 0x504(r31)
/* 80D12C84 38 60 00 01 */ li r3, 1
/* 80D12C88 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D12C8C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D12C90 7C 08 03 A6 */ mtlr r0
/* 80D12C94 38 21 00 10 */ addi r1, r1, 0x10
/* 80D12C98 4E 80 00 20 */ blr

View File

@ -1,14 +0,0 @@
lbl_80D12EDC:
/* 80D12EDC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D12EE0 7C 08 02 A6 */ mflr r0
/* 80D12EE4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D12EE8 3C 80 80 D1 */ lis r4, l_arcName@ha /* 0x80D12FA0@ha */
/* 80D12EEC 38 84 2F A0 */ addi r4, r4, l_arcName@l /* 0x80D12FA0@l */
/* 80D12EF0 80 84 00 00 */ lwz r4, 0(r4)
/* 80D12EF4 38 63 05 68 */ addi r3, r3, 0x568
/* 80D12EF8 4B 31 A1 11 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
/* 80D12EFC 38 60 00 01 */ li r3, 1
/* 80D12F00 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D12F04 7C 08 03 A6 */ mtlr r0
/* 80D12F08 38 21 00 10 */ addi r1, r1, 0x10
/* 80D12F0C 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D12F70:
/* 80D12F70 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D12F74 7C 08 02 A6 */ mflr r0
/* 80D12F78 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D12F7C 4B FF FD 91 */ bl create__12daObjTMoon_cFv
/* 80D12F80 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D12F84 7C 08 03 A6 */ mtlr r0
/* 80D12F88 38 21 00 10 */ addi r1, r1, 0x10
/* 80D12F8C 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D12F50:
/* 80D12F50 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D12F54 7C 08 02 A6 */ mflr r0
/* 80D12F58 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D12F5C 4B FF FF 81 */ bl _delete__12daObjTMoon_cFv
/* 80D12F60 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D12F64 7C 08 03 A6 */ mtlr r0
/* 80D12F68 38 21 00 10 */ addi r1, r1, 0x10
/* 80D12F6C 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D12F10:
/* 80D12F10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D12F14 7C 08 02 A6 */ mflr r0
/* 80D12F18 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D12F1C 4B FF FF 99 */ bl draw__12daObjTMoon_cFv
/* 80D12F20 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D12F24 7C 08 03 A6 */ mtlr r0
/* 80D12F28 38 21 00 10 */ addi r1, r1, 0x10
/* 80D12F2C 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D12F30:
/* 80D12F30 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D12F34 7C 08 02 A6 */ mflr r0
/* 80D12F38 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D12F3C 4B FF FE 85 */ bl execute__12daObjTMoon_cFv
/* 80D12F40 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D12F44 7C 08 03 A6 */ mtlr r0
/* 80D12F48 38 21 00 10 */ addi r1, r1, 0x10
/* 80D12F4C 4E 80 00 20 */ blr

View File

@ -1,11 +0,0 @@
lbl_80D12EB4:
/* 80D12EB4 C0 03 04 D0 */ lfs f0, 0x4d0(r3)
/* 80D12EB8 3C 80 80 43 */ lis r4, g_env_light@ha /* 0x8042CA54@ha */
/* 80D12EBC 38 84 CA 54 */ addi r4, r4, g_env_light@l /* 0x8042CA54@l */
/* 80D12EC0 D0 04 10 94 */ stfs f0, 0x1094(r4)
/* 80D12EC4 C0 03 04 D4 */ lfs f0, 0x4d4(r3)
/* 80D12EC8 D0 04 10 98 */ stfs f0, 0x1098(r4)
/* 80D12ECC C0 03 04 D8 */ lfs f0, 0x4d8(r3)
/* 80D12ED0 D0 04 10 9C */ stfs f0, 0x109c(r4)
/* 80D12ED4 38 60 00 01 */ li r3, 1
/* 80D12ED8 4E 80 00 20 */ blr

View File

@ -1,67 +0,0 @@
lbl_80D12DC0:
/* 80D12DC0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D12DC4 7C 08 02 A6 */ mflr r0
/* 80D12DC8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D12DCC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D12DD0 7C 7F 1B 78 */ mr r31, r3
/* 80D12DD4 A0 03 05 76 */ lhz r0, 0x576(r3)
/* 80D12DD8 28 00 03 FF */ cmplwi r0, 0x3ff
/* 80D12DDC 41 82 00 2C */ beq lbl_80D12E08
/* 80D12DE0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D12DE4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D12DE8 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 80D12DEC 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e
/* 80D12DF0 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 80D12DF4 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 80D12DF8 7C 84 02 2E */ lhzx r4, r4, r0
/* 80D12DFC 4B 32 1B C1 */ bl isEventBit__11dSv_event_cCFUs
/* 80D12E00 2C 03 00 00 */ cmpwi r3, 0
/* 80D12E04 40 82 00 38 */ bne lbl_80D12E3C
lbl_80D12E08:
/* 80D12E08 A0 1F 05 74 */ lhz r0, 0x574(r31)
/* 80D12E0C 28 00 03 FF */ cmplwi r0, 0x3ff
/* 80D12E10 41 82 00 3C */ beq lbl_80D12E4C
/* 80D12E14 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D12E18 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D12E1C 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 80D12E20 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e
/* 80D12E24 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 80D12E28 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 80D12E2C 7C 84 02 2E */ lhzx r4, r4, r0
/* 80D12E30 4B 32 1B 8D */ bl isEventBit__11dSv_event_cCFUs
/* 80D12E34 2C 03 00 00 */ cmpwi r3, 0
/* 80D12E38 40 82 00 14 */ bne lbl_80D12E4C
lbl_80D12E3C:
/* 80D12E3C 38 7F 00 D8 */ addi r3, r31, 0xd8
/* 80D12E40 4B 30 D6 95 */ bl fopDwTg_DrawQTo__FP16create_tag_class
/* 80D12E44 38 60 00 01 */ li r3, 1
/* 80D12E48 48 00 00 58 */ b lbl_80D12EA0
lbl_80D12E4C:
/* 80D12E4C A0 1F 05 74 */ lhz r0, 0x574(r31)
/* 80D12E50 28 00 03 FF */ cmplwi r0, 0x3ff
/* 80D12E54 41 82 00 48 */ beq lbl_80D12E9C
/* 80D12E58 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D12E5C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D12E60 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 80D12E64 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e
/* 80D12E68 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 80D12E6C 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 80D12E70 7C 84 02 2E */ lhzx r4, r4, r0
/* 80D12E74 4B 32 1B 49 */ bl isEventBit__11dSv_event_cCFUs
/* 80D12E78 2C 03 00 00 */ cmpwi r3, 0
/* 80D12E7C 41 82 00 20 */ beq lbl_80D12E9C
/* 80D12E80 7F E3 FB 78 */ mr r3, r31
/* 80D12E84 4B 30 EB 7D */ bl fpcLf_GetPriority__FPC14leafdraw_class
/* 80D12E88 7C 64 07 34 */ extsh r4, r3
/* 80D12E8C 38 7F 00 D8 */ addi r3, r31, 0xd8
/* 80D12E90 4B 30 D6 1D */ bl fopDwTg_ToDrawQ__FP16create_tag_classi
/* 80D12E94 38 60 00 01 */ li r3, 1
/* 80D12E98 48 00 00 08 */ b lbl_80D12EA0
lbl_80D12E9C:
/* 80D12E9C 38 60 00 01 */ li r3, 1
lbl_80D12EA0:
/* 80D12EA0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D12EA4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D12EA8 7C 08 03 A6 */ mtlr r0
/* 80D12EAC 38 21 00 10 */ addi r1, r1, 0x10
/* 80D12EB0 4E 80 00 20 */ blr

View File

@ -1,51 +0,0 @@
lbl_80D12D0C:
/* 80D12D0C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D12D10 7C 08 02 A6 */ mflr r0
/* 80D12D14 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D12D18 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D12D1C 93 C1 00 08 */ stw r30, 8(r1)
/* 80D12D20 7C 7E 1B 78 */ mr r30, r3
/* 80D12D24 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80D12D28 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80D12D2C 40 82 00 1C */ bne lbl_80D12D48
/* 80D12D30 28 1E 00 00 */ cmplwi r30, 0
/* 80D12D34 41 82 00 08 */ beq lbl_80D12D3C
/* 80D12D38 4B 30 5E 2D */ bl __ct__10fopAc_ac_cFv
lbl_80D12D3C:
/* 80D12D3C 80 1E 04 A0 */ lwz r0, 0x4a0(r30)
/* 80D12D40 60 00 00 08 */ ori r0, r0, 8
/* 80D12D44 90 1E 04 A0 */ stw r0, 0x4a0(r30)
lbl_80D12D48:
/* 80D12D48 38 7E 05 68 */ addi r3, r30, 0x568
/* 80D12D4C 3C 80 80 D1 */ lis r4, l_arcName@ha /* 0x80D12FA0@ha */
/* 80D12D50 38 84 2F A0 */ addi r4, r4, l_arcName@l /* 0x80D12FA0@l */
/* 80D12D54 80 84 00 00 */ lwz r4, 0(r4)
/* 80D12D58 4B 31 A1 65 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc
/* 80D12D5C 7C 7F 1B 78 */ mr r31, r3
/* 80D12D60 2C 1F 00 04 */ cmpwi r31, 4
/* 80D12D64 40 82 00 40 */ bne lbl_80D12DA4
/* 80D12D68 7F C3 F3 78 */ mr r3, r30
/* 80D12D6C 3C 80 80 D1 */ lis r4, CheckCreateHeap__FP10fopAc_ac_c@ha /* 0x80D12B98@ha */
/* 80D12D70 38 84 2B 98 */ addi r4, r4, CheckCreateHeap__FP10fopAc_ac_c@l /* 0x80D12B98@l */
/* 80D12D74 38 A0 08 80 */ li r5, 0x880
/* 80D12D78 4B 30 77 39 */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl
/* 80D12D7C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80D12D80 40 82 00 0C */ bne lbl_80D12D8C
/* 80D12D84 38 60 00 05 */ li r3, 5
/* 80D12D88 48 00 00 20 */ b lbl_80D12DA8
lbl_80D12D8C:
/* 80D12D8C 7F C3 F3 78 */ mr r3, r30
/* 80D12D90 4B FF FE B9 */ bl Create__12daObjTMoon_cFv
/* 80D12D94 2C 03 00 00 */ cmpwi r3, 0
/* 80D12D98 40 82 00 0C */ bne lbl_80D12DA4
/* 80D12D9C 38 60 00 05 */ li r3, 5
/* 80D12DA0 48 00 00 08 */ b lbl_80D12DA8
lbl_80D12DA4:
/* 80D12DA4 7F E3 FB 78 */ mr r3, r31
lbl_80D12DA8:
/* 80D12DA8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D12DAC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80D12DB0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D12DB4 7C 08 03 A6 */ mtlr r0
/* 80D12DB8 38 21 00 10 */ addi r1, r1, 0x10
/* 80D12DBC 4E 80 00 20 */ blr

View File

@ -1,16 +0,0 @@
lbl_80D12BB8:
/* 80D12BB8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D12BBC 7C 08 02 A6 */ mflr r0
/* 80D12BC0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D12BC4 80 83 05 70 */ lwz r4, 0x570(r3)
/* 80D12BC8 C0 03 04 EC */ lfs f0, 0x4ec(r3)
/* 80D12BCC D0 04 00 18 */ stfs f0, 0x18(r4)
/* 80D12BD0 C0 03 04 F0 */ lfs f0, 0x4f0(r3)
/* 80D12BD4 D0 04 00 1C */ stfs f0, 0x1c(r4)
/* 80D12BD8 C0 03 04 F4 */ lfs f0, 0x4f4(r3)
/* 80D12BDC D0 04 00 20 */ stfs f0, 0x20(r4)
/* 80D12BE0 48 00 00 15 */ bl setBaseMtx__12daObjTMoon_cFv
/* 80D12BE4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D12BE8 7C 08 03 A6 */ mtlr r0
/* 80D12BEC 38 21 00 10 */ addi r1, r1, 0x10
/* 80D12BF0 4E 80 00 20 */ blr

View File

@ -1,22 +0,0 @@
lbl_80D12BF4:
/* 80D12BF4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D12BF8 7C 08 02 A6 */ mflr r0
/* 80D12BFC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D12C00 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D12C04 7C 7F 1B 78 */ mr r31, r3
/* 80D12C08 38 7F 04 D0 */ addi r3, r31, 0x4d0
/* 80D12C0C 4B 2F A1 59 */ bl transS__14mDoMtx_stack_cFRC4cXyz
/* 80D12C10 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80D12C14 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80D12C18 A8 9F 04 E6 */ lha r4, 0x4e6(r31)
/* 80D12C1C 4B 2F 98 19 */ bl mDoMtx_YrotM__FPA4_fs
/* 80D12C20 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80D12C24 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80D12C28 80 9F 05 70 */ lwz r4, 0x570(r31)
/* 80D12C2C 38 84 00 24 */ addi r4, r4, 0x24
/* 80D12C30 4B 63 38 81 */ bl PSMTXCopy
/* 80D12C34 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D12C38 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D12C3C 7C 08 03 A6 */ mtlr r0
/* 80D12C40 38 21 00 10 */ addi r1, r1, 0x10
/* 80D12C44 4E 80 00 20 */ blr

View File

@ -153,7 +153,7 @@ inline u32 fopAcM_GetParam(const void* pActor) {
return fpcM_GetParam(pActor);
}
inline u8 fopAcM_GetParamBit(void* ac, u8 shift, u8 bit) {
inline u32 fopAcM_GetParamBit(void* ac, u8 shift, u8 bit) {
return (fopAcM_GetParam(ac) >> shift) & ((1 << bit) - 1);
}

View File

@ -1,6 +1,27 @@
#ifndef D_A_OBJ_TMOON_H
#define D_A_OBJ_TMOON_H
#include "dolphin/types.h"
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
class daObjTMoon_c : public fopAc_ac_c {
public:
/* 80D12BB8 */ void initBaseMtx();
/* 80D12BF4 */ void setBaseMtx();
/* 80D12C48 */ int Create();
/* 80D12C9C */ bool CreateHeap();
/* 80D12D0C */ int create();
/* 80D12DC0 */ int execute();
/* 80D12EB4 */ int draw();
/* 80D12EDC */ int _delete();
u32 getEventBit1() { return fopAcM_GetParamBit(this, 0, 10); }
u32 getEventBit2() { return fopAcM_GetParamBit(this, 10, 10); }
/* 0x568 */ request_of_phase_process_class field_0x568;
/* 0x570 */ J3DModel* field_0x570;
/* 0x574 */ u16 field_0x574;
/* 0x576 */ u16 field_0x576;
}; // Size: 0x578
#endif /* D_A_OBJ_TMOON_H */

View File

@ -1,273 +1,140 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_obj_tmoon
//
/**
* d_a_obj_tmoon.cpp
* Moon in Hidden Skill Scene
*/
#include "rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct cXyz {};
struct mDoMtx_stack_c {
/* 8000CD64 */ void transS(cXyz const&);
static u8 now[48];
};
struct leafdraw_class {};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct daObjTMoon_c {
/* 80D12BB8 */ void initBaseMtx();
/* 80D12BF4 */ void setBaseMtx();
/* 80D12C48 */ void Create();
/* 80D12C9C */ void CreateHeap();
/* 80D12D0C */ void create();
/* 80D12DC0 */ void execute();
/* 80D12EB4 */ void draw();
/* 80D12EDC */ void _delete();
};
struct dSv_event_flag_c {
static u8 saveBitLabels[1644 + 4 /* padding */];
};
struct dSv_event_c {
/* 800349BC */ void isEventBit(u16) const;
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct create_tag_class {};
struct J3DModelData {};
//
// Forward References:
//
extern "C" static void CheckCreateHeap__FP10fopAc_ac_c();
extern "C" void initBaseMtx__12daObjTMoon_cFv();
extern "C" void setBaseMtx__12daObjTMoon_cFv();
extern "C" void Create__12daObjTMoon_cFv();
extern "C" void CreateHeap__12daObjTMoon_cFv();
extern "C" void create__12daObjTMoon_cFv();
extern "C" void execute__12daObjTMoon_cFv();
extern "C" void draw__12daObjTMoon_cFv();
extern "C" void _delete__12daObjTMoon_cFv();
extern "C" static void daObjTMoon_Draw__FP12daObjTMoon_c();
extern "C" static void daObjTMoon_Execute__FP12daObjTMoon_c();
extern "C" static void daObjTMoon_Delete__FP12daObjTMoon_c();
extern "C" static void daObjTMoon_Create__FP12daObjTMoon_c();
extern "C" extern char const* const d_a_obj_tmoon__stringBase0;
extern "C" extern void* g_profile_Obj_TMoon[12];
//
// External References:
//
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
extern "C" void fopDwTg_ToDrawQ__FP16create_tag_classi();
extern "C" void fopDwTg_DrawQTo__FP16create_tag_class();
extern "C" void fpcLf_GetPriority__FPC14leafdraw_class();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void isEventBit__11dSv_event_cCFUs();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void PSMTXCopy();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* 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];
//
// Declarations:
//
/* 80D12B98-80D12BB8 000078 0020+00 1/1 0/0 0/0 .text CheckCreateHeap__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void CheckCreateHeap(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/CheckCreateHeap__FP10fopAc_ac_c.s"
static bool CheckCreateHeap(fopAc_ac_c* i_this) {
return static_cast<daObjTMoon_c*>(i_this)->CreateHeap();
}
#pragma pop
/* 80D12BB8-80D12BF4 000098 003C+00 1/1 0/0 0/0 .text initBaseMtx__12daObjTMoon_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTMoon_c::initBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/initBaseMtx__12daObjTMoon_cFv.s"
void daObjTMoon_c::initBaseMtx() {
field_0x570->setBaseScale(mScale);
setBaseMtx();
}
#pragma pop
/* 80D12BF4-80D12C48 0000D4 0054+00 1/1 0/0 0/0 .text setBaseMtx__12daObjTMoon_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTMoon_c::setBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/setBaseMtx__12daObjTMoon_cFv.s"
void daObjTMoon_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::YrotM(shape_angle.y);
PSMTXCopy(mDoMtx_stack_c::now, field_0x570->mBaseTransformMtx);
}
#pragma pop
/* 80D12C48-80D12C9C 000128 0054+00 1/1 0/0 0/0 .text Create__12daObjTMoon_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTMoon_c::Create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/Create__12daObjTMoon_cFv.s"
int daObjTMoon_c::Create() {
field_0x574 = getEventBit1();
field_0x576 = getEventBit2();
initBaseMtx();
fopAcM_SetMtx(this, field_0x570->getBaseTRMtx());
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 80D12F98-80D12F98 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80D12F98 = "A_TMoon";
#pragma pop
/* 80D12FA0-80D12FA4 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_tmoon__stringBase0;
static const char* l_arcName[] = {"A_TMoon"};
/* 80D12C9C-80D12D0C 00017C 0070+00 1/1 0/0 0/0 .text CreateHeap__12daObjTMoon_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTMoon_c::CreateHeap() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/CreateHeap__12daObjTMoon_cFv.s"
bool daObjTMoon_c::CreateHeap() {
field_0x570 = mDoExt_J3DModel__create((J3DModelData*)dComIfG_getObjectRes(l_arcName[0], 3),
0x80000, 0x11000084);
return field_0x570 != NULL;
}
#pragma pop
/* 80D12D0C-80D12DC0 0001EC 00B4+00 1/1 0/0 0/0 .text create__12daObjTMoon_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTMoon_c::create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/func_80D12D0C.s"
int daObjTMoon_c::create() {
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daObjTMoon_c();
fopAcM_OnCondition(this, 8);
}
int phase = dComIfG_resLoad(&field_0x568, l_arcName[0]);
if (phase == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckCreateHeap, 0x880)) {
return cPhs_ERROR_e;
} else if (!Create()) {
return cPhs_ERROR_e;
}
}
return phase;
}
#pragma pop
/* 80D12DC0-80D12EB4 0002A0 00F4+00 1/1 0/0 0/0 .text execute__12daObjTMoon_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTMoon_c::execute() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/execute__12daObjTMoon_cFv.s"
int daObjTMoon_c::execute() {
if ((field_0x576 != 0x3ff) &&
(i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x576])) ||
(field_0x574 != 0x3ff) &&
(!i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x574])))
{
fopDwTg_DrawQTo(&mDwTg);
return 1;
} else if ((field_0x574 != 0x3ff) &&
(i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x574])))
{
fopDwTg_ToDrawQ(&mDwTg, fpcLf_GetPriority(this));
return 1;
}
return 1;
}
#pragma pop
/* 80D12EB4-80D12EDC 000394 0028+00 1/1 0/0 0/0 .text draw__12daObjTMoon_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTMoon_c::draw() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/draw__12daObjTMoon_cFv.s"
int daObjTMoon_c::draw() {
g_env_light.mMoonPos = current.pos;
return 1;
}
#pragma pop
/* 80D12EDC-80D12F10 0003BC 0034+00 1/1 0/0 0/0 .text _delete__12daObjTMoon_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTMoon_c::_delete() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/_delete__12daObjTMoon_cFv.s"
int daObjTMoon_c::_delete() {
dComIfG_resDelete(&field_0x568, l_arcName[0]);
return 1;
}
#pragma pop
/* 80D12F10-80D12F30 0003F0 0020+00 1/0 0/0 0/0 .text daObjTMoon_Draw__FP12daObjTMoon_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjTMoon_Draw(daObjTMoon_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/daObjTMoon_Draw__FP12daObjTMoon_c.s"
/* 80D12F10-80D12F30 0003F0 0020+00 1/0 0/0 0/0 .text daObjTMoon_Draw__FP12daObjTMoon_c */
static int daObjTMoon_Draw(daObjTMoon_c* i_this) {
return i_this->draw();
}
#pragma pop
/* 80D12F30-80D12F50 000410 0020+00 1/0 0/0 0/0 .text daObjTMoon_Execute__FP12daObjTMoon_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjTMoon_Execute(daObjTMoon_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/daObjTMoon_Execute__FP12daObjTMoon_c.s"
static int daObjTMoon_Execute(daObjTMoon_c* i_this) {
return i_this->execute();
}
#pragma pop
/* 80D12F50-80D12F70 000430 0020+00 1/0 0/0 0/0 .text daObjTMoon_Delete__FP12daObjTMoon_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjTMoon_Delete(daObjTMoon_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/daObjTMoon_Delete__FP12daObjTMoon_c.s"
/* 80D12F50-80D12F70 000430 0020+00 1/0 0/0 0/0 .text daObjTMoon_Delete__FP12daObjTMoon_c */
static int daObjTMoon_Delete(daObjTMoon_c* i_this) {
return i_this->_delete();
}
#pragma pop
/* 80D12F70-80D12F90 000450 0020+00 1/0 0/0 0/0 .text daObjTMoon_Create__FP12daObjTMoon_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjTMoon_Create(daObjTMoon_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/daObjTMoon_Create__FP12daObjTMoon_c.s"
/* 80D12F70-80D12F90 000450 0020+00 1/0 0/0 0/0 .text daObjTMoon_Create__FP12daObjTMoon_c */
static int daObjTMoon_Create(daObjTMoon_c* i_this) {
return i_this->create();
}
#pragma pop
/* ############################################################################################## */
/* 80D12FA4-80D12FC4 -00001 0020+00 1/0 0/0 0/0 .data l_daObjTMoon_Method */
SECTION_DATA static void* l_daObjTMoon_Method[8] = {
(void*)daObjTMoon_Create__FP12daObjTMoon_c,
(void*)daObjTMoon_Delete__FP12daObjTMoon_c,
(void*)daObjTMoon_Execute__FP12daObjTMoon_c,
(void*)NULL,
(void*)daObjTMoon_Draw__FP12daObjTMoon_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daObjTMoon_Method = {
(process_method_func)daObjTMoon_Create, (process_method_func)daObjTMoon_Delete,
(process_method_func)daObjTMoon_Execute, (process_method_func)NULL,
(process_method_func)daObjTMoon_Draw,
};
/* 80D12FC4-80D12FF4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_TMoon */
SECTION_DATA extern void* g_profile_Obj_TMoon[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x01950000, (void*)&g_fpcLf_Method,
(void*)0x00000578, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x02390000, (void*)&l_daObjTMoon_Method,
(void*)0x00040000, (void*)0x000E0000,
extern actor_process_profile_definition g_profile_Obj_TMoon = {
-3, // mLayerID
7, // mListID
-3, // mListPrio
PROC_Obj_TMoon, // mProcName
0, // Padding
&g_fpcLf_Method.mBase, // mSubMtd
sizeof(daObjTMoon_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // mSubMtd
0x0239, // mPriority
0, // Padding
0, // Padding
&l_daObjTMoon_Method, // mSubMtd
0x00040000, // mStatus
0, // mActorType
14, // mCullType
0, // Padding
0, // Padding
};
/* 80D12F98-80D12F98 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */