d_a_tag_lv6CstaSw OK (#272)

This commit is contained in:
TakaRikka 2023-02-05 23:05:41 -08:00 committed by GitHub
parent 82bf380d1b
commit df44816bec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 173 additions and 768 deletions

View File

@ -21,8 +21,8 @@ Total | 32.153630% | 1292792 | 4020672
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 32.153630% | 1292792 | 4020672
RELs | 33.141397% | 3811368 | 11500324
Total | 32.885518% | 5104160 | 15520996
RELs | 33.163587% | 3813920 | 11500324
Total | 32.901961% | 5106712 | 15520996
## RELs
@ -60,7 +60,7 @@ d_a_balloon_2D | 29.886212% | 3572 | 11952
d_a_bd | 31.115418% | 5780 | 18576
d_a_bg | 41.505376% | 3860 | 9300
d_a_bg_obj | 32.434657% | 6304 | 19436
d_a_boomerang | 26.528647% | 6612 | 24924
d_a_boomerang | 31.776601% | 7920 | 24924
d_a_bullet | 42.660550% | 2604 | 6104
d_a_canoe | 28.479263% | 4944 | 17360
d_a_coach_2D | 38.344915% | 2428 | 6332
@ -739,7 +739,7 @@ d_a_tag_lantern | 52.013423% | 1240 | 2384
d_a_tag_lightball | 46.212121% | 976 | 2112
d_a_tag_lv2prchk | 35.734870% | 992 | 2776
d_a_tag_lv5soup | 100.000000% | 1908 | 1908
d_a_tag_lv6CstaSw | 51.406250% | 1316 | 2560
d_a_tag_lv6CstaSw | 100.000000% | 2560 | 2560
d_a_tag_magne | 100.000000% | 928 | 928
d_a_tag_mhint | 35.576923% | 1332 | 3744
d_a_tag_mist | 43.436293% | 900 | 2072
@ -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.141397% | 3811368 | 11500324
Total | 33.163587% | 3813920 | 11500324

View File

@ -1,17 +0,0 @@
lbl_8049EE8C:
/* 8049EE8C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8049EE90 7C 08 02 A6 */ mflr r0
/* 8049EE94 90 01 00 14 */ stw r0, 0x14(r1)
/* 8049EE98 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8049EE9C 7C 7F 1B 79 */ or. r31, r3, r3
/* 8049EEA0 41 82 00 10 */ beq lbl_8049EEB0
/* 8049EEA4 7C 80 07 35 */ extsh. r0, r4
/* 8049EEA8 40 81 00 08 */ ble lbl_8049EEB0
/* 8049EEAC 4B E2 FE 91 */ bl __dl__FPv
lbl_8049EEB0:
/* 8049EEB0 7F E3 FB 78 */ mr r3, r31
/* 8049EEB4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8049EEB8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8049EEBC 7C 08 03 A6 */ mtlr r0
/* 8049EEC0 38 21 00 10 */ addi r1, r1, 0x10
/* 8049EEC4 4E 80 00 20 */ blr

View File

@ -1,27 +0,0 @@
lbl_8049F818:
/* 8049F818 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8049F81C 7C 08 02 A6 */ mflr r0
/* 8049F820 90 01 00 14 */ stw r0, 0x14(r1)
/* 8049F824 38 C0 00 00 */ li r6, 0
/* 8049F828 38 A0 00 00 */ li r5, 0
/* 8049F82C 88 03 09 50 */ lbz r0, 0x950(r3)
/* 8049F830 7C 09 03 A6 */ mtctr r0
/* 8049F834 2C 00 00 00 */ cmpwi r0, 0
/* 8049F838 40 81 00 2C */ ble lbl_8049F864
lbl_8049F83C:
/* 8049F83C 38 05 06 C0 */ addi r0, r5, 0x6c0
/* 8049F840 7C 03 00 2E */ lwzx r0, r3, r0
/* 8049F844 7C 00 20 40 */ cmplw r0, r4
/* 8049F848 40 82 00 10 */ bne lbl_8049F858
/* 8049F84C 7C C4 33 78 */ mr r4, r6
/* 8049F850 4B FF FE C1 */ bl pushLockList__13daBoomerang_cFi
/* 8049F854 48 00 00 10 */ b lbl_8049F864
lbl_8049F858:
/* 8049F858 38 C6 00 01 */ addi r6, r6, 1
/* 8049F85C 38 A5 00 04 */ addi r5, r5, 4
/* 8049F860 42 00 FF DC */ bdnz lbl_8049F83C
lbl_8049F864:
/* 8049F864 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8049F868 7C 08 03 A6 */ mtlr r0
/* 8049F86C 38 21 00 10 */ addi r1, r1, 0x10
/* 8049F870 4E 80 00 20 */ blr

View File

@ -1,47 +0,0 @@
lbl_80D5B600:
/* 80D5B600 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5B604 7C 08 02 A6 */ mflr r0
/* 80D5B608 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5B60C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D5B610 7C 7F 1B 78 */ mr r31, r3
/* 80D5B614 4B FF FE 4D */ bl areaCheck__13daLv6CstaSw_cFv
/* 80D5B618 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80D5B61C 28 00 00 01 */ cmplwi r0, 1
/* 80D5B620 40 82 00 40 */ bne lbl_80D5B660
/* 80D5B624 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D5B628 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D5B62C 88 9F 05 68 */ lbz r4, 0x568(r31)
/* 80D5B630 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80D5B634 7C 05 07 74 */ extsb r5, r0
/* 80D5B638 4B 2D 9D 29 */ bl isSwitch__10dSv_info_cCFii
/* 80D5B63C 2C 03 00 00 */ cmpwi r3, 0
/* 80D5B640 40 82 00 58 */ bne lbl_80D5B698
/* 80D5B644 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D5B648 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D5B64C 88 9F 05 68 */ lbz r4, 0x568(r31)
/* 80D5B650 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80D5B654 7C 05 07 74 */ extsb r5, r0
/* 80D5B658 4B 2D 9B A9 */ bl onSwitch__10dSv_info_cFii
/* 80D5B65C 48 00 00 3C */ b lbl_80D5B698
lbl_80D5B660:
/* 80D5B660 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D5B664 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D5B668 88 9F 05 68 */ lbz r4, 0x568(r31)
/* 80D5B66C 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80D5B670 7C 05 07 74 */ extsb r5, r0
/* 80D5B674 4B 2D 9C ED */ bl isSwitch__10dSv_info_cCFii
/* 80D5B678 2C 03 00 00 */ cmpwi r3, 0
/* 80D5B67C 41 82 00 1C */ beq lbl_80D5B698
/* 80D5B680 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D5B684 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D5B688 88 9F 05 68 */ lbz r4, 0x568(r31)
/* 80D5B68C 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80D5B690 7C 05 07 74 */ extsb r5, r0
/* 80D5B694 4B 2D 9C 1D */ bl offSwitch__10dSv_info_cFii
lbl_80D5B698:
/* 80D5B698 38 60 00 01 */ li r3, 1
/* 80D5B69C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D5B6A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5B6A4 7C 08 03 A6 */ mtlr r0
/* 80D5B6A8 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5B6AC 4E 80 00 20 */ blr

View File

@ -1,10 +0,0 @@
lbl_80D5B2EC:
/* 80D5B2EC 3C 80 80 D6 */ lis r4, __vt__14mDoHIO_entry_c@ha /* 0x80D5B86C@ha */
/* 80D5B2F0 38 04 B8 6C */ addi r0, r4, __vt__14mDoHIO_entry_c@l /* 0x80D5B86C@l */
/* 80D5B2F4 90 03 00 00 */ stw r0, 0(r3)
/* 80D5B2F8 3C 80 80 D6 */ lis r4, __vt__17daLv6CstaSw_HIO_c@ha /* 0x80D5B860@ha */
/* 80D5B2FC 38 04 B8 60 */ addi r0, r4, __vt__17daLv6CstaSw_HIO_c@l /* 0x80D5B860@l */
/* 80D5B300 90 03 00 00 */ stw r0, 0(r3)
/* 80D5B304 38 00 00 00 */ li r0, 0
/* 80D5B308 98 03 00 04 */ stb r0, 4(r3)
/* 80D5B30C 4E 80 00 20 */ blr

View File

@ -1,20 +0,0 @@
lbl_80D5B310:
/* 80D5B310 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5B314 7C 08 02 A6 */ mflr r0
/* 80D5B318 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5B31C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D5B320 7C 7F 1B 79 */ or. r31, r3, r3
/* 80D5B324 41 82 00 1C */ beq lbl_80D5B340
/* 80D5B328 3C A0 80 D6 */ lis r5, __vt__14mDoHIO_entry_c@ha /* 0x80D5B86C@ha */
/* 80D5B32C 38 05 B8 6C */ addi r0, r5, __vt__14mDoHIO_entry_c@l /* 0x80D5B86C@l */
/* 80D5B330 90 1F 00 00 */ stw r0, 0(r31)
/* 80D5B334 7C 80 07 35 */ extsh. r0, r4
/* 80D5B338 40 81 00 08 */ ble lbl_80D5B340
/* 80D5B33C 4B 57 3A 01 */ bl __dl__FPv
lbl_80D5B340:
/* 80D5B340 7F E3 FB 78 */ mr r3, r31
/* 80D5B344 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D5B348 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5B34C 7C 08 03 A6 */ mtlr r0
/* 80D5B350 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5B354 4E 80 00 20 */ blr

View File

@ -1,26 +0,0 @@
lbl_80D5B740:
/* 80D5B740 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5B744 7C 08 02 A6 */ mflr r0
/* 80D5B748 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5B74C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D5B750 7C 7F 1B 79 */ or. r31, r3, r3
/* 80D5B754 41 82 00 30 */ beq lbl_80D5B784
/* 80D5B758 3C 60 80 D6 */ lis r3, __vt__17daLv6CstaSw_HIO_c@ha /* 0x80D5B860@ha */
/* 80D5B75C 38 03 B8 60 */ addi r0, r3, __vt__17daLv6CstaSw_HIO_c@l /* 0x80D5B860@l */
/* 80D5B760 90 1F 00 00 */ stw r0, 0(r31)
/* 80D5B764 41 82 00 10 */ beq lbl_80D5B774
/* 80D5B768 3C 60 80 D6 */ lis r3, __vt__14mDoHIO_entry_c@ha /* 0x80D5B86C@ha */
/* 80D5B76C 38 03 B8 6C */ addi r0, r3, __vt__14mDoHIO_entry_c@l /* 0x80D5B86C@l */
/* 80D5B770 90 1F 00 00 */ stw r0, 0(r31)
lbl_80D5B774:
/* 80D5B774 7C 80 07 35 */ extsh. r0, r4
/* 80D5B778 40 81 00 0C */ ble lbl_80D5B784
/* 80D5B77C 7F E3 FB 78 */ mr r3, r31
/* 80D5B780 4B 57 35 BD */ bl __dl__FPv
lbl_80D5B784:
/* 80D5B784 7F E3 FB 78 */ mr r3, r31
/* 80D5B788 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D5B78C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5B790 7C 08 03 A6 */ mtlr r0
/* 80D5B794 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5B798 4E 80 00 20 */ blr

View File

@ -1,16 +0,0 @@
lbl_80D5B79C:
/* 80D5B79C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5B7A0 7C 08 02 A6 */ mflr r0
/* 80D5B7A4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5B7A8 3C 60 80 D6 */ lis r3, l_HIO@ha /* 0x80D5B88C@ha */
/* 80D5B7AC 38 63 B8 8C */ addi r3, r3, l_HIO@l /* 0x80D5B88C@l */
/* 80D5B7B0 4B FF FB 3D */ bl __ct__17daLv6CstaSw_HIO_cFv
/* 80D5B7B4 3C 80 80 D6 */ lis r4, __dt__17daLv6CstaSw_HIO_cFv@ha /* 0x80D5B740@ha */
/* 80D5B7B8 38 84 B7 40 */ addi r4, r4, __dt__17daLv6CstaSw_HIO_cFv@l /* 0x80D5B740@l */
/* 80D5B7BC 3C A0 80 D6 */ lis r5, lit_3619@ha /* 0x80D5B880@ha */
/* 80D5B7C0 38 A5 B8 80 */ addi r5, r5, lit_3619@l /* 0x80D5B880@l */
/* 80D5B7C4 4B FF FA B5 */ bl __register_global_object
/* 80D5B7C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5B7CC 7C 08 03 A6 */ mtlr r0
/* 80D5B7D0 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5B7D4 4E 80 00 20 */ blr

View File

@ -1,117 +0,0 @@
lbl_80D5B460:
/* 80D5B460 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80D5B464 7C 08 02 A6 */ mflr r0
/* 80D5B468 90 01 00 44 */ stw r0, 0x44(r1)
/* 80D5B46C 39 61 00 40 */ addi r11, r1, 0x40
/* 80D5B470 4B 60 6D 6D */ bl _savegpr_29
/* 80D5B474 7C 7D 1B 78 */ mr r29, r3
/* 80D5B478 3C 60 80 D6 */ lis r3, lit_3724@ha /* 0x80D5B7EC@ha */
/* 80D5B47C 3B E3 B7 EC */ addi r31, r3, lit_3724@l /* 0x80D5B7EC@l */
/* 80D5B480 3B C0 00 00 */ li r30, 0
/* 80D5B484 3C 60 80 D6 */ lis r3, searchSekizoAct__13daLv6CstaSw_cFPvPv@ha /* 0x80D5B410@ha */
/* 80D5B488 38 63 B4 10 */ addi r3, r3, searchSekizoAct__13daLv6CstaSw_cFPvPv@l /* 0x80D5B410@l */
/* 80D5B48C 7F A4 EB 78 */ mr r4, r29
/* 80D5B490 4B 2B E3 69 */ bl fopAcIt_Judge__FPFPvPv_PvPv
/* 80D5B494 7C 65 1B 79 */ or. r5, r3, r3
/* 80D5B498 40 82 00 0C */ bne lbl_80D5B4A4
/* 80D5B49C 38 60 00 00 */ li r3, 0
/* 80D5B4A0 48 00 01 48 */ b lbl_80D5B5E8
lbl_80D5B4A4:
/* 80D5B4A4 38 61 00 18 */ addi r3, r1, 0x18
/* 80D5B4A8 38 9D 04 D0 */ addi r4, r29, 0x4d0
/* 80D5B4AC 38 A5 04 D0 */ addi r5, r5, 0x4d0
/* 80D5B4B0 4B 50 B6 85 */ bl __mi__4cXyzCFRC3Vec
/* 80D5B4B4 C0 41 00 18 */ lfs f2, 0x18(r1)
/* 80D5B4B8 D0 41 00 24 */ stfs f2, 0x24(r1)
/* 80D5B4BC C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80D5B4C0 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 80D5B4C4 C0 21 00 20 */ lfs f1, 0x20(r1)
/* 80D5B4C8 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 80D5B4CC D0 41 00 0C */ stfs f2, 0xc(r1)
/* 80D5B4D0 C0 1F 00 00 */ lfs f0, 0(r31)
/* 80D5B4D4 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80D5B4D8 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 80D5B4DC 38 61 00 0C */ addi r3, r1, 0xc
/* 80D5B4E0 4B 5E BC 59 */ bl PSVECSquareMag
/* 80D5B4E4 C0 1F 00 00 */ lfs f0, 0(r31)
/* 80D5B4E8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D5B4EC 40 81 00 58 */ ble lbl_80D5B544
/* 80D5B4F0 FC 00 08 34 */ frsqrte f0, f1
/* 80D5B4F4 C8 9F 00 08 */ lfd f4, 8(r31)
/* 80D5B4F8 FC 44 00 32 */ fmul f2, f4, f0
/* 80D5B4FC C8 7F 00 10 */ lfd f3, 0x10(r31)
/* 80D5B500 FC 00 00 32 */ fmul f0, f0, f0
/* 80D5B504 FC 01 00 32 */ fmul f0, f1, f0
/* 80D5B508 FC 03 00 28 */ fsub f0, f3, f0
/* 80D5B50C FC 02 00 32 */ fmul f0, f2, f0
/* 80D5B510 FC 44 00 32 */ fmul f2, f4, f0
/* 80D5B514 FC 00 00 32 */ fmul f0, f0, f0
/* 80D5B518 FC 01 00 32 */ fmul f0, f1, f0
/* 80D5B51C FC 03 00 28 */ fsub f0, f3, f0
/* 80D5B520 FC 02 00 32 */ fmul f0, f2, f0
/* 80D5B524 FC 44 00 32 */ fmul f2, f4, f0
/* 80D5B528 FC 00 00 32 */ fmul f0, f0, f0
/* 80D5B52C FC 01 00 32 */ fmul f0, f1, f0
/* 80D5B530 FC 03 00 28 */ fsub f0, f3, f0
/* 80D5B534 FC 02 00 32 */ fmul f0, f2, f0
/* 80D5B538 FC 21 00 32 */ fmul f1, f1, f0
/* 80D5B53C FC 20 08 18 */ frsp f1, f1
/* 80D5B540 48 00 00 88 */ b lbl_80D5B5C8
lbl_80D5B544:
/* 80D5B544 C8 1F 00 18 */ lfd f0, 0x18(r31)
/* 80D5B548 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D5B54C 40 80 00 10 */ bge lbl_80D5B55C
/* 80D5B550 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80D5B554 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
/* 80D5B558 48 00 00 70 */ b lbl_80D5B5C8
lbl_80D5B55C:
/* 80D5B55C D0 21 00 08 */ stfs f1, 8(r1)
/* 80D5B560 80 81 00 08 */ lwz r4, 8(r1)
/* 80D5B564 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 80D5B568 3C 00 7F 80 */ lis r0, 0x7f80
/* 80D5B56C 7C 03 00 00 */ cmpw r3, r0
/* 80D5B570 41 82 00 14 */ beq lbl_80D5B584
/* 80D5B574 40 80 00 40 */ bge lbl_80D5B5B4
/* 80D5B578 2C 03 00 00 */ cmpwi r3, 0
/* 80D5B57C 41 82 00 20 */ beq lbl_80D5B59C
/* 80D5B580 48 00 00 34 */ b lbl_80D5B5B4
lbl_80D5B584:
/* 80D5B584 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80D5B588 41 82 00 0C */ beq lbl_80D5B594
/* 80D5B58C 38 00 00 01 */ li r0, 1
/* 80D5B590 48 00 00 28 */ b lbl_80D5B5B8
lbl_80D5B594:
/* 80D5B594 38 00 00 02 */ li r0, 2
/* 80D5B598 48 00 00 20 */ b lbl_80D5B5B8
lbl_80D5B59C:
/* 80D5B59C 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80D5B5A0 41 82 00 0C */ beq lbl_80D5B5AC
/* 80D5B5A4 38 00 00 05 */ li r0, 5
/* 80D5B5A8 48 00 00 10 */ b lbl_80D5B5B8
lbl_80D5B5AC:
/* 80D5B5AC 38 00 00 03 */ li r0, 3
/* 80D5B5B0 48 00 00 08 */ b lbl_80D5B5B8
lbl_80D5B5B4:
/* 80D5B5B4 38 00 00 04 */ li r0, 4
lbl_80D5B5B8:
/* 80D5B5B8 2C 00 00 01 */ cmpwi r0, 1
/* 80D5B5BC 40 82 00 0C */ bne lbl_80D5B5C8
/* 80D5B5C0 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80D5B5C4 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
lbl_80D5B5C8:
/* 80D5B5C8 C0 5F 00 20 */ lfs f2, 0x20(r31)
/* 80D5B5CC C0 1D 04 EC */ lfs f0, 0x4ec(r29)
/* 80D5B5D0 EC 02 00 32 */ fmuls f0, f2, f0
/* 80D5B5D4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D5B5D8 4C 40 13 82 */ cror 2, 0, 2
/* 80D5B5DC 40 82 00 08 */ bne lbl_80D5B5E4
/* 80D5B5E0 3B C0 00 01 */ li r30, 1
lbl_80D5B5E4:
/* 80D5B5E4 7F C3 F3 78 */ mr r3, r30
lbl_80D5B5E8:
/* 80D5B5E8 39 61 00 40 */ addi r11, r1, 0x40
/* 80D5B5EC 4B 60 6C 3D */ bl _restgpr_29
/* 80D5B5F0 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80D5B5F4 7C 08 03 A6 */ mtlr r0
/* 80D5B5F8 38 21 00 40 */ addi r1, r1, 0x40
/* 80D5B5FC 4E 80 00 20 */ blr

View File

@ -1,27 +0,0 @@
lbl_80D5B3B0:
/* 80D5B3B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5B3B4 7C 08 02 A6 */ mflr r0
/* 80D5B3B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5B3BC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D5B3C0 7C 7F 1B 78 */ mr r31, r3
/* 80D5B3C4 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80D5B3C8 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80D5B3CC 40 82 00 1C */ bne lbl_80D5B3E8
/* 80D5B3D0 28 1F 00 00 */ cmplwi r31, 0
/* 80D5B3D4 41 82 00 08 */ beq lbl_80D5B3DC
/* 80D5B3D8 4B 2B D7 8D */ bl __ct__10fopAc_ac_cFv
lbl_80D5B3DC:
/* 80D5B3DC 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 80D5B3E0 60 00 00 08 */ ori r0, r0, 8
/* 80D5B3E4 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_80D5B3E8:
/* 80D5B3E8 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80D5B3EC 98 1F 05 68 */ stb r0, 0x568(r31)
/* 80D5B3F0 7F E3 FB 78 */ mr r3, r31
/* 80D5B3F4 4B FF FF 65 */ bl setBaseMtx__13daLv6CstaSw_cFv
/* 80D5B3F8 38 60 00 04 */ li r3, 4
/* 80D5B3FC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D5B400 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5B404 7C 08 03 A6 */ mtlr r0
/* 80D5B408 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5B40C 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D5B720:
/* 80D5B720 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5B724 7C 08 02 A6 */ mflr r0
/* 80D5B728 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5B72C 4B FF FC 85 */ bl create__13daLv6CstaSw_cFv
/* 80D5B730 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5B734 7C 08 03 A6 */ mtlr r0
/* 80D5B738 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5B73C 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D5B700:
/* 80D5B700 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5B704 7C 08 02 A6 */ mflr r0
/* 80D5B708 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5B70C 4B FF FF AD */ bl Delete__13daLv6CstaSw_cFv
/* 80D5B710 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5B714 7C 08 03 A6 */ mtlr r0
/* 80D5B718 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5B71C 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D5B6C0:
/* 80D5B6C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5B6C4 7C 08 02 A6 */ mflr r0
/* 80D5B6C8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5B6CC 4B FF FF E5 */ bl Draw__13daLv6CstaSw_cFv
/* 80D5B6D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5B6D4 7C 08 03 A6 */ mtlr r0
/* 80D5B6D8 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5B6DC 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D5B6E0:
/* 80D5B6E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5B6E4 7C 08 02 A6 */ mflr r0
/* 80D5B6E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5B6EC 4B FF FF 15 */ bl Execute__13daLv6CstaSw_cFv
/* 80D5B6F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5B6F4 7C 08 03 A6 */ mtlr r0
/* 80D5B6F8 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5B6FC 4E 80 00 20 */ blr

View File

@ -1,23 +0,0 @@
lbl_80D5B410:
/* 80D5B410 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5B414 7C 08 02 A6 */ mflr r0
/* 80D5B418 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5B41C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D5B420 7C 7F 1B 79 */ or. r31, r3, r3
/* 80D5B424 41 82 00 24 */ beq lbl_80D5B448
/* 80D5B428 4B 2B D8 B9 */ bl fopAc_IsActor__FPv
/* 80D5B42C 2C 03 00 00 */ cmpwi r3, 0
/* 80D5B430 41 82 00 18 */ beq lbl_80D5B448
/* 80D5B434 A8 1F 00 0E */ lha r0, 0xe(r31)
/* 80D5B438 2C 00 01 98 */ cmpwi r0, 0x198
/* 80D5B43C 40 82 00 0C */ bne lbl_80D5B448
/* 80D5B440 7F E3 FB 78 */ mr r3, r31
/* 80D5B444 48 00 00 08 */ b lbl_80D5B44C
lbl_80D5B448:
/* 80D5B448 38 60 00 00 */ li r3, 0
lbl_80D5B44C:
/* 80D5B44C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D5B450 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5B454 7C 08 03 A6 */ mtlr r0
/* 80D5B458 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5B45C 4E 80 00 20 */ blr

View File

@ -1,23 +0,0 @@
lbl_80D5B358:
/* 80D5B358 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D5B35C 7C 08 02 A6 */ mflr r0
/* 80D5B360 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D5B364 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D5B368 7C 7F 1B 78 */ mr r31, r3
/* 80D5B36C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80D5B370 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80D5B374 C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
/* 80D5B378 C0 5F 04 D4 */ lfs f2, 0x4d4(r31)
/* 80D5B37C C0 7F 04 D8 */ lfs f3, 0x4d8(r31)
/* 80D5B380 4B 5E B5 69 */ bl PSMTXTrans
/* 80D5B384 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80D5B388 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80D5B38C A8 9F 04 E4 */ lha r4, 0x4e4(r31)
/* 80D5B390 A8 BF 04 E6 */ lha r5, 0x4e6(r31)
/* 80D5B394 A8 DF 04 E8 */ lha r6, 0x4e8(r31)
/* 80D5B398 4B 2B 0F 09 */ bl mDoMtx_ZXYrotM__FPA4_fsss
/* 80D5B39C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D5B3A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D5B3A4 7C 08 03 A6 */ mtlr r0
/* 80D5B3A8 38 21 00 10 */ addi r1, r1, 0x10
/* 80D5B3AC 4E 80 00 20 */ blr

View File

@ -5,20 +5,14 @@
#include "d/menu/d_menu_save.h"
#include "d/msg/d_msg_class.h"
#include "f_op/f_op_msg_mng.h"
class mDoHIO_entry_c {
public:
virtual ~mDoHIO_entry_c() {}
/* 0x4 */ s8 mNo;
/* 0x5 */ u8 mCount;
};
#include "m_Do/m_Do_hostIO.h"
class dGov_HIO_c : public mDoHIO_entry_c {
public:
/* 8019AFE0 */ dGov_HIO_c();
/* 8019C06C */ virtual ~dGov_HIO_c();
/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 mScale;
/* 0x0C */ f32 mAlpha;
/* 0x10 */ f32 mAnimSpeed;

View File

@ -0,0 +1,11 @@
#ifndef M_DO_M_DO_HOSTIO_H
#define M_DO_M_DO_HOSTIO_H
#include "dolphin/types.h"
class mDoHIO_entry_c {
public:
virtual ~mDoHIO_entry_c() {}
};
#endif /* M_DO_M_DO_HOSTIO_H */

View File

@ -68,7 +68,7 @@ public:
};
/* 8049F280 */ void windModelCallBack();
/* 8049F39C */ void draw();
/* 8049F39C */ int draw();
/* 8049F5F4 */ void lockLineCallback(fopAc_ac_c*);
/* 8049F660 */ void moveLineCallback(fopAc_ac_c*);
/* 8049F710 */ void pushLockList(int);
@ -86,10 +86,10 @@ public:
/* 804A012C */ void setEffect();
/* 804A0874 */ void procWait();
/* 804A0F0C */ void procMove();
/* 804A1814 */ void execute();
/* 804A1814 */ int execute();
/* 804A1BF4 */ ~daBoomerang_c();
/* 804A1EE4 */ void createHeap();
/* 804A2084 */ void create();
/* 804A1EE4 */ int createHeap();
/* 804A2084 */ int create();
/* 804A230C */ daBoomerang_c();
void onStateFlg0(daBoomerang_FLG0 flag) { mStateFlg0 |= flag; }

View File

@ -1,6 +1,32 @@
#ifndef D_A_TAG_LV6CSTASW_H
#define D_A_TAG_LV6CSTASW_H
#include "dolphin/types.h"
#include "d/com/d_com_inf_game.h"
#include "m_Do/m_Do_hostIO.h"
class daLv6CstaSw_c : public fopAc_ac_c {
public:
/* 80D5B358 */ void setBaseMtx();
/* 80D5B3B0 */ int create();
/* 80D5B410 */ static fopAc_ac_c* searchSekizoAct(void*, void*);
/* 80D5B460 */ bool areaCheck();
/* 80D5B600 */ int Execute();
/* 80D5B6B0 */ int Draw();
/* 80D5B6B8 */ int Delete();
u8 getSw() { return fopAcM_GetParamBit(this, 0, 8); }
private:
/* 0x568 */ u8 mSwitch;
/* 0x569 */ u8 unused[0x570 - 0x569];
};
class daLv6CstaSw_HIO_c : public mDoHIO_entry_c {
public:
/* 80D5B2EC */ daLv6CstaSw_HIO_c();
/* 80D5B740 */ virtual ~daLv6CstaSw_HIO_c();
/* 0x04 */ s8 field_0x4;
};
#endif /* D_A_TAG_LV6CSTASW_H */

View File

@ -4,9 +4,8 @@
//
#include "rel/d/a/d_a_boomerang/d_a_boomerang.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
#include "m_Do/m_Do_lib.h"
//
@ -472,7 +471,7 @@ asm void daBoomerang_sight_c::initFrame(int param_0) {
/* 8049EDE8-8049EE8C 000DA8 00A4+00 1/1 0/0 0/0 .text copyNumData__19daBoomerang_sight_cFi */
void daBoomerang_sight_c::copyNumData(int i_idx) {
int idx2 = i_idx + 1;
u8 alpha = mAlpha[i_idx];
mAlpha[i_idx] = mAlpha[idx2];
mAlpha[idx2] = alpha;
@ -490,17 +489,6 @@ void daBoomerang_sight_c::copyNumData(int i_idx) {
field_0xc8[idx2] = pos;
}
/* 8049EE8C-8049EEC8 000E4C 003C+00 3/3 0/0 0/0 .text __dt__4cXyzFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm cXyz::~cXyz() {
extern "C" asm void __dt__4cXyzFv() {
nofralloc
#include "asm/rel/d/a/d_a_boomerang/d_a_boomerang/__dt__4cXyzFv.s"
}
#pragma pop
/* 8049EEC8-8049EF60 000E88 0098+00 1/1 0/0 0/0 .text setSight__19daBoomerang_sight_cFPC4cXyzi */
void daBoomerang_sight_c::setSight(cXyz const* i_posP, int i_idx) {
Vec pos;
@ -509,7 +497,7 @@ void daBoomerang_sight_c::setSight(cXyz const* i_posP, int i_idx) {
if (i_posP) {
field_0xc8[i_idx] = *i_posP;
}
mDoLib_project(&field_0xc8[i_idx],&pos);
mDoLib_project(&field_0xc8[i_idx], &pos);
field_0x68[i_idx] = pos.x;
field_0x80[i_idx] = pos.y;
}
@ -611,10 +599,10 @@ asm void daBoomerang_sight_c::draw() {
/* 8049F280-8049F360 001240 00E0+00 1/1 0/0 0/0 .text windModelCallBack__13daBoomerang_cFv */
void daBoomerang_c::windModelCallBack() {
mDoMtx_YrotS((MtxP)mDoMtx_stack_c::get(),shape_angle.y);
mDoMtx_ZrotM((MtxP)mDoMtx_stack_c::get(),-shape_angle.z);
mDoMtx_XrotM((MtxP)mDoMtx_stack_c::get(),-shape_angle.x);
mDoMtx_YrotM((MtxP)mDoMtx_stack_c::get(),-shape_angle.y);
mDoMtx_YrotS((MtxP)mDoMtx_stack_c::get(), shape_angle.y);
mDoMtx_ZrotM((MtxP)mDoMtx_stack_c::get(), -shape_angle.z);
mDoMtx_XrotM((MtxP)mDoMtx_stack_c::get(), -shape_angle.x);
mDoMtx_YrotM((MtxP)mDoMtx_stack_c::get(), -shape_angle.y);
PSMTXConcat(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx, mDoMtx_stack_c::get());
@ -622,10 +610,10 @@ void daBoomerang_c::windModelCallBack() {
mDoMtx_stack_c::get()[1][3] = J3DSys::mCurrentMtx[1][3];
mDoMtx_stack_c::get()[2][3] = J3DSys::mCurrentMtx[2][3];
PSMTXCopy(mDoMtx_stack_c::get(),J3DSys::mCurrentMtx);
field_0x56c->setAnmMtx(4,mDoMtx_stack_c::get());
PSMTXCopy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx);
field_0x56c->setAnmMtx(4, mDoMtx_stack_c::get());
return;
return;
}
/* 8049F360-8049F39C 001320 003C+00 1/1 0/0 0/0 .text daBoomeang_windModelCallBack__FP8J3DJointi
@ -644,7 +632,7 @@ static int daBoomeang_windModelCallBack(J3DJoint* param_0, int param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daBoomerang_c::draw() {
asm int daBoomerang_c::draw() {
nofralloc
#include "asm/rel/d/a/d_a_boomerang/d_a_boomerang/draw__13daBoomerang_cFv.s"
}
@ -652,18 +640,17 @@ asm void daBoomerang_c::draw() {
/* 8049F5D4-8049F5F4 001594 0020+00 1/0 0/0 0/0 .text daBoomerang_Draw__FP13daBoomerang_c
*/
static void daBoomerang_Draw(daBoomerang_c* i_this) {
i_this->draw();
static int daBoomerang_Draw(daBoomerang_c* i_this) {
return i_this->draw();
}
/* 8049F5F4-8049F63C 0015B4 0048+00 1/1 0/0 0/0 .text
* lockLineCallback__13daBoomerang_cFP10fopAc_ac_c */
void daBoomerang_c::lockLineCallback(fopAc_ac_c* i_actorP) {
if (i_actorP &&
fopAcM_GetName(i_actorP) != PROC_Obj_glowSphere &&
fopAcM_GetName(i_actorP) != PROC_E_VT &&
fopAcM_GetName(i_actorP) != PROC_OBJ_BRG) {
setLockActor(i_actorP,1);
if (i_actorP && fopAcM_GetName(i_actorP) != PROC_Obj_glowSphere &&
fopAcM_GetName(i_actorP) != PROC_E_VT && fopAcM_GetName(i_actorP) != PROC_OBJ_BRG)
{
setLockActor(i_actorP, 1);
}
}
@ -691,14 +678,13 @@ void daBoomerang_c::moveLineCallback(fopAc_ac_c* i_actorP) {
}
}
}
}
}
}
/* 8049F6EC-8049F710 0016AC 0024+00 1/1 0/0 0/0 .text
* daBoomerang_moveLineCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */
static void daBoomerang_moveLineCallback(fopAc_ac_c* i_actorP1, dCcD_GObjInf* param_1,
fopAc_ac_c* i_actorP2, dCcD_GObjInf* param_3) {
fopAc_ac_c* i_actorP2, dCcD_GObjInf* param_3) {
daBoomerang_c* boomerang = (daBoomerang_c*)i_actorP1;
boomerang->moveLineCallback(i_actorP2);
}
@ -715,43 +701,21 @@ asm void daBoomerang_c::pushLockList(int param_0) {
/* 8049F818-8049F874 0017D8 005C+00 1/0 0/0 0/0 .text
* cancelLockActorBase__13daBoomerang_cFP10fopAc_ac_c */
#ifdef NONMATCHING
// no clue. pushLockList appears to be in the loop, but doing so causes a ton of problems
void daBoomerang_c::cancelLockActorBase(fopAc_ac_c* i_actorP) {
int i = 0;
int lock_count = mLockCnt;
if (lock_count <= 0) {
return;
}
while (true) {
if (mLockActors[i] == i_actorP) {
for (int i = 0; i < mLockCnt; i++) {
if (mLockActors[i] == i_actorP) {
pushLockList(i);
break;
} else {
i++;
}
}
pushLockList(i);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daBoomerang_c::cancelLockActorBase(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_boomerang/d_a_boomerang/cancelLockActorBase__13daBoomerang_cFP10fopAc_ac_c.s"
}
#pragma pop
#endif
/* 8049F874-8049F8B0 001834 003C+00 1/0 0/0 0/0 .text
* setAimActorBase__13daBoomerang_cFP10fopAc_ac_c */
void daBoomerang_c::setAimActorBase(fopAc_ac_c* i_actorP) {
if (mLockCnt == 0) {
onStateFlg0(FLG0_UNK);
setLockActor(i_actorP,0);
setLockActor(i_actorP, 0);
}
}
@ -1416,15 +1380,15 @@ COMPILER_STRIP_GATE(0x804A2988, &lit_5875);
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daBoomerang_c::execute() {
asm int daBoomerang_c::execute() {
nofralloc
#include "asm/rel/d/a/d_a_boomerang/d_a_boomerang/execute__13daBoomerang_cFv.s"
}
#pragma pop
/* 804A1BD4-804A1BF4 003B94 0020+00 1/0 0/0 0/0 .text daBoomerang_Execute__FP13daBoomerang_c */
static void daBoomerang_Execute(daBoomerang_c* i_this) {
i_this->execute();
static int daBoomerang_Execute(daBoomerang_c* i_this) {
return i_this->execute();
}
/* ############################################################################################## */
@ -1456,19 +1420,18 @@ static int daBoomerang_Delete(daBoomerang_c* i_this) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daBoomerang_c::createHeap() {
asm int daBoomerang_c::createHeap() {
nofralloc
#include "asm/rel/d/a/d_a_boomerang/d_a_boomerang/createHeap__13daBoomerang_cFv.s"
}
#pragma pop
/* 804A2064-804A2084 004024 0020+00 1/1 0/0 0/0 .text daBoomerang_createHeap__FP10fopAc_ac_c */
static void daBoomerang_createHeap(fopAc_ac_c* i_this) {
static int daBoomerang_createHeap(fopAc_ac_c* i_this) {
daBoomerang_c* boomerang = (daBoomerang_c*)i_this;
boomerang->createHeap();
return boomerang->createHeap();
}
/* ############################################################################################## */
/* 804A298C-804A2990 00013C 0004+00 1/1 0/0 0/0 .rodata @6077 */
SECTION_RODATA static f32 const lit_6077 = 600.0f;
@ -1478,7 +1441,7 @@ COMPILER_STRIP_GATE(0x804A298C, &lit_6077);
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daBoomerang_c::create() {
asm int daBoomerang_c::create() {
nofralloc
#include "asm/rel/d/a/d_a_boomerang/d_a_boomerang/create__13daBoomerang_cFv.s"
}
@ -1554,7 +1517,7 @@ extern "C" asm void __dt__12dBgS_ObjAcchFv() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daBoomerang_Create(fopAc_ac_c* param_0) {
static asm int daBoomerang_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_boomerang/d_a_boomerang/daBoomerang_Create__FP10fopAc_ac_c.s"
}

View File

@ -1,339 +1,139 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_lv6CstaSw
//
/**
* d_a_tag_lv6CstaSw.cpp
* Temple of Time Statue switch trigger
*/
#include "rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct mDoMtx_stack_c {
static u8 now[48];
};
struct mDoHIO_entry_c {
/* 80D5B310 */ ~mDoHIO_entry_c();
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct daLv6CstaSw_c {
/* 80D5B358 */ void setBaseMtx();
/* 80D5B3B0 */ void create();
/* 80D5B410 */ void searchSekizoAct(void*, void*);
/* 80D5B460 */ void areaCheck();
/* 80D5B600 */ void Execute();
/* 80D5B6B0 */ bool Draw();
/* 80D5B6B8 */ bool Delete();
};
struct daLv6CstaSw_HIO_c {
/* 80D5B2EC */ daLv6CstaSw_HIO_c();
/* 80D5B740 */ ~daLv6CstaSw_HIO_c();
};
struct dSv_info_c {
/* 80035200 */ void onSwitch(int, int);
/* 800352B0 */ void offSwitch(int, int);
/* 80035360 */ void isSwitch(int, int) const;
};
struct Vec {};
struct cXyz {
/* 80266B34 */ void operator-(Vec const&) const;
};
//
// Forward References:
//
extern "C" void __ct__17daLv6CstaSw_HIO_cFv();
extern "C" void __dt__14mDoHIO_entry_cFv();
extern "C" void setBaseMtx__13daLv6CstaSw_cFv();
extern "C" void create__13daLv6CstaSw_cFv();
extern "C" void searchSekizoAct__13daLv6CstaSw_cFPvPv();
extern "C" void areaCheck__13daLv6CstaSw_cFv();
extern "C" void Execute__13daLv6CstaSw_cFv();
extern "C" bool Draw__13daLv6CstaSw_cFv();
extern "C" bool Delete__13daLv6CstaSw_cFv();
extern "C" static void daLv6CstaSw_Draw__FP13daLv6CstaSw_c();
extern "C" static void daLv6CstaSw_Execute__FP13daLv6CstaSw_c();
extern "C" static void daLv6CstaSw_Delete__FP13daLv6CstaSw_c();
extern "C" static void daLv6CstaSw_Create__FP10fopAc_ac_c();
extern "C" void __dt__17daLv6CstaSw_HIO_cFv();
extern "C" void __sinit_d_a_tag_lv6CstaSw_cpp();
//
// External References:
//
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAc_IsActor__FPv();
extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
extern "C" void onSwitch__10dSv_info_cFii();
extern "C" void offSwitch__10dSv_info_cFii();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void __dl__FPv();
extern "C" void PSMTXTrans();
extern "C" void PSVECSquareMag();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u32 __float_nan;
extern "C" void __register_global_object();
//
// Declarations:
//
/* ############################################################################################## */
/* 80D5B810-80D5B830 -00001 0020+00 1/0 0/0 0/0 .data l_daLv6CstaSw_Method */
SECTION_DATA static void* l_daLv6CstaSw_Method[8] = {
(void*)daLv6CstaSw_Create__FP10fopAc_ac_c,
(void*)daLv6CstaSw_Delete__FP13daLv6CstaSw_c,
(void*)daLv6CstaSw_Execute__FP13daLv6CstaSw_c,
(void*)NULL,
(void*)daLv6CstaSw_Draw__FP13daLv6CstaSw_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 80D5B830-80D5B860 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Lv6CstaSw */
SECTION_DATA extern void* g_profile_Tag_Lv6CstaSw[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x01910000, (void*)&g_fpcLf_Method,
(void*)0x00000570, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x02920000, (void*)&l_daLv6CstaSw_Method,
(void*)0x00044000, (void*)0x000E0000,
};
/* 80D5B860-80D5B86C 000050 000C+00 2/2 0/0 0/0 .data __vt__17daLv6CstaSw_HIO_c */
SECTION_DATA extern void* __vt__17daLv6CstaSw_HIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__17daLv6CstaSw_HIO_cFv,
};
/* 80D5B86C-80D5B878 00005C 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */
SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__14mDoHIO_entry_cFv,
};
/* 80D5B2EC-80D5B310 0000EC 0024+00 1/1 0/0 0/0 .text __ct__17daLv6CstaSw_HIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daLv6CstaSw_HIO_c::daLv6CstaSw_HIO_c() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw/__ct__17daLv6CstaSw_HIO_cFv.s"
daLv6CstaSw_HIO_c::daLv6CstaSw_HIO_c() {
field_0x4 = 0;
}
#pragma pop
/* 80D5B310-80D5B358 000110 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm mDoHIO_entry_c::~mDoHIO_entry_c() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw/__dt__14mDoHIO_entry_cFv.s"
}
#pragma pop
/* 80D5B358-80D5B3B0 000158 0058+00 1/1 0/0 0/0 .text setBaseMtx__13daLv6CstaSw_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daLv6CstaSw_c::setBaseMtx() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw/setBaseMtx__13daLv6CstaSw_cFv.s"
void daLv6CstaSw_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
}
#pragma pop
/* 80D5B3B0-80D5B410 0001B0 0060+00 1/1 0/0 0/0 .text create__13daLv6CstaSw_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daLv6CstaSw_c::create() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw/create__13daLv6CstaSw_cFv.s"
int daLv6CstaSw_c::create() {
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daLv6CstaSw_c();
fopAcM_OnCondition(this, 8);
}
mSwitch = getSw();
setBaseMtx();
return cPhs_COMPLEATE_e;
}
#pragma pop
/* 80D5B410-80D5B460 000210 0050+00 1/1 0/0 0/0 .text searchSekizoAct__13daLv6CstaSw_cFPvPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daLv6CstaSw_c::searchSekizoAct(void* param_0, void* param_1) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw/searchSekizoAct__13daLv6CstaSw_cFPvPv.s"
fopAc_ac_c* daLv6CstaSw_c::searchSekizoAct(void* i_actor, void*) {
if (i_actor != NULL && fopAcM_IsActor(i_actor) && fopAcM_GetProfName(i_actor) == PROC_CSTATUE) {
return (fopAc_ac_c*)i_actor;
}
return NULL;
}
#pragma pop
/* ############################################################################################## */
/* 80D5B7EC-80D5B7F4 000000 0004+04 1/1 0/0 0/0 .rodata @3724 */
SECTION_RODATA static u8 const lit_3724[4 + 4 /* padding */] = {
0x00,
0x00,
0x00,
0x00,
/* padding */
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80D5B7EC, &lit_3724);
/* 80D5B7F4-80D5B7FC 000008 0008+00 0/1 0/0 0/0 .rodata @3725 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3725[8] = {
0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80D5B7F4, &lit_3725);
#pragma pop
/* 80D5B7FC-80D5B804 000010 0008+00 0/1 0/0 0/0 .rodata @3726 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3726[8] = {
0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80D5B7FC, &lit_3726);
#pragma pop
/* 80D5B804-80D5B80C 000018 0008+00 0/1 0/0 0/0 .rodata @3727 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3727[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80D5B804, &lit_3727);
#pragma pop
/* 80D5B80C-80D5B810 000020 0004+00 0/1 0/0 0/0 .rodata @3728 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3728 = 100.0f;
COMPILER_STRIP_GATE(0x80D5B80C, &lit_3728);
#pragma pop
/* 80D5B460-80D5B600 000260 01A0+00 1/1 0/0 0/0 .text areaCheck__13daLv6CstaSw_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daLv6CstaSw_c::areaCheck() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw/areaCheck__13daLv6CstaSw_cFv.s"
bool daLv6CstaSw_c::areaCheck() {
bool in_area = false;
fopAc_ac_c* sekizo_p = fopAcM_Search((fopAcIt_JudgeFunc)searchSekizoAct, this);
if (sekizo_p == NULL) {
return false;
}
cXyz vec_to_actor = current.pos - sekizo_p->current.pos;
if (vec_to_actor.absXZ() <= mScale.x * 100.0f) {
in_area = true;
}
return in_area;
}
#pragma pop
/* 80D5B600-80D5B6B0 000400 00B0+00 1/1 0/0 0/0 .text Execute__13daLv6CstaSw_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daLv6CstaSw_c::Execute() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw/Execute__13daLv6CstaSw_cFv.s"
int daLv6CstaSw_c::Execute() {
if (areaCheck() == true) {
if (!i_fopAcM_isSwitch(this, mSwitch)) {
i_fopAcM_onSwitch(this, mSwitch);
}
} else {
if (i_fopAcM_isSwitch(this, mSwitch)) {
i_fopAcM_offSwitch(this, mSwitch);
}
}
return 1;
}
#pragma pop
/* 80D5B6B0-80D5B6B8 0004B0 0008+00 1/1 0/0 0/0 .text Draw__13daLv6CstaSw_cFv */
bool daLv6CstaSw_c::Draw() {
return true;
int daLv6CstaSw_c::Draw() {
return 1;
}
/* 80D5B6B8-80D5B6C0 0004B8 0008+00 1/1 0/0 0/0 .text Delete__13daLv6CstaSw_cFv */
bool daLv6CstaSw_c::Delete() {
return true;
int daLv6CstaSw_c::Delete() {
return 1;
}
/* 80D5B6C0-80D5B6E0 0004C0 0020+00 1/0 0/0 0/0 .text daLv6CstaSw_Draw__FP13daLv6CstaSw_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daLv6CstaSw_Draw(daLv6CstaSw_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw/daLv6CstaSw_Draw__FP13daLv6CstaSw_c.s"
static int daLv6CstaSw_Draw(daLv6CstaSw_c* i_this) {
return i_this->Draw();
}
#pragma pop
/* 80D5B6E0-80D5B700 0004E0 0020+00 1/0 0/0 0/0 .text daLv6CstaSw_Execute__FP13daLv6CstaSw_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daLv6CstaSw_Execute(daLv6CstaSw_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw/daLv6CstaSw_Execute__FP13daLv6CstaSw_c.s"
static int daLv6CstaSw_Execute(daLv6CstaSw_c* i_this) {
return i_this->Execute();
}
#pragma pop
/* 80D5B700-80D5B720 000500 0020+00 1/0 0/0 0/0 .text daLv6CstaSw_Delete__FP13daLv6CstaSw_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daLv6CstaSw_Delete(daLv6CstaSw_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw/daLv6CstaSw_Delete__FP13daLv6CstaSw_c.s"
static int daLv6CstaSw_Delete(daLv6CstaSw_c* i_this) {
return i_this->Delete();
}
#pragma pop
/* 80D5B720-80D5B740 000520 0020+00 1/0 0/0 0/0 .text daLv6CstaSw_Create__FP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daLv6CstaSw_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw/daLv6CstaSw_Create__FP10fopAc_ac_c.s"
static int daLv6CstaSw_Create(fopAc_ac_c* i_this) {
return static_cast<daLv6CstaSw_c*>(i_this)->create();
}
#pragma pop
/* 80D5B740-80D5B79C 000540 005C+00 2/1 0/0 0/0 .text __dt__17daLv6CstaSw_HIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daLv6CstaSw_HIO_c::~daLv6CstaSw_HIO_c() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw/__dt__17daLv6CstaSw_HIO_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80D5B880-80D5B88C 000008 000C+00 1/1 0/0 0/0 .bss @3619 */
static u8 lit_3619[12];
daLv6CstaSw_HIO_c::~daLv6CstaSw_HIO_c() {}
/* 80D5B88C-80D5B894 000014 0008+00 1/1 0/0 0/0 .bss l_HIO */
static u8 l_HIO[8];
static daLv6CstaSw_HIO_c l_HIO;
/* 80D5B79C-80D5B7D8 00059C 003C+00 0/0 1/0 0/0 .text __sinit_d_a_tag_lv6CstaSw_cpp */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __sinit_d_a_tag_lv6CstaSw_cpp() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw/__sinit_d_a_tag_lv6CstaSw_cpp.s"
}
#pragma pop
/* ############################################################################################## */
/* 80D5B810-80D5B830 -00001 0020+00 1/0 0/0 0/0 .data l_daLv6CstaSw_Method */
static actor_method_class l_daLv6CstaSw_Method = {
(process_method_func)daLv6CstaSw_Create, (process_method_func)daLv6CstaSw_Delete,
(process_method_func)daLv6CstaSw_Execute, (process_method_func)NULL,
(process_method_func)daLv6CstaSw_Draw,
};
#pragma push
#pragma force_active on
REGISTER_CTORS(0x80D5B79C, __sinit_d_a_tag_lv6CstaSw_cpp);
#pragma pop
/* 80D5B830-80D5B860 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Lv6CstaSw */
extern actor_process_profile_definition g_profile_Tag_Lv6CstaSw = {
-3,
7,
0xFFFD,
PROC_Tag_Lv6CstaSw,
0,
&g_fpcLf_Method.mBase,
sizeof(daLv6CstaSw_c),
0,
0,
&g_fopAc_Method.base,
0x0292,
0,
0,
&l_daLv6CstaSw_Method,
0x00044000,
0,
14,
0,
0,
};