diff --git a/Progress.md b/Progress.md index edbd6c95310..abc9fae85e2 100644 --- a/Progress.md +++ b/Progress.md @@ -21,8 +21,8 @@ Total | 32.316787% | 1299352 | 4020672 Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- main.dol | 32.316787% | 1299352 | 4020672 -RELs | 33.566080% | 3860208 | 11500324 -Total | 33.242454% | 5159560 | 15520996 +RELs | 33.572932% | 3860996 | 11500324 +Total | 33.247531% | 5160348 | 15520996 ## RELs @@ -174,7 +174,7 @@ d_a_e_yg | 28.386013% | 7436 | 26196 d_a_e_yh | 26.277603% | 9996 | 38040 d_a_e_yk | 29.001484% | 5472 | 18868 d_a_e_ym | 20.062370% | 13896 | 69264 -d_a_e_ym_tag | 61.764706% | 672 | 1088 +d_a_e_ym_tag | 100.000000% | 1088 | 1088 d_a_e_ymb | 23.798093% | 14672 | 61652 d_a_e_yr | 27.591936% | 9964 | 36112 d_a_e_zh | 27.029865% | 9268 | 34288 @@ -769,7 +769,7 @@ d_a_tag_ss_drink | 36.483740% | 1436 | 3936 d_a_tag_statue_evt | 38.427948% | 2816 | 7328 d_a_tag_stream | 100.000000% | 1480 | 1480 d_a_tag_telop | 100.000000% | 1040 | 1040 -d_a_tag_theB_hint | 67.253521% | 764 | 1136 +d_a_tag_theB_hint | 100.000000% | 1136 | 1136 d_a_tag_wara_howl | 100.000000% | 1420 | 1420 d_a_tag_watchge | 61.290323% | 760 | 1240 d_a_tag_waterfall | 46.361502% | 1580 | 3408 @@ -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.566080% | 3860208 | 11500324 +Total | 33.572932% | 3860996 | 11500324 diff --git a/asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/create__12daE_YM_TAG_cFv.s b/asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/create__12daE_YM_TAG_cFv.s deleted file mode 100644 index f6c8e02a385..00000000000 --- a/asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/create__12daE_YM_TAG_cFv.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_80815F28: -/* 80815F28 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80815F2C 7C 08 02 A6 */ mflr r0 -/* 80815F30 90 01 00 14 */ stw r0, 0x14(r1) -/* 80815F34 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80815F38 7C 7F 1B 78 */ mr r31, r3 -/* 80815F3C 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80815F40 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80815F44 40 82 00 1C */ bne lbl_80815F60 -/* 80815F48 28 1F 00 00 */ cmplwi r31, 0 -/* 80815F4C 41 82 00 08 */ beq lbl_80815F54 -/* 80815F50 4B 80 2C 15 */ bl __ct__10fopAc_ac_cFv -lbl_80815F54: -/* 80815F54 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80815F58 60 00 00 08 */ ori r0, r0, 8 -/* 80815F5C 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80815F60: -/* 80815F60 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80815F64 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 80815F68 28 00 00 FF */ cmplwi r0, 0xff -/* 80815F6C 40 82 00 0C */ bne lbl_80815F78 -/* 80815F70 38 60 00 05 */ li r3, 5 -/* 80815F74 48 00 00 08 */ b lbl_80815F7C -lbl_80815F78: -/* 80815F78 38 60 00 04 */ li r3, 4 -lbl_80815F7C: -/* 80815F7C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80815F80 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80815F84 7C 08 03 A6 */ mtlr r0 -/* 80815F88 38 21 00 10 */ addi r1, r1, 0x10 -/* 80815F8C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/daE_YM_TAG_Create__FP12daE_YM_TAG_c.s b/asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/daE_YM_TAG_Create__FP12daE_YM_TAG_c.s deleted file mode 100644 index e0a8bf82a9c..00000000000 --- a/asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/daE_YM_TAG_Create__FP12daE_YM_TAG_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80815F90: -/* 80815F90 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80815F94 7C 08 02 A6 */ mflr r0 -/* 80815F98 90 01 00 14 */ stw r0, 0x14(r1) -/* 80815F9C 4B FF FF 8D */ bl create__12daE_YM_TAG_cFv -/* 80815FA0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80815FA4 7C 08 03 A6 */ mtlr r0 -/* 80815FA8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80815FAC 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/daE_YM_TAG_Execute__FP12daE_YM_TAG_c.s b/asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/daE_YM_TAG_Execute__FP12daE_YM_TAG_c.s deleted file mode 100644 index fcb24083261..00000000000 --- a/asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/daE_YM_TAG_Execute__FP12daE_YM_TAG_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80815EF8: -/* 80815EF8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80815EFC 7C 08 02 A6 */ mflr r0 -/* 80815F00 90 01 00 14 */ stw r0, 0x14(r1) -/* 80815F04 4B FF FF 89 */ bl execute__12daE_YM_TAG_cFv -/* 80815F08 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80815F0C 7C 08 03 A6 */ mtlr r0 -/* 80815F10 38 21 00 10 */ addi r1, r1, 0x10 -/* 80815F14 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/execute__12daE_YM_TAG_cFv.s b/asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/execute__12daE_YM_TAG_cFv.s deleted file mode 100644 index 51dd97dedf4..00000000000 --- a/asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/execute__12daE_YM_TAG_cFv.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80815E8C: -/* 80815E8C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80815E90 7C 08 02 A6 */ mflr r0 -/* 80815E94 90 01 00 14 */ stw r0, 0x14(r1) -/* 80815E98 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80815E9C 7C 7F 1B 78 */ mr r31, r3 -/* 80815EA0 3C 60 80 81 */ lis r3, s_e_ym__FPvPv@ha /* 0x80815E00@ha */ -/* 80815EA4 38 63 5E 00 */ addi r3, r3, s_e_ym__FPvPv@l /* 0x80815E00@l */ -/* 80815EA8 7F E4 FB 78 */ mr r4, r31 -/* 80815EAC 4B 80 B4 8D */ bl fpcEx_Search__FPFPvPv_PvPv -/* 80815EB0 28 03 00 00 */ cmplwi r3, 0 -/* 80815EB4 41 82 00 2C */ beq lbl_80815EE0 -/* 80815EB8 C0 1F 04 D0 */ lfs f0, 0x4d0(r31) -/* 80815EBC D0 03 06 B8 */ stfs f0, 0x6b8(r3) -/* 80815EC0 C0 1F 04 D4 */ lfs f0, 0x4d4(r31) -/* 80815EC4 D0 03 06 BC */ stfs f0, 0x6bc(r3) -/* 80815EC8 C0 1F 04 D8 */ lfs f0, 0x4d8(r31) -/* 80815ECC D0 03 06 C0 */ stfs f0, 0x6c0(r3) -/* 80815ED0 38 03 06 B8 */ addi r0, r3, 0x6b8 -/* 80815ED4 90 03 06 C4 */ stw r0, 0x6c4(r3) -/* 80815ED8 7F E3 FB 78 */ mr r3, r31 -/* 80815EDC 4B 80 3D A1 */ bl fopAcM_delete__FP10fopAc_ac_c -lbl_80815EE0: -/* 80815EE0 38 60 00 01 */ li r3, 1 -/* 80815EE4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80815EE8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80815EEC 7C 08 03 A6 */ mtlr r0 -/* 80815EF0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80815EF4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/s_e_ym__FPvPv.s b/asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/s_e_ym__FPvPv.s deleted file mode 100644 index 6489e3081be..00000000000 --- a/asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/s_e_ym__FPvPv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_80815E00: -/* 80815E00 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80815E04 7C 08 02 A6 */ mflr r0 -/* 80815E08 90 01 00 14 */ stw r0, 0x14(r1) -/* 80815E0C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80815E10 93 C1 00 08 */ stw r30, 8(r1) -/* 80815E14 7C 7E 1B 78 */ mr r30, r3 -/* 80815E18 7C 9F 23 78 */ mr r31, r4 -/* 80815E1C 4B 80 2E C5 */ bl fopAc_IsActor__FPv -/* 80815E20 2C 03 00 00 */ cmpwi r3, 0 -/* 80815E24 41 82 00 4C */ beq lbl_80815E70 -/* 80815E28 A8 1E 00 08 */ lha r0, 8(r30) -/* 80815E2C 2C 00 01 F4 */ cmpwi r0, 0x1f4 -/* 80815E30 40 82 00 40 */ bne lbl_80815E70 -/* 80815E34 28 1E 00 00 */ cmplwi r30, 0 -/* 80815E38 41 82 00 0C */ beq lbl_80815E44 -/* 80815E3C 80 7E 00 04 */ lwz r3, 4(r30) -/* 80815E40 48 00 00 08 */ b lbl_80815E48 -lbl_80815E44: -/* 80815E44 38 60 FF FF */ li r3, -1 -lbl_80815E48: -/* 80815E48 4B 80 C2 F1 */ bl fpcM_IsCreating__FUi -/* 80815E4C 2C 03 00 00 */ cmpwi r3, 0 -/* 80815E50 40 82 00 20 */ bne lbl_80815E70 -/* 80815E54 88 7E 06 C8 */ lbz r3, 0x6c8(r30) -/* 80815E58 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 80815E5C 54 00 06 3E */ clrlwi r0, r0, 0x18 -/* 80815E60 7C 03 00 40 */ cmplw r3, r0 -/* 80815E64 40 82 00 0C */ bne lbl_80815E70 -/* 80815E68 7F C3 F3 78 */ mr r3, r30 -/* 80815E6C 48 00 00 08 */ b lbl_80815E74 -lbl_80815E70: -/* 80815E70 38 60 00 00 */ li r3, 0 -lbl_80815E74: -/* 80815E74 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80815E78 83 C1 00 08 */ lwz r30, 8(r1) -/* 80815E7C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80815E80 7C 08 03 A6 */ mtlr r0 -/* 80815E84 38 21 00 10 */ addi r1, r1, 0x10 -/* 80815E88 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint/daTagTheBHint_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint/daTagTheBHint_Create__FP10fopAc_ac_c.s deleted file mode 100644 index 6ae880ee576..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint/daTagTheBHint_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,32 +0,0 @@ -lbl_80D63CD8: -/* 80D63CD8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D63CDC 7C 08 02 A6 */ mflr r0 -/* 80D63CE0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D63CE4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80D63CE8 7C 7F 1B 78 */ mr r31, r3 -/* 80D63CEC 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80D63CF0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80D63CF4 40 82 00 1C */ bne lbl_80D63D10 -/* 80D63CF8 28 1F 00 00 */ cmplwi r31, 0 -/* 80D63CFC 41 82 00 08 */ beq lbl_80D63D04 -/* 80D63D00 4B 2B 4E 65 */ bl __ct__10fopAc_ac_cFv -lbl_80D63D04: -/* 80D63D04 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80D63D08 60 00 00 08 */ ori r0, r0, 8 -/* 80D63D0C 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80D63D10: -/* 80D63D10 3C 60 80 D6 */ lis r3, lit_3831@ha /* 0x80D63E54@ha */ -/* 80D63D14 C0 23 3E 54 */ lfs f1, lit_3831@l(r3) /* 0x80D63E54@l */ -/* 80D63D18 C0 1F 04 EC */ lfs f0, 0x4ec(r31) -/* 80D63D1C EC 21 00 32 */ fmuls f1, f1, f0 -/* 80D63D20 3C 60 80 D6 */ lis r3, lit_3832@ha /* 0x80D63E5C@ha */ -/* 80D63D24 C8 43 3E 5C */ lfd f2, lit_3832@l(r3) /* 0x80D63E5C@l */ -/* 80D63D28 4B 60 8A 59 */ bl pow -/* 80D63D2C FC 00 08 18 */ frsp f0, f1 -/* 80D63D30 D0 1F 05 68 */ stfs f0, 0x568(r31) -/* 80D63D34 38 60 00 04 */ li r3, 4 -/* 80D63D38 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80D63D3C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D63D40 7C 08 03 A6 */ mtlr r0 -/* 80D63D44 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D63D48 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint/daTagTheBHint_Delete__FP15daTagTheBHint_c.s b/asm/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint/daTagTheBHint_Delete__FP15daTagTheBHint_c.s deleted file mode 100644 index 5b5e309a7b6..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint/daTagTheBHint_Delete__FP15daTagTheBHint_c.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80D63D4C: -/* 80D63D4C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80D63D50 7C 08 02 A6 */ mflr r0 -/* 80D63D54 90 01 00 14 */ stw r0, 0x14(r1) -/* 80D63D58 28 03 00 00 */ cmplwi r3, 0 -/* 80D63D5C 41 82 00 0C */ beq lbl_80D63D68 -/* 80D63D60 38 80 00 00 */ li r4, 0 -/* 80D63D64 4B 2B 4F 29 */ bl __dt__10fopAc_ac_cFv -lbl_80D63D68: -/* 80D63D68 38 60 00 01 */ li r3, 1 -/* 80D63D6C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80D63D70 7C 08 03 A6 */ mtlr r0 -/* 80D63D74 38 21 00 10 */ addi r1, r1, 0x10 -/* 80D63D78 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint/daTagTheBHint_Execute__FP15daTagTheBHint_c.s b/asm/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint/daTagTheBHint_Execute__FP15daTagTheBHint_c.s deleted file mode 100644 index d115cadbbb7..00000000000 --- a/asm/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint/daTagTheBHint_Execute__FP15daTagTheBHint_c.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_80D63D7C: -/* 80D63D7C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80D63D80 7C 08 02 A6 */ mflr r0 -/* 80D63D84 90 01 00 24 */ stw r0, 0x24(r1) -/* 80D63D88 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80D63D8C 7C 7F 1B 78 */ mr r31, r3 -/* 80D63D90 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D63D94 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D63D98 A8 1F 04 E4 */ lha r0, 0x4e4(r31) -/* 80D63D9C 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 80D63DA0 88 1F 04 BA */ lbz r0, 0x4ba(r31) -/* 80D63DA4 7C 05 07 74 */ extsb r5, r0 -/* 80D63DA8 4B 2D 15 B9 */ bl isSwitch__10dSv_info_cCFii -/* 80D63DAC 2C 03 00 00 */ cmpwi r3, 0 -/* 80D63DB0 41 82 00 14 */ beq lbl_80D63DC4 -/* 80D63DB4 7F E3 FB 78 */ mr r3, r31 -/* 80D63DB8 4B 2B 5E C5 */ bl fopAcM_delete__FP10fopAc_ac_c -/* 80D63DBC 38 60 00 01 */ li r3, 1 -/* 80D63DC0 48 00 00 78 */ b lbl_80D63E38 -lbl_80D63DC4: -/* 80D63DC4 7F E3 FB 78 */ mr r3, r31 -/* 80D63DC8 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80D63DCC 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80D63DD0 80 84 5D AC */ lwz r4, 0x5dac(r4) -/* 80D63DD4 4B 2B 6C C1 */ bl fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c -/* 80D63DD8 C0 1F 05 68 */ lfs f0, 0x568(r31) -/* 80D63DDC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80D63DE0 40 80 00 54 */ bge lbl_80D63E34 -/* 80D63DE4 38 00 00 57 */ li r0, 0x57 -/* 80D63DE8 B0 01 00 08 */ sth r0, 8(r1) -/* 80D63DEC 3C 60 80 02 */ lis r3, fpcSch_JudgeForPName__FPvPv@ha /* 0x80023578@ha */ -/* 80D63DF0 38 63 35 78 */ addi r3, r3, fpcSch_JudgeForPName__FPvPv@l /* 0x80023578@l */ -/* 80D63DF4 38 81 00 08 */ addi r4, r1, 8 -/* 80D63DF8 4B 2B DE 69 */ bl fpcLyIt_AllJudge__FPFPvPv_PvPv -/* 80D63DFC 28 03 00 00 */ cmplwi r3, 0 -/* 80D63E00 41 82 00 34 */ beq lbl_80D63E34 -/* 80D63E04 80 BF 00 B0 */ lwz r5, 0xb0(r31) -/* 80D63E08 54 A0 46 3E */ srwi r0, r5, 0x18 -/* 80D63E0C 7C 06 07 74 */ extsb r6, r0 -/* 80D63E10 2C 06 00 FF */ cmpwi r6, 0xff -/* 80D63E14 40 82 00 0C */ bne lbl_80D63E20 -/* 80D63E18 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 80D63E1C 7C 06 07 74 */ extsb r6, r0 -lbl_80D63E20: -/* 80D63E20 A8 1F 04 E8 */ lha r0, 0x4e8(r31) -/* 80D63E24 54 04 04 3E */ clrlwi r4, r0, 0x10 -/* 80D63E28 54 A5 04 3E */ clrlwi r5, r5, 0x10 -/* 80D63E2C 7C C6 07 74 */ extsb r6, r6 -/* 80D63E30 4B D9 98 A9 */ bl setHintEvent__11daNpcTheB_cFlUsi -lbl_80D63E34: -/* 80D63E34 38 60 00 01 */ li r3, 1 -lbl_80D63E38: -/* 80D63E38 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80D63E3C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80D63E40 7C 08 03 A6 */ mtlr r0 -/* 80D63E44 38 21 00 20 */ addi r1, r1, 0x20 -/* 80D63E48 4E 80 00 20 */ blr diff --git a/include/f_pc/f_pc_searcher.h b/include/f_pc/f_pc_searcher.h index 401dda6420e..8445ae8b98f 100644 --- a/include/f_pc/f_pc_searcher.h +++ b/include/f_pc/f_pc_searcher.h @@ -4,6 +4,7 @@ #include "dolphin/types.h" #include "f_pc/f_pc_base.h" +#include "f_pc/f_pc_layer_iter.h" void* fpcSch_JudgeForPName(void* pProc, void* pUserData); void* fpcSch_JudgeByID(void* pProc, void* pUserData); @@ -12,4 +13,8 @@ extern "C" { void fpcSch_JudgeForPName__FPvPv(void); } +inline base_process_class* i_fpcM_SearchByName(s16 name) { + return (base_process_class*)fpcLyIt_AllJudge(fpcSch_JudgeForPName, &name); +} + #endif diff --git a/include/rel/d/a/e/d_a_e_ym/d_a_e_ym.h b/include/rel/d/a/e/d_a_e_ym/d_a_e_ym.h index be70ab9a2c5..dc20d5568d5 100644 --- a/include/rel/d/a/e/d_a_e_ym/d_a_e_ym.h +++ b/include/rel/d/a/e/d_a_e_ym/d_a_e_ym.h @@ -2,5 +2,92 @@ #define D_A_E_YM_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" + +class daE_YM_c : public fopEn_enemy_c { +public: + u8 getTagNo() { + return mTagNo; + } + + void setTagPos(cXyz& i_position) { + mTagPos = i_position; + } + + void setTagPosP() { + mTagPosP = &mTagPos; + } + + /* 80808184 */ void checkBck(char const*, int); + /* 808081E0 */ void bckSet(int, u8, f32, f32); + /* 80808328 */ void bckSetFly(int, u8, f32, f32); + /* 808083CC */ void draw(); + /* 80808768 */ void setDigEffect(); + /* 80808884 */ void setElecEffect1(); + /* 808089DC */ void setElecEffect2(); + /* 80808B3C */ void setFireEffect(); + /* 80808E34 */ void checkWallCrash(); + /* 80809000 */ void checkWolfBark(); + /* 80809228 */ void checkSurpriseLock(); + /* 8080963C */ void checkRailSurprise(); + /* 808096EC */ void checkSurpriseNear(); + /* 80809D6C */ void setNormalCc(); + /* 80809D84 */ void setAppear(); + /* 80809DA8 */ void setMoveSound(int); + /* 80809EF0 */ void setTurnSound(); + /* 80809F9C */ void setActionMode(int); + /* 80809FC4 */ void executeWait(); + /* 8080A57C */ void executeMove(); + /* 8080ACB4 */ void executeEscape(); + /* 8080B444 */ void executeDown(); + /* 8080BB7C */ void damage_check(); + /* 8080BCFC */ void executeWind(); + /* 8080C05C */ void getSurpriseType(); + /* 8080C1FC */ void setSurpriseAway(); + /* 8080C24C */ void setGoHomeType(); + /* 8080C374 */ void executeSurprise(); + /* 8080CEE0 */ void executeBack(); + /* 8080CFC8 */ void executeFall(); + /* 8080D2C8 */ void executeAttack(); + /* 8080D990 */ void checkAttackEnd(); + /* 8080DB58 */ void setAttackMotion(); + /* 8080DC5C */ void executeAttackWall(); + /* 8080E26C */ void executeDefense(); + /* 8080E49C */ void checkFlyTerritory(); + /* 8080E630 */ void initFly(); + /* 8080E6A0 */ void executeFly(); + /* 8080F8C8 */ void setInclination(); + /* 8080F92C */ void executeFlyAttack(); + /* 80810084 */ void setNextPathPoint(); + /* 8081013C */ void checkRailDig(); + /* 8081030C */ void executeRail(); + /* 80810690 */ void executeBackRail(); + /* 80810DF8 */ void checkElectricStart(); + /* 80810E64 */ void executeElectric(); + /* 8081105C */ void executeSwitch(); + /* 80811740 */ void initFireFly(int); + /* 80811838 */ void executeFire(); + /* 808120B0 */ void setRiverAttention(); + /* 808123C4 */ void setLockByCargo(); + /* 808123D0 */ void executeRiver(); + /* 80812FCC */ void checkFrinedSamePos(); + /* 8081300C */ void action(); + /* 80813528 */ void mtx_set(); + /* 808135B0 */ void cc_set(); + /* 808138AC */ void execute(); + /* 80813A38 */ void _delete(); + /* 80813AF0 */ void CreateHeap(); + /* 80813EA4 */ void checkBeforeBg(s16); + /* 808143A0 */ void checkBeforeGround(); + /* 808144D8 */ void checkInitialWall(); + /* 80814758 */ void checkWall(); + /* 80814AF0 */ void setHideType(); + /* 80814BA4 */ void create(); + + /* 0x5AC */ u8 field_0x5ac[268]; + /* 0x6B8 */ cXyz mTagPos; + /* 0x6C4 */ cXyz* mTagPosP; + /* 0x6C8 */ u8 mTagNo; +}; #endif /* D_A_E_YM_H */ diff --git a/include/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.h b/include/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.h index 8a1f00207c0..371a3cc51bd 100644 --- a/include/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.h +++ b/include/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.h @@ -1,6 +1,12 @@ #ifndef D_A_E_YM_TAG_H #define D_A_E_YM_TAG_H -#include "dolphin/types.h" +#include "rel/d/a/e/d_a_e_ym/d_a_e_ym.h" + +class daE_YM_TAG_c : public fopAc_ac_c { +public: + /* 80815E8C */ int execute(); + /* 80815F28 */ int create(); +}; #endif /* D_A_E_YM_TAG_H */ diff --git a/include/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB.h b/include/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB.h index d05ebd3ab74..4a2f7780d8e 100644 --- a/include/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB.h +++ b/include/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB.h @@ -2,5 +2,135 @@ #define D_A_NPC_THEB_H #include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +// #include "d/com/d_com_inf_game.h" +// #include "d/a/d_a_npc.h" + +struct daNpcTheB_Param_c { + /* 80B00D00 */ ~daNpcTheB_Param_c(); + + static u8 const m[108]; +}; + +struct daNpcF_c { + struct daNpcF_anmPlayData {}; + + /* 801522AC */ void draw(int, int, f32, _GXColorS10*, int); + /* 8015276C */ void setMtx(); + /* 801527FC */ void setMtx2(); + /* 801528C8 */ void initialize(); + /* 80152B2C */ void getTrnsfrmKeyAnmP(char*, int); + /* 80152B68 */ void getTexPtrnAnmP(char*, int); + /* 80152BA4 */ void getTexSRTKeyAnmP(char*, int); + /* 80152C1C */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); + /* 80152C80 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool); + /* 80152CC4 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int); + /* 80152D04 */ void setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int); + /* 80152D84 */ void setEnvTevColor(); + /* 80152DE0 */ void setRoomNo(); + /* 80152F40 */ void playAllAnm(); + /* 80153150 */ void playExpressionAnm(daNpcF_c::daNpcF_anmPlayData***); + /* 80153264 */ void playMotionAnm(daNpcF_c::daNpcF_anmPlayData***); + /* 8015337C */ void setLookatMtx(int, int*, f32); + /* 80153718 */ void ctrlMsgAnm(int&, int&, fopAc_ac_c*, int); + /* 8015387C */ void orderEvent(int, char*, u16, u16, u8, u16); + /* 80153D1C */ void initTalk(int, fopAc_ac_c**); + /* 80153D84 */ void talkProc(int*, int, fopAc_ac_c**); + /* 80154278 */ void getDistTableIdx(int, int); + /* 801542A0 */ void getEvtAreaTagP(int, int); + /* 801549E0 */ void chkFindPlayer2(int, s16); + /* 80B00600 */ ~daNpcF_c(); + /* 80B0084C */ daNpcF_c(); + /* 80B00BC0 */ void adjustShapeAngle(); + /* 80B00BC4 */ void setCollisions(); + /* 80B00BC8 */ void drawOtherMdls(); + + static u8 mCcDCyl[68]; +}; + +struct daNpcF_Lookat_c { + /* 80151038 */ void initialize(); + /* 801510B8 */ void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16, + cXyz*); + /* 80151350 */ void calc(fopAc_ac_c*, f32 (*)[4], csXyz**, int, int, int); + /* 80B004B0 */ ~daNpcF_Lookat_c(); +}; + +struct daNpcF_ActorMngr_c { + /* 801506B0 */ void initialize(); + /* 801506BC */ void entry(fopAc_ac_c*); + /* 801506E0 */ void remove(); + /* 801506EC */ void getActorP(); + /* 80B0042C */ ~daNpcF_ActorMngr_c(); + /* 80B00474 */ daNpcF_ActorMngr_c(); +}; + +struct J3DTexNoAnm { + /* 80AFD0E8 */ ~J3DTexNoAnm(); + /* 80AFD130 */ J3DTexNoAnm(); + /* 80B003FC */ void calc(u16*) const; +}; + +struct J3DTexMtxAnm { + /* 80AFD154 */ ~J3DTexMtxAnm(); + /* 80AFD190 */ J3DTexMtxAnm(); +}; + +struct J3DTevKColorAnm { + /* 80AFD040 */ ~J3DTevKColorAnm(); + /* 80AFD07C */ J3DTevKColorAnm(); +}; + +struct J3DTevColorAnm { + /* 80AFD094 */ ~J3DTevColorAnm(); + /* 80AFD0D0 */ J3DTevColorAnm(); +}; + +struct J3DMatColorAnm { + /* 80AFD1A8 */ ~J3DMatColorAnm(); + /* 80AFD1E4 */ J3DMatColorAnm(); +}; + +struct daNpcTheB_c { + /* 80AFC76C */ daNpcTheB_c(); + /* 80AFC980 */ ~daNpcTheB_c(); + /* 80AFCB44 */ void create(); + /* 80AFCD98 */ void CreateHeap(); + /* 80AFD1FC */ void Delete(); + /* 80AFD230 */ void Execute(); + /* 80AFD250 */ void Draw(); + /* 80AFD2A8 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 80AFD49C */ void createHeapCallBack(fopAc_ac_c*); + /* 80AFD4BC */ void ctrlJointCallBack(J3DJoint*, int); + /* 80AFD508 */ void getHandPos1(int); + /* 80AFD5F0 */ void getHandPos2(int); + /* 80AFD6D8 */ void setHintEvent(s32, u16, int); + /* 80AFD6F0 */ void main(); + /* 80AFD938 */ void setParam(); + /* 80AFDAA4 */ void ctrlBtk(); + /* 80AFDB70 */ void setAttnPos(); + /* 80AFDEC0 */ void setExpressionAnm(int, bool); + /* 80AFE0BC */ void setExpressionBtp(int); + /* 80AFE1BC */ void setMotionAnm(int, f32); + /* 80AFE398 */ bool drawDbgInfo(); + /* 80AFE3A0 */ void reset(); + /* 80AFE574 */ void playExpression(); + /* 80AFE704 */ void playMotion(); + /* 80AFE920 */ void doNormalAction(); + /* 80AFEA14 */ void doEvent(); + /* 80AFED24 */ void lookat(); + /* 80AFEECC */ void wait(void*); + /* 80AFF45C */ void setMotion(int, f32, int); + /* 80AFF4A0 */ void setExpression(int, f32); + /* 80AFF4CC */ void talk(void*); + /* 80AFF6AC */ void EvCut_PersonalCombatIntro(int); + /* 80AFF888 */ void EvCut_PersonalCombatRevenge(int); + /* 80AFFBB4 */ void EvCut_PersonalCombatAfter(); + /* 80AFFEF4 */ void EvCut_AnnulationFieldRace(int); + /* 80AFFFE0 */ void EvCut_TheBHint(int); + /* 80B00204 */ void EvCut_CoachGuardGameOver(int); + + static u8 mEvtSeqList[72]; +}; #endif /* D_A_NPC_THEB_H */ diff --git a/include/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint.h b/include/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint.h index f3708cddbde..5e03effb424 100644 --- a/include/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint.h +++ b/include/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint.h @@ -1,6 +1,104 @@ #ifndef D_A_TAG_THEB_HINT_H #define D_A_TAG_THEB_HINT_H -#include "dolphin/types.h" +// #include "rel/d/a/npc/d_a_npc_theB/d_a_npc_theB.h" +#include "d/com/d_com_inf_game.h" + +// needs to be pulled from d_a_npc_theB.h eventually +struct daNpcTheB_c { + /* 80AFC76C */ daNpcTheB_c(); + /* 80AFC980 */ ~daNpcTheB_c(); + /* 80AFCB44 */ void create(); + /* 80AFCD98 */ void CreateHeap(); + /* 80AFD1FC */ void Delete(); + /* 80AFD230 */ void Execute(); + /* 80AFD250 */ void Draw(); + /* 80AFD2A8 */ void ctrlJoint(J3DJoint*, J3DModel*); + /* 80AFD49C */ void createHeapCallBack(fopAc_ac_c*); + /* 80AFD4BC */ void ctrlJointCallBack(J3DJoint*, int); + /* 80AFD508 */ void getHandPos1(int); + /* 80AFD5F0 */ void getHandPos2(int); + /* 80AFD6D8 */ void setHintEvent(s32, u16, int); + /* 80AFD6F0 */ void main(); + /* 80AFD938 */ void setParam(); + /* 80AFDAA4 */ void ctrlBtk(); + /* 80AFDB70 */ void setAttnPos(); + /* 80AFDEC0 */ void setExpressionAnm(int, bool); + /* 80AFE0BC */ void setExpressionBtp(int); + /* 80AFE1BC */ void setMotionAnm(int, f32); + /* 80AFE398 */ bool drawDbgInfo(); + /* 80AFE3A0 */ void reset(); + /* 80AFE574 */ void playExpression(); + /* 80AFE704 */ void playMotion(); + /* 80AFE920 */ void doNormalAction(); + /* 80AFEA14 */ void doEvent(); + /* 80AFED24 */ void lookat(); + /* 80AFEECC */ void wait(void*); + /* 80AFF45C */ void setMotion(int, f32, int); + /* 80AFF4A0 */ void setExpression(int, f32); + /* 80AFF4CC */ void talk(void*); + /* 80AFF6AC */ void EvCut_PersonalCombatIntro(int); + /* 80AFF888 */ void EvCut_PersonalCombatRevenge(int); + /* 80AFFBB4 */ void EvCut_PersonalCombatAfter(); + /* 80AFFEF4 */ void EvCut_AnnulationFieldRace(int); + /* 80AFFFE0 */ void EvCut_TheBHint(int); + /* 80B00204 */ void EvCut_CoachGuardGameOver(int); + + static u8 mEvtSeqList[72]; +}; + +class daTagTheBHint_c : public fopAc_ac_c { +public: + + u8 getSwitchNo() { + return shape_angle.x & 0xff; + } + + u16 getMessageNo() { + return shape_angle.z & 0xffff; + } + + u16 getLinkID() { + return fopAcM_GetParam(this) & 0xFFFF; + } + + s8 getRoomNo() { + return fopAcM_GetParam(this) >> 24; + } + + int create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTagTheBHint_c(); + fopAcM_OnCondition(this, 8); + } + field_0x568 = pow(mScale.x * 100.0f,2.0f); + return cPhs_COMPLEATE_e; + } + + int execute() { + if (i_fopAcM_isSwitch(this,getSwitchNo())) { + fopAcM_delete(this); + return 1; + } else { + f32 distance = fopAcM_searchPlayerDistanceXZ2(this); + + if (distance < field_0x568) { + daNpcTheB_c* the_b = (daNpcTheB_c*)i_fpcM_SearchByName(PROC_NPC_THEB); + if (the_b) { + s8 roomNo = getRoomNo(); + + if (roomNo == 0xFF) { + roomNo = fopAcM_GetRoomNo(this); + } + + the_b->setHintEvent(getMessageNo(),getLinkID(),roomNo); + } + } + } + + return 1; + } + /* 0x568 */ f32 field_0x568; +}; #endif /* D_A_TAG_THEB_HINT_H */ diff --git a/rel/d/a/d_a_bg/d_a_bg.cpp b/rel/d/a/d_a_bg/d_a_bg.cpp index 231c09dca9b..8ed960569fd 100644 --- a/rel/d/a/d_a_bg/d_a_bg.cpp +++ b/rel/d/a/d_a_bg/d_a_bg.cpp @@ -308,7 +308,8 @@ SECTION_DATA extern void* __vt__11J3DTexNoAnm[3] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTexNoAnm::~J3DTexNoAnm() { +// asm J3DTexNoAnm::~J3DTexNoAnm() { +extern "C" asm void __dt__11J3DTexNoAnmFv() { nofralloc #include "asm/rel/d/a/d_a_bg/d_a_bg/__dt__11J3DTexNoAnmFv.s" } diff --git a/rel/d/a/e/d_a_e_ym/d_a_e_ym.cpp b/rel/d/a/e/d_a_e_ym/d_a_e_ym.cpp index 9b8bd10c6aa..961689a0b1a 100644 --- a/rel/d/a/e/d_a_e_ym/d_a_e_ym.cpp +++ b/rel/d/a/e/d_a_e_ym/d_a_e_ym.cpp @@ -1,7 +1,7 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_ym -// +/** + * d_a_e_ym.cpp + * Enemy - Shadow Insect / 闇虫 (Yami Mushi) + */ #include "rel/d/a/e/d_a_e_ym/d_a_e_ym.h" #include "dol2asm.h" @@ -11,68 +11,6 @@ // Types: // -struct request_of_phase_process_class {}; - -struct csXyz {}; - -struct Vec {}; - -struct cXyz { - /* 80266AE4 */ void operator+(Vec const&) const; - /* 80266B34 */ void operator-(Vec const&) const; - /* 80266B84 */ void operator*(f32) const; - /* 8026702C */ bool operator==(Vec const&) const; - /* 80813E38 */ cXyz(); - /* 80815900 */ ~cXyz(); -}; - -struct mDoMtx_stack_c { - /* 8000CDD4 */ void transM(cXyz const&); - /* 8000CE38 */ void scaleM(f32, f32, f32); - /* 8000CF44 */ void ZXYrotM(csXyz const&); - - static u8 now[48]; -}; - -struct J3DMaterialTable {}; - -struct J3DAnmTevRegKey {}; - -struct mDoExt_brkAnm { - /* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16); - /* 8000D7A8 */ void entry(J3DMaterialTable*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DAnmTransform {}; - -struct J3DModelData {}; - -struct Z2Creature {}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32); - /* 800110B0 */ void play(u32, s8); - /* 800111C0 */ void entryDL(); - /* 800111EC */ void modelCalc(); -}; - -struct fopEn_enemy_c {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - struct daTag_FWall_c { /* 80815958 */ void getPos(u8); }; @@ -84,276 +22,11 @@ struct daPy_py_c { static u8 m_midnaActor[4]; }; -struct daKago_c { - /* 8084B088 */ void checkNextPath(cXyz); -}; - -struct daE_YM_c { - /* 80808184 */ void checkBck(char const*, int); - /* 808081E0 */ void bckSet(int, u8, f32, f32); - /* 80808328 */ void bckSetFly(int, u8, f32, f32); - /* 808083CC */ void draw(); - /* 80808768 */ void setDigEffect(); - /* 80808884 */ void setElecEffect1(); - /* 808089DC */ void setElecEffect2(); - /* 80808B3C */ void setFireEffect(); - /* 80808E34 */ void checkWallCrash(); - /* 80809000 */ void checkWolfBark(); - /* 80809228 */ void checkSurpriseLock(); - /* 8080963C */ void checkRailSurprise(); - /* 808096EC */ void checkSurpriseNear(); - /* 80809D6C */ void setNormalCc(); - /* 80809D84 */ void setAppear(); - /* 80809DA8 */ void setMoveSound(int); - /* 80809EF0 */ void setTurnSound(); - /* 80809F9C */ void setActionMode(int); - /* 80809FC4 */ void executeWait(); - /* 8080A57C */ void executeMove(); - /* 8080ACB4 */ void executeEscape(); - /* 8080B444 */ void executeDown(); - /* 8080BB7C */ void damage_check(); - /* 8080BCFC */ void executeWind(); - /* 8080C05C */ void getSurpriseType(); - /* 8080C1FC */ void setSurpriseAway(); - /* 8080C24C */ void setGoHomeType(); - /* 8080C374 */ void executeSurprise(); - /* 8080CEE0 */ void executeBack(); - /* 8080CFC8 */ void executeFall(); - /* 8080D2C8 */ void executeAttack(); - /* 8080D990 */ void checkAttackEnd(); - /* 8080DB58 */ void setAttackMotion(); - /* 8080DC5C */ void executeAttackWall(); - /* 8080E26C */ void executeDefense(); - /* 8080E49C */ void checkFlyTerritory(); - /* 8080E630 */ void initFly(); - /* 8080E6A0 */ void executeFly(); - /* 8080F8C8 */ void setInclination(); - /* 8080F92C */ void executeFlyAttack(); - /* 80810084 */ void setNextPathPoint(); - /* 8081013C */ void checkRailDig(); - /* 8081030C */ void executeRail(); - /* 80810690 */ void executeBackRail(); - /* 80810DF8 */ void checkElectricStart(); - /* 80810E64 */ void executeElectric(); - /* 8081105C */ void executeSwitch(); - /* 80811740 */ void initFireFly(int); - /* 80811838 */ void executeFire(); - /* 808120B0 */ void setRiverAttention(); - /* 808123C4 */ void setLockByCargo(); - /* 808123D0 */ void executeRiver(); - /* 80812FCC */ void checkFrinedSamePos(); - /* 8081300C */ void action(); - /* 80813528 */ void mtx_set(); - /* 808135B0 */ void cc_set(); - /* 808138AC */ void execute(); - /* 80813A38 */ void _delete(); - /* 80813AF0 */ void CreateHeap(); - /* 80813EA4 */ void checkBeforeBg(s16); - /* 808143A0 */ void checkBeforeGround(); - /* 808144D8 */ void checkInitialWall(); - /* 80814758 */ void checkWall(); - /* 80814AF0 */ void setHideType(); - /* 80814BA4 */ void create(); -}; - struct daE_YM_HIO_c { /* 8080812C */ daE_YM_HIO_c(); /* 80815458 */ ~daE_YM_HIO_c(); }; -struct dSv_light_drop_c { - /* 8003439C */ void isLightDropGetFlag(u8) const; -}; - -struct dSv_info_c { - /* 80035200 */ void onSwitch(int, int); - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dKy_tevstr_c {}; - -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 { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dPath {}; - -struct dPa_levelEcallBack {}; - -struct _GXColor {}; - -struct dPa_control_c { - struct level_c { - /* 8004B918 */ void getEmitter(u32); - }; - - /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32); - /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, - cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*, - _GXColor const*, cXyz const*, f32); - /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, - u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, - cXyz const*, f32); -}; - -struct dDlst_shadowControl_c { - static u8 mSimpleTexObj[32]; -}; - -struct dComIfG_play_c { - /* 8002C97C */ void getLayerNo(int); -}; - -struct dCcU_AtInfo {}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcSph {}; - -struct dCcD_Sph { - /* 80084A34 */ void Set(dCcD_SrcSph const&); -}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80083830 */ void Move(); - /* 808152B4 */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800842C0 */ void ChkAtHit(); - /* 80084358 */ void GetAtHitObj(); - /* 80084460 */ void ChkTgHit(); - /* 800844F8 */ void GetTgHitObj(); - /* 80084658 */ void ChkCoHit(); - /* 800846F0 */ void GetCoHitObj(); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjGndChk_Wtr { - /* 80077678 */ dBgS_ObjGndChk_Wtr(); - /* 80077710 */ ~dBgS_ObjGndChk_Wtr(); -}; - -struct dBgS_ObjAcch { - /* 80815310 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); - /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F58 */ void SetWall(f32, f32); - /* 80815380 */ ~dBgS_AcchCir(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct dBgS { - /* 80074EF0 */ void GetGroundCode(cBgS_PolyInfo const&); -}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); - /* 80077114 */ void SetGroundUpY(f32); -}; - -struct dAttention_c { - /* 8007353C */ void LockonTarget(s32); - /* 800737E4 */ void LockonTruth(); -}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); - /* 80815224 */ ~cM3dGSph(); -}; - -struct cM3dGPla { - /* 8080BB34 */ ~cM3dGPla(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 8081526C */ ~cM3dGAab(); -}; - -struct cCcD_Obj { - /* 80263A48 */ void GetAc(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 80815410 */ ~cCcD_GStts(); -}; - -struct cBgS_LinChk {}; - -struct cBgS_GndChk { - /* 80267D28 */ void SetPos(cXyz const*); - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800743B4 */ void LineCross(cBgS_LinChk*); - /* 800744A0 */ void GroundCross(cBgS_GndChk*); - /* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; -}; - -struct _GXTexObj {}; - -struct Z2CreatureEnemy { - /* 802C0F64 */ Z2CreatureEnemy(); - /* 802C1094 */ void init(Vec*, Vec*, u8, u8); - /* 802C1B7C */ void setLinkSearch(bool); - /* 802C1B90 */ void setEnemyName(char const*); -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 8032842C */ void checkPass(f32); - /* 80813E3C */ ~J3DFrameCtrl(); -}; - struct E_YM_n { static u8 cc_sph_src[64]; }; @@ -582,12 +255,6 @@ extern "C" void* __nwa__FUl(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void __construct_new_array(); extern "C" void _savegpr_19(); extern "C" void _savegpr_25(); @@ -601,10 +268,7 @@ extern "C" void _restgpr_26(); extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); -extern "C" void abs(); extern "C" void strcmp(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Sph[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" extern void* __vt__12cCcD_SphAttr[25]; @@ -613,10 +277,7 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" extern u8 JPTracePCB4[4]; extern "C" u8 m_midnaActor__9daPy_py_c[4]; extern "C" void __register_global_object(); @@ -1435,7 +1096,8 @@ asm void daE_YM_c::executeDown() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGPla::~cM3dGPla() { +// asm cM3dGPla::~cM3dGPla() { +extern "C" asm void __dt__8cM3dGPlaFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ym/d_a_e_ym/__dt__8cM3dGPlaFv.s" } @@ -2080,7 +1742,8 @@ asm void daE_YM_c::CreateHeap() { #pragma pop /* 80813E38-80813E3C 00BDF8 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -2088,7 +1751,8 @@ cXyz::cXyz() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv(){ nofralloc #include "asm/rel/d/a/e/d_a_e_ym/d_a_e_ym/__dt__12J3DFrameCtrlFv.s" } @@ -2207,7 +1871,8 @@ asm void daE_YM_c::create() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGSph::~cM3dGSph() { +// asm cM3dGSph::~cM3dGSph() { +extern "C" asm void __dt__8cM3dGSphFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ym/d_a_e_ym/__dt__8cM3dGSphFv.s" } @@ -2217,7 +1882,8 @@ asm cM3dGSph::~cM3dGSph() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ym/d_a_e_ym/__dt__8cM3dGAabFv.s" } @@ -2227,7 +1893,8 @@ asm cM3dGAab::~cM3dGAab() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ym/d_a_e_ym/__dt__10dCcD_GSttsFv.s" } @@ -2237,7 +1904,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ym/d_a_e_ym/__dt__12dBgS_ObjAcchFv.s" } @@ -2247,7 +1915,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ym/d_a_e_ym/__dt__12dBgS_AcchCirFv.s" } @@ -2267,7 +1936,8 @@ static asm void daE_YM_Create(daE_YM_c* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ym/d_a_e_ym/__dt__10cCcD_GSttsFv.s" } @@ -2334,7 +2004,8 @@ static asm void setMidnaBindEffect(fopEn_enemy_c* param_0, Z2CreatureEnemy* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/e/d_a_e_ym/d_a_e_ym/__dt__4cXyzFv.s" } diff --git a/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.cpp b/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.cpp index 4f419dd6a03..d20b107479f 100644 --- a/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.cpp +++ b/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.cpp @@ -1,142 +1,107 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_e_ym_tag -// +/** + * d_a_e_ym_tag.cpp + * Enemy - Shadow Insect / 闇虫 (Yami Mushi) - Tag + */ #include "rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daE_YM_TAG_c { - /* 80815E8C */ void execute(); - /* 80815F28 */ void create(); -}; - -// -// Forward References: -// - -extern "C" static bool daE_YM_TAG_Draw__FP12daE_YM_TAG_c(); -extern "C" static void s_e_ym__FPvPv(); -extern "C" void execute__12daE_YM_TAG_cFv(); -extern "C" static void daE_YM_TAG_Execute__FP12daE_YM_TAG_c(); -extern "C" static bool daE_YM_TAG_IsDelete__FP12daE_YM_TAG_c(); -extern "C" static bool daE_YM_TAG_Delete__FP12daE_YM_TAG_c(); -extern "C" void create__12daE_YM_TAG_cFv(); -extern "C" static void daE_YM_TAG_Create__FP12daE_YM_TAG_c(); -extern "C" extern void* g_profile_E_YM_TAG[12]; - -// -// External References: -// - -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fpcEx_Search__FPFPvPv_PvPv(); -extern "C" void fpcM_IsCreating__FUi(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; - -// -// Declarations: -// +#include "d/d_procname.h" +#include "f_pc/f_pc_executor.h" /* 80815DF8-80815E00 000078 0008+00 1/0 0/0 0/0 .text daE_YM_TAG_Draw__FP12daE_YM_TAG_c */ -static bool daE_YM_TAG_Draw(daE_YM_TAG_c* param_0) { - return true; +static int daE_YM_TAG_Draw(daE_YM_TAG_c* i_this) { + return 1; } /* 80815E00-80815E8C 000080 008C+00 1/1 0/0 0/0 .text s_e_ym__FPvPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void s_e_ym(void* param_0, void* param_1) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/s_e_ym__FPvPv.s" +static void* s_e_ym(void* i_actorP1, void* i_actorP2) { + if (fopAcM_IsActor(i_actorP1) && fopAcM_GetName(i_actorP1) == PROC_E_YM) { + if (fpcM_IsCreating(fopAcM_GetID(i_actorP1)) == 0) { + if (static_cast(i_actorP1)->getTagNo() == (u8)fopAcM_GetParam(i_actorP2)) { + return i_actorP1; + } + } + } + + return 0; } -#pragma pop /* 80815E8C-80815EF8 00010C 006C+00 1/1 0/0 0/0 .text execute__12daE_YM_TAG_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daE_YM_TAG_c::execute() { - nofralloc -#include "asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/execute__12daE_YM_TAG_cFv.s" +int daE_YM_TAG_c::execute() { + daE_YM_c* shadow_insectP = (daE_YM_c*)i_fpcM_Search(s_e_ym,this); + + if (shadow_insectP) { + shadow_insectP->setTagPos(current.pos); + shadow_insectP->setTagPosP(); + fopAcM_delete(this); + } + + return 1; } -#pragma pop /* 80815EF8-80815F18 000178 0020+00 1/0 0/0 0/0 .text daE_YM_TAG_Execute__FP12daE_YM_TAG_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daE_YM_TAG_Execute(daE_YM_TAG_c* param_0) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/daE_YM_TAG_Execute__FP12daE_YM_TAG_c.s" +static int daE_YM_TAG_Execute(daE_YM_TAG_c* i_this) { + return i_this->execute(); } -#pragma pop /* 80815F18-80815F20 000198 0008+00 1/0 0/0 0/0 .text daE_YM_TAG_IsDelete__FP12daE_YM_TAG_c */ -static bool daE_YM_TAG_IsDelete(daE_YM_TAG_c* param_0) { - return true; +static int daE_YM_TAG_IsDelete(daE_YM_TAG_c* i_this) { + return 1; } /* 80815F20-80815F28 0001A0 0008+00 1/0 0/0 0/0 .text daE_YM_TAG_Delete__FP12daE_YM_TAG_c */ -static bool daE_YM_TAG_Delete(daE_YM_TAG_c* param_0) { - return true; +static int daE_YM_TAG_Delete(daE_YM_TAG_c* i_this) { + return 1; } /* 80815F28-80815F90 0001A8 0068+00 1/1 0/0 0/0 .text create__12daE_YM_TAG_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daE_YM_TAG_c::create() { - nofralloc -#include "asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/create__12daE_YM_TAG_cFv.s" +int daE_YM_TAG_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daE_YM_TAG_c(); + fopAcM_OnCondition(this, 8); + } + if ((u8)fopAcM_GetParam(this) == 0xFF) { + return cPhs_ERROR_e; + } + return cPhs_COMPLEATE_e; } -#pragma pop /* 80815F90-80815FB0 000210 0020+00 1/0 0/0 0/0 .text daE_YM_TAG_Create__FP12daE_YM_TAG_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daE_YM_TAG_Create(daE_YM_TAG_c* param_0) { - nofralloc -#include "asm/rel/d/a/e/d_a_e_ym_tag/d_a_e_ym_tag/daE_YM_TAG_Create__FP12daE_YM_TAG_c.s" +static int daE_YM_TAG_Create(daE_YM_TAG_c* i_this) { + return i_this->create(); } -#pragma pop /* ############################################################################################## */ /* 80815FB8-80815FD8 -00001 0020+00 1/0 0/0 0/0 .data l_daE_YM_TAG_Method */ -SECTION_DATA static void* l_daE_YM_TAG_Method[8] = { - (void*)daE_YM_TAG_Create__FP12daE_YM_TAG_c, - (void*)daE_YM_TAG_Delete__FP12daE_YM_TAG_c, - (void*)daE_YM_TAG_Execute__FP12daE_YM_TAG_c, - (void*)daE_YM_TAG_IsDelete__FP12daE_YM_TAG_c, - (void*)daE_YM_TAG_Draw__FP12daE_YM_TAG_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daE_YM_TAG_Method = { + (process_method_func)daE_YM_TAG_Create, + (process_method_func)daE_YM_TAG_Delete, + (process_method_func)daE_YM_TAG_Execute, + (process_method_func)daE_YM_TAG_IsDelete, + (process_method_func)daE_YM_TAG_Draw }; /* 80815FD8-80816008 -00001 0030+00 0/0 0/0 1/0 .data g_profile_E_YM_TAG */ -SECTION_DATA extern void* g_profile_E_YM_TAG[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01F50000, (void*)&g_fpcLf_Method, - (void*)0x00000568, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00C30000, (void*)&l_daE_YM_TAG_Method, - (void*)0x00044000, (void*)NULL, +extern actor_process_profile_definition g_profile_E_YM_TAG = { + -3, // mLayerID + 7, // mListID + -3, // mListPrio + PROC_E_YM_TAG, // mProcName + 0, // padding + &g_fpcLf_Method.mBase, // mSubMtd + sizeof(daE_YM_TAG_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // mSubMtd + 0x00C3, // mPriority + 0, // padding + 0, // padding + &l_daE_YM_TAG_Method, // mSubMtd + 0x00044000, // mStatus + 0, // mActorType + 0, // mCullType + 0, // padding + 0 // padding }; diff --git a/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB.cpp b/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB.cpp index 28eae924a63..1ebfe10d762 100644 --- a/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB.cpp +++ b/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB.cpp @@ -1,380 +1,12 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_npc_theB -// +/** + * d_a_npc_theB.cpp + * Telma B + */ #include "rel/d/a/npc/d_a_npc_theB/d_a_npc_theB.h" #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct Vec {}; - -struct cXyz { - /* 80266B34 */ void operator-(Vec const&) const; - /* 80B005C0 */ ~cXyz(); - /* 80B005FC */ cXyz(); -}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - /* 8000CD9C */ void transM(f32, f32, f32); - - static u8 now[48]; -}; - -struct J3DAnmTransform {}; - -struct mDoExt_bckAnm { - /* 8000D990 */ void changeBckOnly(J3DAnmTransform*); -}; - -struct mDoExt_McaMorfCallBack2_c {}; - -struct mDoExt_McaMorfCallBack1_c {}; - -struct J3DModelData {}; - -struct Z2Creature { - /* 802C03C8 */ Z2Creature(); - /* 802C0420 */ ~Z2Creature(); - /* 802C0530 */ void init(Vec*, Vec*, u8, u8); -}; - -struct mDoExt_McaMorfSO { - /* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*, - mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, - int, Z2Creature*, u32, u32); - /* 800111EC */ void modelCalc(); - /* 80011310 */ void stopZelAnime(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct fopAcM_gc_c { - /* 8001DCBC */ void gndCheck(cXyz const*); - - static f32 mGroundY; -}; - -struct daStartAndGoal_c { - /* 80D4DB30 */ void readyStartTimer(); - /* 80D4DBAC */ void isStartCheck(); -}; - -struct J3DModel {}; - -struct J3DJoint {}; - -struct daNpcTheB_c { - /* 80AFC76C */ daNpcTheB_c(); - /* 80AFC980 */ ~daNpcTheB_c(); - /* 80AFCB44 */ void create(); - /* 80AFCD98 */ void CreateHeap(); - /* 80AFD1FC */ void Delete(); - /* 80AFD230 */ void Execute(); - /* 80AFD250 */ void Draw(); - /* 80AFD2A8 */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 80AFD49C */ void createHeapCallBack(fopAc_ac_c*); - /* 80AFD4BC */ void ctrlJointCallBack(J3DJoint*, int); - /* 80AFD508 */ void getHandPos1(int); - /* 80AFD5F0 */ void getHandPos2(int); - /* 80AFD6D8 */ void setHintEvent(s32, u16, int); - /* 80AFD6F0 */ void main(); - /* 80AFD938 */ void setParam(); - /* 80AFDAA4 */ void ctrlBtk(); - /* 80AFDB70 */ void setAttnPos(); - /* 80AFDEC0 */ void setExpressionAnm(int, bool); - /* 80AFE0BC */ void setExpressionBtp(int); - /* 80AFE1BC */ void setMotionAnm(int, f32); - /* 80AFE398 */ bool drawDbgInfo(); - /* 80AFE3A0 */ void reset(); - /* 80AFE574 */ void playExpression(); - /* 80AFE704 */ void playMotion(); - /* 80AFE920 */ void doNormalAction(); - /* 80AFEA14 */ void doEvent(); - /* 80AFED24 */ void lookat(); - /* 80AFEECC */ void wait(void*); - /* 80AFF45C */ void setMotion(int, f32, int); - /* 80AFF4A0 */ void setExpression(int, f32); - /* 80AFF4CC */ void talk(void*); - /* 80AFF6AC */ void EvCut_PersonalCombatIntro(int); - /* 80AFF888 */ void EvCut_PersonalCombatRevenge(int); - /* 80AFFBB4 */ void EvCut_PersonalCombatAfter(); - /* 80AFFEF4 */ void EvCut_AnnulationFieldRace(int); - /* 80AFFFE0 */ void EvCut_TheBHint(int); - /* 80B00204 */ void EvCut_CoachGuardGameOver(int); - - static u8 mEvtSeqList[72]; -}; - -struct daNpcTheB_Param_c { - /* 80B00D00 */ ~daNpcTheB_Param_c(); - - static u8 const m[108]; -}; - -struct J3DAnmTexPattern { - /* 8032AF50 */ void getTexNo(u16, u16*) const; -}; - -struct J3DAnmTextureSRTKey {}; - -struct J3DAnmTransformKey {}; - -struct _GXColorS10 {}; - -struct daNpcF_c { - struct daNpcF_anmPlayData {}; - - /* 801522AC */ void draw(int, int, f32, _GXColorS10*, int); - /* 8015276C */ void setMtx(); - /* 801527FC */ void setMtx2(); - /* 801528C8 */ void initialize(); - /* 80152B2C */ void getTrnsfrmKeyAnmP(char*, int); - /* 80152B68 */ void getTexPtrnAnmP(char*, int); - /* 80152BA4 */ void getTexSRTKeyAnmP(char*, int); - /* 80152C1C */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); - /* 80152C80 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool); - /* 80152CC4 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int); - /* 80152D04 */ void setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int); - /* 80152D84 */ void setEnvTevColor(); - /* 80152DE0 */ void setRoomNo(); - /* 80152F40 */ void playAllAnm(); - /* 80153150 */ void playExpressionAnm(daNpcF_c::daNpcF_anmPlayData***); - /* 80153264 */ void playMotionAnm(daNpcF_c::daNpcF_anmPlayData***); - /* 8015337C */ void setLookatMtx(int, int*, f32); - /* 80153718 */ void ctrlMsgAnm(int&, int&, fopAc_ac_c*, int); - /* 8015387C */ void orderEvent(int, char*, u16, u16, u8, u16); - /* 80153D1C */ void initTalk(int, fopAc_ac_c**); - /* 80153D84 */ void talkProc(int*, int, fopAc_ac_c**); - /* 80154278 */ void getDistTableIdx(int, int); - /* 801542A0 */ void getEvtAreaTagP(int, int); - /* 801549E0 */ void chkFindPlayer2(int, s16); - /* 80B00600 */ ~daNpcF_c(); - /* 80B0084C */ daNpcF_c(); - /* 80B00BC0 */ void adjustShapeAngle(); - /* 80B00BC4 */ void setCollisions(); - /* 80B00BC8 */ void drawOtherMdls(); - - static u8 mCcDCyl[68]; -}; - -struct daNpcF_MatAnm_c { - /* 80150738 */ void initialize(); -}; - -struct csXyz { - /* 802673F4 */ csXyz(s16, s16, s16); - /* 80B005BC */ csXyz(); - /* 80B00580 */ ~csXyz(); -}; - -struct daNpcF_Lookat_c { - /* 80151038 */ void initialize(); - /* 801510B8 */ void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16, - cXyz*); - /* 80151350 */ void calc(fopAc_ac_c*, f32 (*)[4], csXyz**, int, int, int); - /* 80B004B0 */ ~daNpcF_Lookat_c(); -}; - -struct daNpcF_ActorMngr_c { - /* 801506B0 */ void initialize(); - /* 801506BC */ void entry(fopAc_ac_c*); - /* 801506E0 */ void remove(); - /* 801506EC */ void getActorP(); - /* 80B0042C */ ~daNpcF_ActorMngr_c(); - /* 80B00474 */ daNpcF_ActorMngr_c(); -}; - -struct daNpcCoach_c { - /* 8099DD28 */ void setPosAngle(cXyz&, csXyz&); -}; - -struct dSv_danBit_c { - /* 80034B98 */ void onSwitch(int); - /* 80034BC0 */ void offSwitch(int); - /* 80034BE8 */ void isSwitch(int) const; -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dMsgFlow_c { - /* 80249F00 */ dMsgFlow_c(); - /* 80249F48 */ ~dMsgFlow_c(); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); - /* 800429A8 */ void onSkipFade(); -}; - -struct dEvent_manager_c { - /* 80047A78 */ void endCheck(s16); - /* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int); - /* 80047D4C */ void getIsAddvance(int); - /* 80047F5C */ void getMyNowCutName(int); - /* 800480EC */ void getMySubstanceP(int, char const*, int); - /* 8004817C */ void cutEnd(int); - /* 800487F0 */ void ChkPresentEnd(); -}; - -struct dComIfG_play_c { - /* 8002C97C */ void getLayerNo(int); -}; - -struct dCcD_Stts { - /* 80083860 */ void Init(int, int, fopAc_ac_c*); -}; - -struct dCcD_SrcCyl {}; - -struct dCcD_GStts { - /* 80083760 */ dCcD_GStts(); - /* 80B00AAC */ ~dCcD_GStts(); -}; - -struct dCcD_GObjInf { - /* 80083A28 */ dCcD_GObjInf(); - /* 800840E4 */ ~dCcD_GObjInf(); -}; - -struct dCcD_Cyl { - /* 800848B4 */ void Set(dCcD_SrcCyl const&); -}; - -struct dBgS_PolyPassChk { - /* 80078E68 */ void SetObj(); -}; - -struct dBgS_ObjAcch { - /* 80B00B08 */ ~dBgS_ObjAcch(); -}; - -struct dBgS_LinChk { - /* 80077C68 */ dBgS_LinChk(); - /* 80077CDC */ ~dBgS_LinChk(); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct dBgS_AcchCir { - /* 80075EAC */ dBgS_AcchCir(); - /* 80075F40 */ void SetWallR(f32); - /* 80075F58 */ void SetWall(f32, f32); - /* 80B00A3C */ ~dBgS_AcchCir(); -}; - -struct dBgS {}; - -struct dBgS_Acch { - /* 80075F94 */ ~dBgS_Acch(); - /* 800760A0 */ dBgS_Acch(); - /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*); - /* 80076AAC */ void CrrPos(dBgS&); -}; - -struct cM3dGCyl { - /* 8026F1DC */ void SetC(cXyz const&); - /* 8026F1F8 */ void SetH(f32); - /* 8026F200 */ void SetR(f32); - /* 80AFC8F0 */ ~cM3dGCyl(); -}; - -struct cM3dGCir { - /* 8026EF18 */ ~cM3dGCir(); -}; - -struct cM3dGAab { - /* 80AFC938 */ ~cM3dGAab(); -}; - -struct cCcD_Obj {}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cCcD_GStts { - /* 80B00BCC */ ~cCcD_GStts(); -}; - -struct cBgS_PolyInfo { - /* 802680B0 */ ~cBgS_PolyInfo(); -}; - -struct cBgS_GndChk { - /* 80267C1C */ cBgS_GndChk(); - /* 80267C94 */ ~cBgS_GndChk(); -}; - -struct Z2SeqMgr { - /* 802AF010 */ void bgmStart(u32, u32, s32); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct J3DTexNoAnm { - /* 80AFD0E8 */ ~J3DTexNoAnm(); - /* 80AFD130 */ J3DTexNoAnm(); - /* 80B003FC */ void calc(u16*) const; -}; - -struct J3DTexMtxAnm { - /* 80AFD154 */ ~J3DTexMtxAnm(); - /* 80AFD190 */ J3DTexMtxAnm(); -}; - -struct J3DTevKColorAnm { - /* 80AFD040 */ ~J3DTevKColorAnm(); - /* 80AFD07C */ J3DTevKColorAnm(); -}; - -struct J3DTevColorAnm { - /* 80AFD094 */ ~J3DTevColorAnm(); - /* 80AFD0D0 */ J3DTevColorAnm(); -}; - -struct J3DSys { - static u8 mCurrentMtx[48]; -}; - -struct J3DMaterialAnm { - /* 8032C320 */ void initialize(); -}; - -struct J3DMatColorAnm { - /* 80AFD1A8 */ ~J3DMatColorAnm(); - /* 80AFD1E4 */ J3DMatColorAnm(); -}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 80B00B78 */ ~J3DFrameCtrl(); -}; - // // Forward References: // @@ -579,10 +211,6 @@ extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void getTexNo__16J3DAnmTexPatternCFUsPUs(); extern "C" void initialize__14J3DMaterialAnmFv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXMultVec(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECSquareDistance(); extern "C" void __destroy_arr(); extern "C" void __construct_array(); extern "C" void __ptmf_test(); @@ -600,8 +228,6 @@ extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" void strcmp(); extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */]; -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" extern void* __vt__8dCcD_Cyl[36]; extern "C" extern void* __vt__9dCcD_Stts[11]; extern "C" u8 mCcDCyl__8daNpcF_c[68]; @@ -613,10 +239,8 @@ extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" extern void* __vt__14J3DMaterialAnm[4]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 j3dSys[284]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u32 __float_nan; extern "C" f32 mGroundY__11fopAcM_gc_c; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" void setPosAngle__12daNpcCoach_cFR4cXyzR5csXyz(); @@ -952,7 +576,8 @@ asm daNpcTheB_c::daNpcTheB_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGCyl::~cM3dGCyl() { +// asm cM3dGCyl::~cM3dGCyl() { +extern "C" asm void __dt__8cM3dGCylFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB/__dt__8cM3dGCylFv.s" } @@ -962,7 +587,8 @@ asm cM3dGCyl::~cM3dGCyl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cM3dGAab::~cM3dGAab() { +// asm cM3dGAab::~cM3dGAab() { +extern "C" asm void __dt__8cM3dGAabFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB/__dt__8cM3dGAabFv.s" } @@ -1104,7 +730,8 @@ asm J3DTevColorAnm::J3DTevColorAnm() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTexNoAnm::~J3DTexNoAnm() { +// asm J3DTexNoAnm::~J3DTexNoAnm() { +extern "C" asm void __dt__11J3DTexNoAnmFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB/__dt__11J3DTexNoAnmFv.s" } @@ -1987,7 +1614,8 @@ asm daNpcF_ActorMngr_c::~daNpcF_ActorMngr_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm daNpcF_ActorMngr_c::daNpcF_ActorMngr_c() { +// asm daNpcF_ActorMngr_c::daNpcF_ActorMngr_c() { +extern "C" asm void __ct__18daNpcF_ActorMngr_cFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB/__ct__18daNpcF_ActorMngr_cFv.s" } @@ -1997,7 +1625,8 @@ asm daNpcF_ActorMngr_c::daNpcF_ActorMngr_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm daNpcF_Lookat_c::~daNpcF_Lookat_c() { +// asm daNpcF_Lookat_c::~daNpcF_Lookat_c() { +extern "C" asm void __dt__15daNpcF_Lookat_cFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB/__dt__15daNpcF_Lookat_cFv.s" } @@ -2007,14 +1636,16 @@ asm daNpcF_Lookat_c::~daNpcF_Lookat_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm csXyz::~csXyz() { +// asm csXyz::~csXyz() { +extern "C" asm void __dt__5csXyzFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB/__dt__5csXyzFv.s" } #pragma pop /* 80B005BC-80B005C0 003F3C 0004+00 2/2 0/0 0/0 .text __ct__5csXyzFv */ -csXyz::csXyz() { +// csXyz::csXyz() { +extern "C" asm void __ct__5csXyzFv() { /* empty function */ } @@ -2022,14 +1653,16 @@ csXyz::csXyz() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cXyz::~cXyz() { +// asm cXyz::~cXyz() { +extern "C" asm void __dt__4cXyzFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB/__dt__4cXyzFv.s" } #pragma pop /* 80B005FC-80B00600 003F7C 0004+00 2/2 0/0 0/0 .text __ct__4cXyzFv */ -cXyz::cXyz() { +// cXyz::cXyz() { +extern "C" asm void __ct__4cXyzFv() { /* empty function */ } @@ -2047,7 +1680,8 @@ asm daNpcF_c::~daNpcF_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm daNpcF_c::daNpcF_c() { +// asm daNpcF_c::daNpcF_c() { +extern "C" asm void __ct__8daNpcF_cFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB/__ct__8daNpcF_cFv.s" } @@ -2057,7 +1691,8 @@ asm daNpcF_c::daNpcF_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_AcchCir::~dBgS_AcchCir() { +// asm dBgS_AcchCir::~dBgS_AcchCir() { +extern "C" asm void __dt__12dBgS_AcchCirFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB/__dt__12dBgS_AcchCirFv.s" } @@ -2067,7 +1702,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dCcD_GStts::~dCcD_GStts() { +// asm dCcD_GStts::~dCcD_GStts() { +extern "C" asm void __dt__10dCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB/__dt__10dCcD_GSttsFv.s" } @@ -2077,7 +1713,8 @@ asm dCcD_GStts::~dCcD_GStts() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm dBgS_ObjAcch::~dBgS_ObjAcch() { +// asm dBgS_ObjAcch::~dBgS_ObjAcch() { +extern "C" asm void __dt__12dBgS_ObjAcchFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB/__dt__12dBgS_ObjAcchFv.s" } @@ -2087,7 +1724,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { +// asm J3DFrameCtrl::~J3DFrameCtrl() { +extern "C" asm void __dt__12J3DFrameCtrlFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB/__dt__12J3DFrameCtrlFv.s" } @@ -2112,7 +1750,8 @@ void daNpcF_c::drawOtherMdls() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm cCcD_GStts::~cCcD_GStts() { +// asm cCcD_GStts::~cCcD_GStts() { +extern "C" asm void __dt__10cCcD_GSttsFv() { nofralloc #include "asm/rel/d/a/npc/d_a_npc_theB/d_a_npc_theB/__dt__10cCcD_GSttsFv.s" } diff --git a/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint.cpp b/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint.cpp index 2e9d61a832b..d32cf7bcd2d 100644 --- a/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint.cpp +++ b/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint.cpp @@ -1,126 +1,55 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_theB_hint -// +/** + * d_a_tag_theB_hint.cpp + * Tag - Telma B Hint + */ #include "rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daTagTheBHint_c {}; - -struct daNpcTheB_c { - /* 80AFD6D8 */ void setHintEvent(s32, u16, int); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -// -// Forward References: -// - -extern "C" static void daTagTheBHint_Create__FP10fopAc_ac_c(); -extern "C" static void daTagTheBHint_Delete__FP15daTagTheBHint_c(); -extern "C" static void daTagTheBHint_Execute__FP15daTagTheBHint_c(); -extern "C" extern void* g_profile_Tag_TheBHint[12]; - -// -// External References: -// - -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fpcLyIt_AllJudge__FPFPvPv_PvPv(); -extern "C" void fpcSch_JudgeForPName__FPvPv(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void pow(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" void setHintEvent__11daNpcTheB_cFlUsi(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80D63E54-80D63E5C 000000 0004+04 1/1 0/0 0/0 .rodata @3831 */ -SECTION_RODATA static f32 const lit_3831[1 + 1 /* padding */] = { - 100.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x80D63E54, &lit_3831); - -/* 80D63E5C-80D63E64 000008 0008+00 1/1 0/0 0/0 .rodata @3832 */ -SECTION_RODATA static u8 const lit_3832[8] = { - 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D63E5C, &lit_3832); +#include "d/d_procname.h" /* 80D63CD8-80D63D4C 000078 0074+00 1/0 0/0 0/0 .text daTagTheBHint_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagTheBHint_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint/daTagTheBHint_Create__FP10fopAc_ac_c.s" +static int daTagTheBHint_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -#pragma pop /* 80D63D4C-80D63D7C 0000EC 0030+00 1/0 0/0 0/0 .text daTagTheBHint_Delete__FP15daTagTheBHint_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagTheBHint_Delete(daTagTheBHint_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint/daTagTheBHint_Delete__FP15daTagTheBHint_c.s" +static int daTagTheBHint_Delete(daTagTheBHint_c* i_this) { + i_this->~daTagTheBHint_c(); + return 1; } -#pragma pop /* 80D63D7C-80D63E4C 00011C 00D0+00 1/0 0/0 0/0 .text daTagTheBHint_Execute__FP15daTagTheBHint_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagTheBHint_Execute(daTagTheBHint_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_theB_hint/d_a_tag_theB_hint/daTagTheBHint_Execute__FP15daTagTheBHint_c.s" +static int daTagTheBHint_Execute(daTagTheBHint_c* i_this) { + return i_this->execute(); } -#pragma pop /* ############################################################################################## */ /* 80D63E64-80D63E84 -00001 0020+00 1/0 0/0 0/0 .data l_daTagTheBHint_Method */ -SECTION_DATA static void* l_daTagTheBHint_Method[8] = { - (void*)daTagTheBHint_Create__FP10fopAc_ac_c, - (void*)daTagTheBHint_Delete__FP15daTagTheBHint_c, - (void*)daTagTheBHint_Execute__FP15daTagTheBHint_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daTagTheBHint_Method = { + (process_method_func)daTagTheBHint_Create, + (process_method_func)daTagTheBHint_Delete, + (process_method_func)daTagTheBHint_Execute }; /* 80D63E84-80D63EB4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_TheBHint */ -SECTION_DATA extern void* g_profile_Tag_TheBHint[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02CC0000, (void*)&g_fpcLf_Method, - (void*)0x0000056C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x01090000, (void*)&l_daTagTheBHint_Method, - (void*)0x00040000, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_Tag_TheBHint = { + -3, // mLayerID + 7, // mListID + -3, // mListPrio + PROC_Tag_TheBHint, // mProcName + 0, // padding + &g_fpcLf_Method.mBase, // mSubMtd + sizeof(daTagTheBHint_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // mSubMtd + 0x0109, // mPriority + 0, // padding + 0, // padding + &l_daTagTheBHint_Method, // mSubMtd + 0x00040000, // mStatus + 0, // mActorType + 0x0E, // mCullType + 0, // padding + 0 // padding }; diff --git a/src/d/d_resorce.cpp b/src/d/d_resorce.cpp index f13f809b9c6..4476c87e113 100644 --- a/src/d/d_resorce.cpp +++ b/src/d/d_resorce.cpp @@ -461,7 +461,8 @@ SECTION_DATA extern void* __vt__11J3DTexNoAnm[3] = { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J3DTexNoAnm::~J3DTexNoAnm() { +// asm J3DTexNoAnm::~J3DTexNoAnm() { +extern "C" asm void __dt__11J3DTexNoAnmFv() { nofralloc #include "asm/d/d_resorce/__dt__11J3DTexNoAnmFv.s" }