d_a_obj_cboard / finish f_op_actor / rels cleanup (#268)

* d_a_obj_cboard / finish f_op_actor / clean up some rel files

* rename some actor vars / remove asm

* progress
This commit is contained in:
TakaRikka
2023-02-03 20:24:26 -08:00
committed by GitHub
parent f030d04b14
commit 0f1c727725
85 changed files with 1038 additions and 2328 deletions
+9 -9
View File
@@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
.text | 24.117264% | 867388 | 3596544
.text | 24.159415% | 868904 | 3596544
.ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832
Total | 32.117119% | 1291324 | 4020672
Total | 32.154824% | 1292840 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 32.117119% | 1291324 | 4020672
RELs | 33.048286% | 3800660 | 11500324
Total | 32.807070% | 5091984 | 15520996
main.dol | 32.154824% | 1292840 | 4020672
RELs | 33.060877% | 3802108 | 11500324
Total | 32.826167% | 5094948 | 15520996
## RELs
@@ -372,7 +372,7 @@ d_a_obj_carry | 29.827071% | 18352 | 61528
d_a_obj_catdoor | 82.338611% | 2704 | 3284
d_a_obj_cb | 43.008475% | 2436 | 5664
d_a_obj_cblock | 42.294713% | 3008 | 7112
d_a_obj_cboard | 57.703927% | 1528 | 2648
d_a_obj_cboard | 100.000000% | 2648 | 2648
d_a_obj_cdoor | 40.255786% | 2644 | 6568
d_a_obj_chandelier | 36.773256% | 2024 | 5504
d_a_obj_chest | 39.833795% | 2876 | 7220
@@ -707,7 +707,7 @@ d_a_tag_Lv6Gate | 39.281576% | 2712 | 6904
d_a_tag_Lv7Gate | 34.752224% | 2188 | 6296
d_a_tag_Lv8Gate | 43.347193% | 1668 | 3848
d_a_tag_TWgate | 53.384834% | 10504 | 19676
d_a_tag_ajnot | 78.246753% | 964 | 1232
d_a_tag_ajnot | 100.000000% | 1232 | 1232
d_a_tag_allmato | 30.234070% | 3720 | 12304
d_a_tag_arena | 82.022472% | 584 | 712
d_a_tag_assistance | 76.699029% | 632 | 824
@@ -758,7 +758,7 @@ d_a_tag_river_back | 45.725916% | 1348 | 2948
d_a_tag_rmbit_sw | 46.642468% | 1028 | 2204
d_a_tag_schedule | 82.022472% | 584 | 712
d_a_tag_setBall | 100.000000% | 880 | 880
d_a_tag_setrestart | 96.739130% | 1780 | 1840
d_a_tag_setrestart | 100.000000% | 1840 | 1840
d_a_tag_shop_camera | 62.541806% | 748 | 1196
d_a_tag_shop_item | 41.944848% | 1156 | 2756
d_a_tag_smk_emt | 50.127226% | 788 | 1572
@@ -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.048286% | 3800660 | 11500324
Total | 33.060877% | 3802108 | 11500324
@@ -1,15 +0,0 @@
lbl_80018C0C:
/* 80018C0C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80018C10 7C 08 02 A6 */ mflr r0
/* 80018C14 90 01 00 14 */ stw r0, 0x14(r1)
/* 80018C18 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80018C1C 7C 7F 1B 78 */ mr r31, r3
/* 80018C20 3C 80 80 3A */ lis r4, j3dDefaultLightInfo@ha /* 0x803A1EC8@ha */
/* 80018C24 38 84 1E C8 */ addi r4, r4, j3dDefaultLightInfo@l /* 0x803A1EC8@l */
/* 80018C28 48 30 CA 9D */ bl __as__12J3DLightInfoFRC12J3DLightInfo
/* 80018C2C 7F E3 FB 78 */ mr r3, r31
/* 80018C30 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80018C34 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80018C38 7C 08 03 A6 */ mtlr r0
/* 80018C3C 38 21 00 10 */ addi r1, r1, 0x10
/* 80018C40 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_80018C44:
/* 80018C44 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80018C48 7C 08 02 A6 */ mflr r0
/* 80018C4C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80018C50 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80018C54 7C 7F 1B 79 */ or. r31, r3, r3
/* 80018C58 41 82 00 1C */ beq lbl_80018C74
/* 80018C5C 3C A0 80 3A */ lis r5, __vt__11dEvt_info_c@ha /* 0x803A35D0@ha */
/* 80018C60 38 05 35 D0 */ addi r0, r5, __vt__11dEvt_info_c@l /* 0x803A35D0@l */
/* 80018C64 90 1F 00 00 */ stw r0, 0(r31)
/* 80018C68 7C 80 07 35 */ extsh. r0, r4
/* 80018C6C 40 81 00 08 */ ble lbl_80018C74
/* 80018C70 48 2B 60 CD */ bl __dl__FPv
lbl_80018C74:
/* 80018C74 7F E3 FB 78 */ mr r3, r31
/* 80018C78 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80018C7C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80018C80 7C 08 03 A6 */ mtlr r0
/* 80018C84 38 21 00 10 */ addi r1, r1, 0x10
/* 80018C88 4E 80 00 20 */ blr
-17
View File
@@ -1,17 +0,0 @@
lbl_80018BD0:
/* 80018BD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80018BD4 7C 08 02 A6 */ mflr r0
/* 80018BD8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80018BDC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80018BE0 7C 7F 1B 79 */ or. r31, r3, r3
/* 80018BE4 41 82 00 10 */ beq lbl_80018BF4
/* 80018BE8 7C 80 07 35 */ extsh. r0, r4
/* 80018BEC 40 81 00 08 */ ble lbl_80018BF4
/* 80018BF0 48 2B 61 4D */ bl __dl__FPv
lbl_80018BF4:
/* 80018BF4 7F E3 FB 78 */ mr r3, r31
/* 80018BF8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80018BFC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80018C00 7C 08 03 A6 */ mtlr r0
/* 80018C04 38 21 00 10 */ addi r1, r1, 0x10
/* 80018C08 4E 80 00 20 */ blr
-245
View File
@@ -1,245 +0,0 @@
lbl_8001904C:
/* 8001904C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80019050 7C 08 02 A6 */ mflr r0
/* 80019054 90 01 00 34 */ stw r0, 0x34(r1)
/* 80019058 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8001905C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80019060 7C 7F 1B 78 */ mr r31, r3
/* 80019064 88 03 00 0C */ lbz r0, 0xc(r3)
/* 80019068 7C 00 07 75 */ extsb. r0, r0
/* 8001906C 40 82 03 30 */ bne lbl_8001939C
/* 80019070 83 C3 00 10 */ lwz r30, 0x10(r3)
/* 80019074 38 6D 87 38 */ la r3, g_fopAc_type(r13) /* 80450CB8-_SDA_BASE_ */
/* 80019078 48 00 75 E5 */ bl fpcBs_MakeOfType__FPi
/* 8001907C 90 7F 00 C0 */ stw r3, 0xc0(r31)
/* 80019080 80 1E 00 24 */ lwz r0, 0x24(r30)
/* 80019084 90 1F 00 EC */ stw r0, 0xec(r31)
/* 80019088 38 7F 00 C4 */ addi r3, r31, 0xc4
/* 8001908C 7F E4 FB 78 */ mr r4, r31
/* 80019090 48 00 07 F1 */ bl fopAcTg_Init__FP16create_tag_classPv
/* 80019094 38 7F 00 C4 */ addi r3, r31, 0xc4
/* 80019098 48 00 07 9D */ bl fopAcTg_ToActorQ__FP16create_tag_class
/* 8001909C 38 7F 00 D8 */ addi r3, r31, 0xd8
/* 800190A0 7F E4 FB 78 */ mr r4, r31
/* 800190A4 48 00 74 51 */ bl fopDwTg_Init__FP16create_tag_classPv
/* 800190A8 80 1E 00 28 */ lwz r0, 0x28(r30)
/* 800190AC 90 1F 04 9C */ stw r0, 0x49c(r31)
/* 800190B0 88 1E 00 2C */ lbz r0, 0x2c(r30)
/* 800190B4 98 1F 04 96 */ stb r0, 0x496(r31)
/* 800190B8 88 1E 00 2D */ lbz r0, 0x2d(r30)
/* 800190BC 98 1F 04 97 */ stb r0, 0x497(r31)
/* 800190C0 80 9F 00 AC */ lwz r4, 0xac(r31)
/* 800190C4 28 04 00 00 */ cmplwi r4, 0
/* 800190C8 41 82 00 D4 */ beq lbl_8001919C
/* 800190CC 80 04 00 00 */ lwz r0, 0(r4)
/* 800190D0 90 1F 00 B0 */ stw r0, 0xb0(r31)
/* 800190D4 C0 04 00 04 */ lfs f0, 4(r4)
/* 800190D8 D0 1F 04 A8 */ stfs f0, 0x4a8(r31)
/* 800190DC C0 04 00 08 */ lfs f0, 8(r4)
/* 800190E0 D0 1F 04 AC */ stfs f0, 0x4ac(r31)
/* 800190E4 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 800190E8 D0 1F 04 B0 */ stfs f0, 0x4b0(r31)
/* 800190EC A8 04 00 10 */ lha r0, 0x10(r4)
/* 800190F0 B0 1F 04 B4 */ sth r0, 0x4b4(r31)
/* 800190F4 A8 04 00 12 */ lha r0, 0x12(r4)
/* 800190F8 B0 1F 04 B6 */ sth r0, 0x4b6(r31)
/* 800190FC A8 04 00 14 */ lha r0, 0x14(r4)
/* 80019100 B0 1F 04 B8 */ sth r0, 0x4b8(r31)
/* 80019104 A8 04 00 10 */ lha r0, 0x10(r4)
/* 80019108 B0 1F 04 E4 */ sth r0, 0x4e4(r31)
/* 8001910C A8 04 00 12 */ lha r0, 0x12(r4)
/* 80019110 B0 1F 04 E6 */ sth r0, 0x4e6(r31)
/* 80019114 A8 04 00 14 */ lha r0, 0x14(r4)
/* 80019118 B0 1F 04 E8 */ sth r0, 0x4e8(r31)
/* 8001911C 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 80019120 90 1F 04 A4 */ stw r0, 0x4a4(r31)
/* 80019124 88 04 00 20 */ lbz r0, 0x20(r4)
/* 80019128 98 1F 04 99 */ stb r0, 0x499(r31)
/* 8001912C C0 42 81 D0 */ lfs f2, lit_4431(r2)
/* 80019130 88 04 00 1A */ lbz r0, 0x1a(r4)
/* 80019134 C8 22 81 D8 */ lfd f1, lit_4434(r2)
/* 80019138 90 01 00 0C */ stw r0, 0xc(r1)
/* 8001913C 3C 60 43 30 */ lis r3, 0x4330
/* 80019140 90 61 00 08 */ stw r3, 8(r1)
/* 80019144 C8 01 00 08 */ lfd f0, 8(r1)
/* 80019148 EC 00 08 28 */ fsubs f0, f0, f1
/* 8001914C EC 82 00 32 */ fmuls f4, f2, f0
/* 80019150 88 04 00 19 */ lbz r0, 0x19(r4)
/* 80019154 90 01 00 14 */ stw r0, 0x14(r1)
/* 80019158 90 61 00 10 */ stw r3, 0x10(r1)
/* 8001915C C8 01 00 10 */ lfd f0, 0x10(r1)
/* 80019160 EC 00 08 28 */ fsubs f0, f0, f1
/* 80019164 EC 62 00 32 */ fmuls f3, f2, f0
/* 80019168 88 04 00 18 */ lbz r0, 0x18(r4)
/* 8001916C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80019170 90 61 00 18 */ stw r3, 0x18(r1)
/* 80019174 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 80019178 EC 00 08 28 */ fsubs f0, f0, f1
/* 8001917C EC 02 00 32 */ fmuls f0, f2, f0
/* 80019180 D0 1F 04 EC */ stfs f0, 0x4ec(r31)
/* 80019184 D0 7F 04 F0 */ stfs f3, 0x4f0(r31)
/* 80019188 D0 9F 04 F4 */ stfs f4, 0x4f4(r31)
/* 8001918C A0 04 00 16 */ lhz r0, 0x16(r4)
/* 80019190 B0 1F 04 94 */ sth r0, 0x494(r31)
/* 80019194 88 04 00 21 */ lbz r0, 0x21(r4)
/* 80019198 98 1F 04 BA */ stb r0, 0x4ba(r31)
lbl_8001919C:
/* 8001919C C0 1F 04 A8 */ lfs f0, 0x4a8(r31)
/* 800191A0 D0 1F 04 BC */ stfs f0, 0x4bc(r31)
/* 800191A4 C0 1F 04 AC */ lfs f0, 0x4ac(r31)
/* 800191A8 D0 1F 04 C0 */ stfs f0, 0x4c0(r31)
/* 800191AC C0 1F 04 B0 */ lfs f0, 0x4b0(r31)
/* 800191B0 D0 1F 04 C4 */ stfs f0, 0x4c4(r31)
/* 800191B4 A8 1F 04 B4 */ lha r0, 0x4b4(r31)
/* 800191B8 B0 1F 04 C8 */ sth r0, 0x4c8(r31)
/* 800191BC A8 1F 04 B6 */ lha r0, 0x4b6(r31)
/* 800191C0 B0 1F 04 CA */ sth r0, 0x4ca(r31)
/* 800191C4 A8 1F 04 B8 */ lha r0, 0x4b8(r31)
/* 800191C8 B0 1F 04 CC */ sth r0, 0x4cc(r31)
/* 800191CC 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 800191D0 98 1F 04 CE */ stb r0, 0x4ce(r31)
/* 800191D4 88 1F 04 BB */ lbz r0, 0x4bb(r31)
/* 800191D8 98 1F 04 CF */ stb r0, 0x4cf(r31)
/* 800191DC C0 1F 04 A8 */ lfs f0, 0x4a8(r31)
/* 800191E0 D0 1F 04 D0 */ stfs f0, 0x4d0(r31)
/* 800191E4 C0 1F 04 AC */ lfs f0, 0x4ac(r31)
/* 800191E8 D0 1F 04 D4 */ stfs f0, 0x4d4(r31)
/* 800191EC C0 1F 04 B0 */ lfs f0, 0x4b0(r31)
/* 800191F0 D0 1F 04 D8 */ stfs f0, 0x4d8(r31)
/* 800191F4 A8 1F 04 B4 */ lha r0, 0x4b4(r31)
/* 800191F8 B0 1F 04 DC */ sth r0, 0x4dc(r31)
/* 800191FC A8 1F 04 B6 */ lha r0, 0x4b6(r31)
/* 80019200 B0 1F 04 DE */ sth r0, 0x4de(r31)
/* 80019204 A8 1F 04 B8 */ lha r0, 0x4b8(r31)
/* 80019208 B0 1F 04 E0 */ sth r0, 0x4e0(r31)
/* 8001920C 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80019210 98 1F 04 E2 */ stb r0, 0x4e2(r31)
/* 80019214 88 1F 04 BB */ lbz r0, 0x4bb(r31)
/* 80019218 98 1F 04 E3 */ stb r0, 0x4e3(r31)
/* 8001921C C0 1F 04 A8 */ lfs f0, 0x4a8(r31)
/* 80019220 D0 1F 05 38 */ stfs f0, 0x538(r31)
/* 80019224 C0 1F 04 AC */ lfs f0, 0x4ac(r31)
/* 80019228 D0 1F 05 3C */ stfs f0, 0x53c(r31)
/* 8001922C C0 1F 04 B0 */ lfs f0, 0x4b0(r31)
/* 80019230 D0 1F 05 40 */ stfs f0, 0x540(r31)
/* 80019234 C0 02 81 D4 */ lfs f0, lit_4432(r2)
/* 80019238 D0 1F 05 34 */ stfs f0, 0x534(r31)
/* 8001923C 38 00 00 01 */ li r0, 1
/* 80019240 98 1F 05 44 */ stb r0, 0x544(r31)
/* 80019244 38 00 00 02 */ li r0, 2
/* 80019248 98 1F 05 45 */ stb r0, 0x545(r31)
/* 8001924C 38 00 00 03 */ li r0, 3
/* 80019250 98 1F 05 46 */ stb r0, 0x546(r31)
/* 80019254 38 00 00 05 */ li r0, 5
/* 80019258 98 1F 05 47 */ stb r0, 0x547(r31)
/* 8001925C 38 00 00 06 */ li r0, 6
/* 80019260 98 1F 05 48 */ stb r0, 0x548(r31)
/* 80019264 38 00 00 0E */ li r0, 0xe
/* 80019268 98 1F 05 4B */ stb r0, 0x54b(r31)
/* 8001926C 38 00 00 0F */ li r0, 0xf
/* 80019270 98 1F 05 49 */ stb r0, 0x549(r31)
/* 80019274 98 1F 05 4A */ stb r0, 0x54a(r31)
/* 80019278 38 00 00 33 */ li r0, 0x33
/* 8001927C 98 1F 05 4C */ stb r0, 0x54c(r31)
/* 80019280 C0 1F 04 A8 */ lfs f0, 0x4a8(r31)
/* 80019284 D0 1F 05 50 */ stfs f0, 0x550(r31)
/* 80019288 C0 1F 04 AC */ lfs f0, 0x4ac(r31)
/* 8001928C D0 1F 05 54 */ stfs f0, 0x554(r31)
/* 80019290 C0 1F 04 B0 */ lfs f0, 0x4b0(r31)
/* 80019294 D0 1F 05 58 */ stfs f0, 0x558(r31)
/* 80019298 38 00 00 1E */ li r0, 0x1e
/* 8001929C B0 1F 05 4E */ sth r0, 0x54e(r31)
/* 800192A0 38 7F 01 0C */ addi r3, r31, 0x10c
/* 800192A4 88 9F 04 BA */ lbz r4, 0x4ba(r31)
/* 800192A8 38 A0 00 FF */ li r5, 0xff
/* 800192AC 48 18 F6 41 */ bl dKy_tevstr_init__FP12dKy_tevstr_cScUc
/* 800192B0 88 8D 87 E4 */ lbz r4, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 800192B4 7C 84 07 75 */ extsb. r4, r4
/* 800192B8 41 80 00 24 */ blt lbl_800192DC
/* 800192BC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 800192C0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 800192C4 38 63 4E C4 */ addi r3, r3, 0x4ec4
/* 800192C8 48 00 B0 BD */ bl getStatusRoomDt__20dStage_roomControl_cFi
/* 800192CC 81 83 00 00 */ lwz r12, 0(r3)
/* 800192D0 81 8C 01 0C */ lwz r12, 0x10c(r12)
/* 800192D4 7D 89 03 A6 */ mtctr r12
/* 800192D8 4E 80 04 21 */ bctrl
lbl_800192DC:
/* 800192DC 38 60 00 00 */ li r3, 0
/* 800192E0 88 9F 04 BA */ lbz r4, 0x4ba(r31)
/* 800192E4 7C 80 07 75 */ extsb. r0, r4
/* 800192E8 41 80 00 28 */ blt lbl_80019310
/* 800192EC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 800192F0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 800192F4 38 63 4E C4 */ addi r3, r3, 0x4ec4
/* 800192F8 7C 84 07 74 */ extsb r4, r4
/* 800192FC 48 00 B0 89 */ bl getStatusRoomDt__20dStage_roomControl_cFi
/* 80019300 81 83 00 00 */ lwz r12, 0(r3)
/* 80019304 81 8C 01 0C */ lwz r12, 0x10c(r12)
/* 80019308 7D 89 03 A6 */ mtctr r12
/* 8001930C 4E 80 04 21 */ bctrl
lbl_80019310:
/* 80019310 28 03 00 00 */ cmplwi r3, 0
/* 80019314 41 82 00 88 */ beq lbl_8001939C
/* 80019318 80 03 00 00 */ lwz r0, 0(r3)
/* 8001931C 54 00 00 85 */ rlwinm. r0, r0, 0, 2, 2
/* 80019320 40 82 00 40 */ bne lbl_80019360
/* 80019324 88 83 00 1B */ lbz r4, 0x1b(r3)
/* 80019328 28 04 00 FF */ cmplwi r4, 0xff
/* 8001932C 41 82 00 70 */ beq lbl_8001939C
/* 80019330 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80019334 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80019338 88 BF 04 BA */ lbz r5, 0x4ba(r31)
/* 8001933C 7C A5 07 74 */ extsb r5, r5
/* 80019340 48 01 C0 21 */ bl isSwitch__10dSv_info_cCFii
/* 80019344 2C 03 00 00 */ cmpwi r3, 0
/* 80019348 41 82 00 54 */ beq lbl_8001939C
/* 8001934C 88 1E 00 2C */ lbz r0, 0x2c(r30)
/* 80019350 28 00 00 02 */ cmplwi r0, 2
/* 80019354 40 82 00 48 */ bne lbl_8001939C
/* 80019358 38 60 00 05 */ li r3, 5
/* 8001935C 48 00 00 88 */ b lbl_800193E4
lbl_80019360:
/* 80019360 88 83 00 1B */ lbz r4, 0x1b(r3)
/* 80019364 28 04 00 FF */ cmplwi r4, 0xff
/* 80019368 41 82 00 34 */ beq lbl_8001939C
/* 8001936C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80019370 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80019374 88 BF 04 BA */ lbz r5, 0x4ba(r31)
/* 80019378 7C A5 07 74 */ extsb r5, r5
/* 8001937C 48 01 BF E5 */ bl isSwitch__10dSv_info_cCFii
/* 80019380 2C 03 00 00 */ cmpwi r3, 0
/* 80019384 40 82 00 18 */ bne lbl_8001939C
/* 80019388 88 1E 00 2C */ lbz r0, 0x2c(r30)
/* 8001938C 28 00 00 02 */ cmplwi r0, 2
/* 80019390 40 82 00 0C */ bne lbl_8001939C
/* 80019394 38 60 00 05 */ li r3, 5
/* 80019398 48 00 00 4C */ b lbl_800193E4
lbl_8001939C:
/* 8001939C 80 7F 00 EC */ lwz r3, 0xec(r31)
/* 800193A0 7F E4 FB 78 */ mr r4, r31
/* 800193A4 48 00 91 29 */ bl fpcMtd_Create__FP20process_method_classPv
/* 800193A8 7C 7E 1B 78 */ mr r30, r3
/* 800193AC 2C 1E 00 04 */ cmpwi r30, 4
/* 800193B0 40 82 00 1C */ bne lbl_800193CC
/* 800193B4 7F E3 FB 78 */ mr r3, r31
/* 800193B8 48 00 86 49 */ bl fpcLf_GetPriority__FPC14leafdraw_class
/* 800193BC 7C 64 07 34 */ extsh r4, r3
/* 800193C0 38 7F 00 D8 */ addi r3, r31, 0xd8
/* 800193C4 48 00 70 E9 */ bl fopDwTg_ToDrawQ__FP16create_tag_classi
/* 800193C8 48 00 00 18 */ b lbl_800193E0
lbl_800193CC:
/* 800193CC 2C 1E 00 05 */ cmpwi r30, 5
/* 800193D0 40 82 00 10 */ bne lbl_800193E0
/* 800193D4 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 800193D8 60 00 00 10 */ ori r0, r0, 0x10
/* 800193DC 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_800193E0:
/* 800193E0 7F C3 F3 78 */ mr r3, r30
lbl_800193E4:
/* 800193E4 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 800193E8 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 800193EC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800193F0 7C 08 03 A6 */ mtlr r0
/* 800193F4 38 21 00 30 */ addi r1, r1, 0x30
/* 800193F8 4E 80 00 20 */ blr
@@ -1,99 +0,0 @@
lbl_80019520:
/* 80019520 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80019524 7C 08 02 A6 */ mflr r0
/* 80019528 90 01 00 44 */ stw r0, 0x44(r1)
/* 8001952C 39 61 00 40 */ addi r11, r1, 0x40
/* 80019530 48 34 8C AD */ bl _savegpr_29
/* 80019534 7C 7E 1B 78 */ mr r30, r3
/* 80019538 7C 9F 23 78 */ mr r31, r4
/* 8001953C 80 03 05 80 */ lwz r0, 0x580(r3)
/* 80019540 28 00 00 00 */ cmplwi r0, 0
/* 80019544 41 82 01 44 */ beq lbl_80019688
/* 80019548 C0 3E 05 90 */ lfs f1, 0x590(r30)
/* 8001954C C0 02 81 E0 */ lfs f0, lit_4505(r2)
/* 80019550 EC 01 00 2A */ fadds f0, f1, f0
/* 80019554 D0 1E 05 90 */ stfs f0, 0x590(r30)
/* 80019558 80 7E 05 84 */ lwz r3, 0x584(r30)
/* 8001955C A8 03 00 06 */ lha r0, 6(r3)
/* 80019560 C0 5E 05 90 */ lfs f2, 0x590(r30)
/* 80019564 C8 22 81 E8 */ lfd f1, lit_4507(r2)
/* 80019568 6C 03 80 00 */ xoris r3, r0, 0x8000
/* 8001956C 90 61 00 24 */ stw r3, 0x24(r1)
/* 80019570 3C 00 43 30 */ lis r0, 0x4330
/* 80019574 90 01 00 20 */ stw r0, 0x20(r1)
/* 80019578 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 8001957C EC 00 08 28 */ fsubs f0, f0, f1
/* 80019580 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80019584 4C 41 13 82 */ cror 2, 1, 2
/* 80019588 40 82 00 1C */ bne lbl_800195A4
/* 8001958C 90 61 00 24 */ stw r3, 0x24(r1)
/* 80019590 90 01 00 20 */ stw r0, 0x20(r1)
/* 80019594 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 80019598 EC 00 08 28 */ fsubs f0, f0, f1
/* 8001959C EC 02 00 28 */ fsubs f0, f2, f0
/* 800195A0 D0 1E 05 90 */ stfs f0, 0x590(r30)
lbl_800195A4:
/* 800195A4 7F C3 F3 78 */ mr r3, r30
/* 800195A8 4B FF FF 55 */ bl checkBallModelDraw__13fopEn_enemy_cFv
/* 800195AC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800195B0 41 82 00 D8 */ beq lbl_80019688
/* 800195B4 80 7E 05 80 */ lwz r3, 0x580(r30)
/* 800195B8 3B A3 00 18 */ addi r29, r3, 0x18
/* 800195BC 7F A3 EB 78 */ mr r3, r29
/* 800195C0 C0 22 81 E0 */ lfs f1, lit_4505(r2)
/* 800195C4 C0 42 81 D0 */ lfs f2, lit_4431(r2)
/* 800195C8 48 25 71 79 */ bl cLib_chaseF__FPfff
/* 800195CC C0 1D 00 00 */ lfs f0, 0(r29)
/* 800195D0 D0 1D 00 08 */ stfs f0, 8(r29)
/* 800195D4 D0 1D 00 04 */ stfs f0, 4(r29)
/* 800195D8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 800195DC 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 800195E0 80 7D 5D 3C */ lwz r3, 0x5d3c(r29)
/* 800195E4 38 00 00 FF */ li r0, 0xff
/* 800195E8 90 01 00 08 */ stw r0, 8(r1)
/* 800195EC 38 80 00 00 */ li r4, 0
/* 800195F0 90 81 00 0C */ stw r4, 0xc(r1)
/* 800195F4 38 00 FF FF */ li r0, -1
/* 800195F8 90 01 00 10 */ stw r0, 0x10(r1)
/* 800195FC 90 81 00 14 */ stw r4, 0x14(r1)
/* 80019600 90 81 00 18 */ stw r4, 0x18(r1)
/* 80019604 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80019608 80 9E 05 94 */ lwz r4, 0x594(r30)
/* 8001960C 38 A0 00 00 */ li r5, 0
/* 80019610 3C C0 00 01 */ lis r6, 0x0001 /* 0x000086C8@ha */
/* 80019614 38 C6 86 C8 */ addi r6, r6, 0x86C8 /* 0x000086C8@l */
/* 80019618 38 FE 05 68 */ addi r7, r30, 0x568
/* 8001961C 7F E8 FB 78 */ mr r8, r31
/* 80019620 39 20 00 00 */ li r9, 0
/* 80019624 39 40 00 00 */ li r10, 0
/* 80019628 C0 22 81 E0 */ lfs f1, lit_4505(r2)
/* 8001962C 48 03 3E A1 */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80019630 90 7E 05 94 */ stw r3, 0x594(r30)
/* 80019634 80 7D 5D 3C */ lwz r3, 0x5d3c(r29)
/* 80019638 38 00 00 FF */ li r0, 0xff
/* 8001963C 90 01 00 08 */ stw r0, 8(r1)
/* 80019640 38 80 00 00 */ li r4, 0
/* 80019644 90 81 00 0C */ stw r4, 0xc(r1)
/* 80019648 38 00 FF FF */ li r0, -1
/* 8001964C 90 01 00 10 */ stw r0, 0x10(r1)
/* 80019650 90 81 00 14 */ stw r4, 0x14(r1)
/* 80019654 90 81 00 18 */ stw r4, 0x18(r1)
/* 80019658 90 81 00 1C */ stw r4, 0x1c(r1)
/* 8001965C 80 9E 05 98 */ lwz r4, 0x598(r30)
/* 80019660 38 A0 00 00 */ li r5, 0
/* 80019664 3C C0 00 01 */ lis r6, 0x0001 /* 0x000086C9@ha */
/* 80019668 38 C6 86 C9 */ addi r6, r6, 0x86C9 /* 0x000086C9@l */
/* 8001966C 38 FE 05 68 */ addi r7, r30, 0x568
/* 80019670 7F E8 FB 78 */ mr r8, r31
/* 80019674 39 20 00 00 */ li r9, 0
/* 80019678 39 40 00 00 */ li r10, 0
/* 8001967C C0 22 81 E0 */ lfs f1, lit_4505(r2)
/* 80019680 48 03 3E 4D */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80019684 90 7E 05 98 */ stw r3, 0x598(r30)
lbl_80019688:
/* 80019688 39 61 00 40 */ addi r11, r1, 0x40
/* 8001968C 48 34 8B 9D */ bl _restgpr_29
/* 80019690 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80019694 7C 08 03 A6 */ mtlr r0
/* 80019698 38 21 00 40 */ addi r1, r1, 0x40
/* 8001969C 4E 80 00 20 */ blr
@@ -1,44 +0,0 @@
lbl_8057B9C8:
/* 8057B9C8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8057B9CC 7C 08 02 A6 */ mflr r0
/* 8057B9D0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8057B9D4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8057B9D8 7C 7F 1B 78 */ mr r31, r3
/* 8057B9DC 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8057B9E0 54 00 07 3E */ clrlwi r0, r0, 0x1c
/* 8057B9E4 28 00 00 01 */ cmplwi r0, 1
/* 8057B9E8 40 82 00 24 */ bne lbl_8057BA0C
/* 8057B9EC C0 1F 04 EC */ lfs f0, 0x4ec(r31)
/* 8057B9F0 3C 60 80 58 */ lis r3, lit_3636@ha /* 0x8057BDD0@ha */
/* 8057B9F4 C0 23 BD D0 */ lfs f1, lit_3636@l(r3) /* 0x8057BDD0@l */
/* 8057B9F8 EC 00 00 72 */ fmuls f0, f0, f1
/* 8057B9FC D0 1F 04 EC */ stfs f0, 0x4ec(r31)
/* 8057BA00 C0 1F 04 F4 */ lfs f0, 0x4f4(r31)
/* 8057BA04 EC 00 00 72 */ fmuls f0, f0, f1
/* 8057BA08 D0 1F 04 F4 */ stfs f0, 0x4f4(r31)
lbl_8057BA0C:
/* 8057BA0C 7F E3 FB 78 */ mr r3, r31
/* 8057BA10 4B FF FF 49 */ bl initBaseMtx__12daObjBoard_cFv
/* 8057BA14 38 1F 05 A8 */ addi r0, r31, 0x5a8
/* 8057BA18 90 1F 05 04 */ stw r0, 0x504(r31)
/* 8057BA1C C0 DF 04 F4 */ lfs f6, 0x4f4(r31)
/* 8057BA20 C0 9F 04 EC */ lfs f4, 0x4ec(r31)
/* 8057BA24 7F E3 FB 78 */ mr r3, r31
/* 8057BA28 3C 80 80 58 */ lis r4, l_cull_box@ha /* 0x8057BE38@ha */
/* 8057BA2C C4 04 BE 38 */ lfsu f0, l_cull_box@l(r4) /* 0x8057BE38@l */
/* 8057BA30 EC 20 01 32 */ fmuls f1, f0, f4
/* 8057BA34 C0 44 00 04 */ lfs f2, 4(r4)
/* 8057BA38 C0 04 00 08 */ lfs f0, 8(r4)
/* 8057BA3C EC 60 01 B2 */ fmuls f3, f0, f6
/* 8057BA40 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 8057BA44 EC 80 01 32 */ fmuls f4, f0, f4
/* 8057BA48 C0 A4 00 10 */ lfs f5, 0x10(r4)
/* 8057BA4C C0 04 00 14 */ lfs f0, 0x14(r4)
/* 8057BA50 EC C0 01 B2 */ fmuls f6, f0, f6
/* 8057BA54 4B A9 EA F5 */ bl fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff
/* 8057BA58 38 60 00 01 */ li r3, 1
/* 8057BA5C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8057BA60 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8057BA64 7C 08 03 A6 */ mtlr r0
/* 8057BA68 38 21 00 10 */ addi r1, r1, 0x10
/* 8057BA6C 4E 80 00 20 */ blr
@@ -1,14 +0,0 @@
lbl_8057BCC8:
/* 8057BCC8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8057BCCC 7C 08 02 A6 */ mflr r0
/* 8057BCD0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8057BCD4 3C 80 80 58 */ lis r4, l_arcName@ha /* 0x8057BE20@ha */
/* 8057BCD8 38 84 BE 20 */ addi r4, r4, l_arcName@l /* 0x8057BE20@l */
/* 8057BCDC 80 84 00 00 */ lwz r4, 0(r4)
/* 8057BCE0 38 63 05 A0 */ addi r3, r3, 0x5a0
/* 8057BCE4 4B AB 13 25 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
/* 8057BCE8 38 60 00 01 */ li r3, 1
/* 8057BCEC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8057BCF0 7C 08 03 A6 */ mtlr r0
/* 8057BCF4 38 21 00 10 */ addi r1, r1, 0x10
/* 8057BCF8 4E 80 00 20 */ blr
@@ -1,89 +0,0 @@
lbl_8057BB74:
/* 8057BB74 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8057BB78 7C 08 02 A6 */ mflr r0
/* 8057BB7C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8057BB80 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8057BB84 93 C1 00 08 */ stw r30, 8(r1)
/* 8057BB88 7C 7E 1B 78 */ mr r30, r3
/* 8057BB8C 7C 9F 23 78 */ mr r31, r4
/* 8057BB90 80 83 00 B0 */ lwz r4, 0xb0(r3)
/* 8057BB94 54 80 E7 3E */ rlwinm r0, r4, 0x1c, 0x1c, 0x1f
/* 8057BB98 28 00 00 0F */ cmplwi r0, 0xf
/* 8057BB9C 41 81 01 00 */ bgt lbl_8057BC9C
/* 8057BBA0 3C 60 80 58 */ lis r3, lit_3712@ha /* 0x8057BE50@ha */
/* 8057BBA4 38 63 BE 50 */ addi r3, r3, lit_3712@l /* 0x8057BE50@l */
/* 8057BBA8 54 00 10 3A */ slwi r0, r0, 2
/* 8057BBAC 7C 03 00 2E */ lwzx r0, r3, r0
/* 8057BBB0 7C 09 03 A6 */ mtctr r0
/* 8057BBB4 4E 80 04 20 */ bctr
lbl_8057BBB8:
/* 8057BBB8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8057BBBC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8057BBC0 54 84 C6 3E */ rlwinm r4, r4, 0x18, 0x18, 0x1f
/* 8057BBC4 88 1E 04 BA */ lbz r0, 0x4ba(r30)
/* 8057BBC8 7C 05 07 74 */ extsb r5, r0
/* 8057BBCC 4B AB 97 95 */ bl isSwitch__10dSv_info_cCFii
/* 8057BBD0 2C 03 00 00 */ cmpwi r3, 0
/* 8057BBD4 41 82 00 30 */ beq lbl_8057BC04
/* 8057BBD8 80 7E 05 68 */ lwz r3, 0x568(r30)
/* 8057BBDC 4B CE C5 F9 */ bl ChkUsed__9cBgW_BgIdCFv
/* 8057BBE0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8057BBE4 40 82 00 B8 */ bne lbl_8057BC9C
/* 8057BBE8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8057BBEC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8057BBF0 38 63 0F 38 */ addi r3, r3, 0xf38
/* 8057BBF4 80 9E 05 68 */ lwz r4, 0x568(r30)
/* 8057BBF8 7F C5 F3 78 */ mr r5, r30
/* 8057BBFC 4B AF 8E 0D */ bl Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c
/* 8057BC00 48 00 00 9C */ b lbl_8057BC9C
lbl_8057BC04:
/* 8057BC04 80 7E 05 68 */ lwz r3, 0x568(r30)
/* 8057BC08 4B CE C5 CD */ bl ChkUsed__9cBgW_BgIdCFv
/* 8057BC0C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8057BC10 41 82 00 8C */ beq lbl_8057BC9C
/* 8057BC14 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8057BC18 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8057BC1C 38 63 0F 38 */ addi r3, r3, 0xf38
/* 8057BC20 80 9E 05 68 */ lwz r4, 0x568(r30)
/* 8057BC24 4B AF 86 2D */ bl Release__4cBgSFP9dBgW_Base
/* 8057BC28 48 00 00 74 */ b lbl_8057BC9C
lbl_8057BC2C:
/* 8057BC2C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8057BC30 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8057BC34 54 84 C6 3E */ rlwinm r4, r4, 0x18, 0x18, 0x1f
/* 8057BC38 88 1E 04 BA */ lbz r0, 0x4ba(r30)
/* 8057BC3C 7C 05 07 74 */ extsb r5, r0
/* 8057BC40 4B AB 97 21 */ bl isSwitch__10dSv_info_cCFii
/* 8057BC44 2C 03 00 00 */ cmpwi r3, 0
/* 8057BC48 41 82 00 2C */ beq lbl_8057BC74
/* 8057BC4C 80 7E 05 68 */ lwz r3, 0x568(r30)
/* 8057BC50 4B CE C5 85 */ bl ChkUsed__9cBgW_BgIdCFv
/* 8057BC54 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8057BC58 41 82 00 44 */ beq lbl_8057BC9C
/* 8057BC5C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8057BC60 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8057BC64 38 63 0F 38 */ addi r3, r3, 0xf38
/* 8057BC68 80 9E 05 68 */ lwz r4, 0x568(r30)
/* 8057BC6C 4B AF 85 E5 */ bl Release__4cBgSFP9dBgW_Base
/* 8057BC70 48 00 00 2C */ b lbl_8057BC9C
lbl_8057BC74:
/* 8057BC74 80 7E 05 68 */ lwz r3, 0x568(r30)
/* 8057BC78 4B CE C5 5D */ bl ChkUsed__9cBgW_BgIdCFv
/* 8057BC7C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8057BC80 40 82 00 1C */ bne lbl_8057BC9C
/* 8057BC84 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8057BC88 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8057BC8C 38 63 0F 38 */ addi r3, r3, 0xf38
/* 8057BC90 80 9E 05 68 */ lwz r4, 0x568(r30)
/* 8057BC94 7F C5 F3 78 */ mr r5, r30
/* 8057BC98 4B AF 8D 71 */ bl Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c
lbl_8057BC9C:
/* 8057BC9C 38 1E 05 6C */ addi r0, r30, 0x56c
/* 8057BCA0 90 1F 00 00 */ stw r0, 0(r31)
/* 8057BCA4 38 60 00 01 */ li r3, 1
/* 8057BCA8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8057BCAC 83 C1 00 08 */ lwz r30, 8(r1)
/* 8057BCB0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8057BCB4 7C 08 03 A6 */ mtlr r0
/* 8057BCB8 38 21 00 10 */ addi r1, r1, 0x10
/* 8057BCBC 4E 80 00 20 */ blr
@@ -1,72 +0,0 @@
lbl_8057BA78:
/* 8057BA78 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8057BA7C 7C 08 02 A6 */ mflr r0
/* 8057BA80 90 01 00 14 */ stw r0, 0x14(r1)
/* 8057BA84 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8057BA88 7C 7F 1B 78 */ mr r31, r3
/* 8057BA8C 38 7F 05 A0 */ addi r3, r31, 0x5a0
/* 8057BA90 3C 80 80 58 */ lis r4, l_arcName@ha /* 0x8057BE20@ha */
/* 8057BA94 38 84 BE 20 */ addi r4, r4, l_arcName@l /* 0x8057BE20@l */
/* 8057BA98 80 84 00 00 */ lwz r4, 0(r4)
/* 8057BA9C 4B AB 14 21 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc
/* 8057BAA0 7C 60 1B 78 */ mr r0, r3
/* 8057BAA4 2C 00 00 04 */ cmpwi r0, 4
/* 8057BAA8 40 82 00 B4 */ bne lbl_8057BB5C
/* 8057BAAC 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 8057BAB0 54 00 E7 3E */ rlwinm r0, r0, 0x1c, 0x1c, 0x1f
/* 8057BAB4 2C 00 00 05 */ cmpwi r0, 5
/* 8057BAB8 40 80 00 18 */ bge lbl_8057BAD0
/* 8057BABC 2C 00 00 03 */ cmpwi r0, 3
/* 8057BAC0 40 80 00 24 */ bge lbl_8057BAE4
/* 8057BAC4 2C 00 00 01 */ cmpwi r0, 1
/* 8057BAC8 40 80 00 14 */ bge lbl_8057BADC
/* 8057BACC 48 00 00 28 */ b lbl_8057BAF4
lbl_8057BAD0:
/* 8057BAD0 2C 00 00 09 */ cmpwi r0, 9
/* 8057BAD4 40 80 00 20 */ bge lbl_8057BAF4
/* 8057BAD8 48 00 00 14 */ b lbl_8057BAEC
lbl_8057BADC:
/* 8057BADC 38 00 00 01 */ li r0, 1
/* 8057BAE0 48 00 00 18 */ b lbl_8057BAF8
lbl_8057BAE4:
/* 8057BAE4 38 00 00 02 */ li r0, 2
/* 8057BAE8 48 00 00 10 */ b lbl_8057BAF8
lbl_8057BAEC:
/* 8057BAEC 38 00 00 04 */ li r0, 4
/* 8057BAF0 48 00 00 08 */ b lbl_8057BAF8
lbl_8057BAF4:
/* 8057BAF4 38 00 00 00 */ li r0, 0
lbl_8057BAF8:
/* 8057BAF8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8057BAFC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8057BB00 3C 63 00 02 */ addis r3, r3, 2
/* 8057BB04 3C 80 80 58 */ lis r4, l_arcName@ha /* 0x8057BE20@ha */
/* 8057BB08 38 84 BE 20 */ addi r4, r4, l_arcName@l /* 0x8057BE20@l */
/* 8057BB0C 80 84 00 00 */ lwz r4, 0(r4)
/* 8057BB10 54 00 10 3A */ slwi r0, r0, 2
/* 8057BB14 3C A0 80 58 */ lis r5, l_dzbName@ha /* 0x8057BE24@ha */
/* 8057BB18 38 A5 BE 24 */ addi r5, r5, l_dzbName@l /* 0x8057BE24@l */
/* 8057BB1C 7C A5 00 2E */ lwzx r5, r5, r0
/* 8057BB20 38 63 C2 F8 */ addi r3, r3, -15624
/* 8057BB24 4B AC 0B 95 */ bl getObjectResName2Index__14dRes_control_cFPCcPCc
/* 8057BB28 7C 65 1B 78 */ mr r5, r3
/* 8057BB2C 7F E3 FB 78 */ mr r3, r31
/* 8057BB30 3C 80 80 58 */ lis r4, l_arcName@ha /* 0x8057BE20@ha */
/* 8057BB34 38 84 BE 20 */ addi r4, r4, l_arcName@l /* 0x8057BE20@l */
/* 8057BB38 80 84 00 00 */ lwz r4, 0(r4)
/* 8057BB3C 38 C0 00 00 */ li r6, 0
/* 8057BB40 38 E0 02 00 */ li r7, 0x200
/* 8057BB44 39 00 00 00 */ li r8, 0
/* 8057BB48 4B AF CC 75 */ bl MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f
/* 8057BB4C 7C 60 1B 78 */ mr r0, r3
/* 8057BB50 2C 00 00 05 */ cmpwi r0, 5
/* 8057BB54 40 82 00 08 */ bne lbl_8057BB5C
/* 8057BB58 48 00 00 08 */ b lbl_8057BB60
lbl_8057BB5C:
/* 8057BB5C 7C 03 03 78 */ mr r3, r0
lbl_8057BB60:
/* 8057BB60 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8057BB64 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8057BB68 7C 08 03 A6 */ mtlr r0
/* 8057BB6C 38 21 00 10 */ addi r1, r1, 0x10
/* 8057BB70 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8057BD5C:
/* 8057BD5C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8057BD60 7C 08 02 A6 */ mflr r0
/* 8057BD64 90 01 00 14 */ stw r0, 0x14(r1)
/* 8057BD68 4B AF CB 75 */ bl MoveBGDelete__16dBgS_MoveBgActorFv
/* 8057BD6C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8057BD70 7C 08 03 A6 */ mtlr r0
/* 8057BD74 38 21 00 10 */ addi r1, r1, 0x10
/* 8057BD78 4E 80 00 20 */ blr
@@ -1,12 +0,0 @@
lbl_8057BD9C:
/* 8057BD9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8057BDA0 7C 08 02 A6 */ mflr r0
/* 8057BDA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8057BDA8 81 83 05 9C */ lwz r12, 0x59c(r3)
/* 8057BDAC 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8057BDB0 7D 89 03 A6 */ mtctr r12
/* 8057BDB4 4E 80 04 21 */ bctrl
/* 8057BDB8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8057BDBC 7C 08 03 A6 */ mtlr r0
/* 8057BDC0 38 21 00 10 */ addi r1, r1, 0x10
/* 8057BDC4 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8057BD7C:
/* 8057BD7C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8057BD80 7C 08 02 A6 */ mflr r0
/* 8057BD84 90 01 00 14 */ stw r0, 0x14(r1)
/* 8057BD88 4B AF CB C9 */ bl MoveBGExecute__16dBgS_MoveBgActorFv
/* 8057BD8C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8057BD90 7C 08 03 A6 */ mtlr r0
/* 8057BD94 38 21 00 10 */ addi r1, r1, 0x10
/* 8057BD98 4E 80 00 20 */ blr
@@ -1,27 +0,0 @@
lbl_8057BCFC:
/* 8057BCFC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8057BD00 7C 08 02 A6 */ mflr r0
/* 8057BD04 90 01 00 14 */ stw r0, 0x14(r1)
/* 8057BD08 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8057BD0C 7C 7F 1B 78 */ mr r31, r3
/* 8057BD10 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 8057BD14 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 8057BD18 40 82 00 28 */ bne lbl_8057BD40
/* 8057BD1C 28 1F 00 00 */ cmplwi r31, 0
/* 8057BD20 41 82 00 14 */ beq lbl_8057BD34
/* 8057BD24 4B AF C9 01 */ bl __ct__16dBgS_MoveBgActorFv
/* 8057BD28 3C 60 80 58 */ lis r3, __vt__12daObjBoard_c@ha /* 0x8057BEE0@ha */
/* 8057BD2C 38 03 BE E0 */ addi r0, r3, __vt__12daObjBoard_c@l /* 0x8057BEE0@l */
/* 8057BD30 90 1F 05 9C */ stw r0, 0x59c(r31)
lbl_8057BD34:
/* 8057BD34 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 8057BD38 60 00 00 08 */ ori r0, r0, 8
/* 8057BD3C 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_8057BD40:
/* 8057BD40 7F E3 FB 78 */ mr r3, r31
/* 8057BD44 4B FF FD 35 */ bl create1st__12daObjBoard_cFv
/* 8057BD48 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8057BD4C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8057BD50 7C 08 03 A6 */ mtlr r0
/* 8057BD54 38 21 00 10 */ addi r1, r1, 0x10
/* 8057BD58 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8057B958:
/* 8057B958 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8057B95C 7C 08 02 A6 */ mflr r0
/* 8057B960 90 01 00 14 */ stw r0, 0x14(r1)
/* 8057B964 48 00 00 15 */ bl setBaseMtx__12daObjBoard_cFv
/* 8057B968 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8057B96C 7C 08 03 A6 */ mtlr r0
/* 8057B970 38 21 00 10 */ addi r1, r1, 0x10
/* 8057B974 4E 80 00 20 */ blr
@@ -1,21 +0,0 @@
lbl_8057B978:
/* 8057B978 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8057B97C 7C 08 02 A6 */ mflr r0
/* 8057B980 90 01 00 14 */ stw r0, 0x14(r1)
/* 8057B984 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8057B988 7C 7F 1B 78 */ mr r31, r3
/* 8057B98C 38 7F 04 D0 */ addi r3, r31, 0x4d0
/* 8057B990 4B A9 13 D5 */ bl transS__14mDoMtx_stack_cFRC4cXyz
/* 8057B994 38 7F 04 E4 */ addi r3, r31, 0x4e4
/* 8057B998 4B A9 15 AD */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz
/* 8057B99C 38 7F 04 EC */ addi r3, r31, 0x4ec
/* 8057B9A0 4B A9 14 D1 */ bl scaleM__14mDoMtx_stack_cFRC4cXyz
/* 8057B9A4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8057B9A8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8057B9AC 38 9F 05 6C */ addi r4, r31, 0x56c
/* 8057B9B0 4B DC AB 01 */ bl PSMTXCopy
/* 8057B9B4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8057B9B8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8057B9BC 7C 08 03 A6 */ mtlr r0
/* 8057B9C0 38 21 00 10 */ addi r1, r1, 0x10
/* 8057B9C4 4E 80 00 20 */ blr
@@ -1,70 +0,0 @@
lbl_805A2744:
/* 805A2744 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 805A2748 7C 08 02 A6 */ mflr r0
/* 805A274C 90 01 00 34 */ stw r0, 0x34(r1)
/* 805A2750 39 61 00 30 */ addi r11, r1, 0x30
/* 805A2754 4B DB FA 89 */ bl _savegpr_29
/* 805A2758 7C 7D 1B 78 */ mr r29, r3
/* 805A275C 3C 60 80 5A */ lis r3, lit_3713@ha /* 0x805A2880@ha */
/* 805A2760 3B E3 28 80 */ addi r31, r3, lit_3713@l /* 0x805A2880@l */
/* 805A2764 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A2768 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A276C 83 C3 5D AC */ lwz r30, 0x5dac(r3)
/* 805A2770 C0 3E 04 D4 */ lfs f1, 0x4d4(r30)
/* 805A2774 C0 1D 04 D4 */ lfs f0, 0x4d4(r29)
/* 805A2778 EC 61 00 28 */ fsubs f3, f1, f0
/* 805A277C C0 5F 00 00 */ lfs f2, 0(r31)
/* 805A2780 FC 03 10 40 */ fcmpo cr0, f3, f2
/* 805A2784 4C 41 13 82 */ cror 2, 1, 2
/* 805A2788 40 82 00 AC */ bne lbl_805A2834
/* 805A278C C0 3F 00 04 */ lfs f1, 4(r31)
/* 805A2790 C0 1D 04 F0 */ lfs f0, 0x4f0(r29)
/* 805A2794 EC 01 00 32 */ fmuls f0, f1, f0
/* 805A2798 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 805A279C 4C 40 13 82 */ cror 2, 0, 2
/* 805A27A0 40 82 00 94 */ bne lbl_805A2834
/* 805A27A4 C0 3E 04 D8 */ lfs f1, 0x4d8(r30)
/* 805A27A8 C0 1E 04 D0 */ lfs f0, 0x4d0(r30)
/* 805A27AC D0 01 00 08 */ stfs f0, 8(r1)
/* 805A27B0 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 805A27B4 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 805A27B8 C0 3D 04 D8 */ lfs f1, 0x4d8(r29)
/* 805A27BC C0 1D 04 D0 */ lfs f0, 0x4d0(r29)
/* 805A27C0 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 805A27C4 D0 41 00 18 */ stfs f2, 0x18(r1)
/* 805A27C8 D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 805A27CC 38 61 00 08 */ addi r3, r1, 8
/* 805A27D0 38 81 00 14 */ addi r4, r1, 0x14
/* 805A27D4 4B DA 4B C9 */ bl PSVECSquareDistance
/* 805A27D8 C0 5D 04 EC */ lfs f2, 0x4ec(r29)
/* 805A27DC C0 1F 00 08 */ lfs f0, 8(r31)
/* 805A27E0 EC 00 00 B2 */ fmuls f0, f0, f2
/* 805A27E4 EC 02 00 32 */ fmuls f0, f2, f0
/* 805A27E8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 805A27EC 4C 40 13 82 */ cror 2, 0, 2
/* 805A27F0 40 82 00 44 */ bne lbl_805A2834
/* 805A27F4 80 1D 00 B0 */ lwz r0, 0xb0(r29)
/* 805A27F8 54 03 07 3E */ clrlwi r3, r0, 0x1c
/* 805A27FC 2C 03 00 01 */ cmpwi r3, 1
/* 805A2800 40 82 00 14 */ bne lbl_805A2814
/* 805A2804 80 1E 05 88 */ lwz r0, 0x588(r30)
/* 805A2808 60 00 02 00 */ ori r0, r0, 0x200
/* 805A280C 90 1E 05 88 */ stw r0, 0x588(r30)
/* 805A2810 48 00 00 24 */ b lbl_805A2834
lbl_805A2814:
/* 805A2814 80 1E 05 88 */ lwz r0, 0x588(r30)
/* 805A2818 60 00 00 20 */ ori r0, r0, 0x20
/* 805A281C 90 1E 05 88 */ stw r0, 0x588(r30)
/* 805A2820 2C 03 00 0F */ cmpwi r3, 0xf
/* 805A2824 40 82 00 10 */ bne lbl_805A2834
/* 805A2828 80 1E 05 88 */ lwz r0, 0x588(r30)
/* 805A282C 60 00 00 10 */ ori r0, r0, 0x10
/* 805A2830 90 1E 05 88 */ stw r0, 0x588(r30)
lbl_805A2834:
/* 805A2834 38 60 00 01 */ li r3, 1
/* 805A2838 39 61 00 30 */ addi r11, r1, 0x30
/* 805A283C 4B DB F9 ED */ bl _restgpr_29
/* 805A2840 80 01 00 34 */ lwz r0, 0x34(r1)
/* 805A2844 7C 08 03 A6 */ mtlr r0
/* 805A2848 38 21 00 30 */ addi r1, r1, 0x30
/* 805A284C 4E 80 00 20 */ blr
@@ -1,17 +0,0 @@
lbl_80D60520:
/* 80D60520 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D60524 7C 08 02 A6 */ mflr r0
/* 80D60528 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D6052C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D60530 7C 7F 1B 79 */ or. r31, r3, r3
/* 80D60534 41 82 00 10 */ beq lbl_80D60544
/* 80D60538 7C 80 07 35 */ extsh. r0, r4
/* 80D6053C 40 81 00 08 */ ble lbl_80D60544
/* 80D60540 4B 56 E7 FD */ bl __dl__FPv
lbl_80D60544:
/* 80D60544 7F E3 FB 78 */ mr r3, r31
/* 80D60548 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D6054C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D60550 7C 08 03 A6 */ mtlr r0
/* 80D60554 38 21 00 10 */ addi r1, r1, 0x10
/* 80D60558 4E 80 00 20 */ blr
+7
View File
@@ -311,9 +311,12 @@ public:
ERFLG0_UNK_2000 = 0x2000,
ERFLG0_UNK_1000 = 0x1000,
ERFLG0_UNK_400 = 0x400,
ERFLG0_FORCE_AUTO_JUMP = 0x200,
ERFLG0_UNK_100 = 0x100,
ERFLG0_UNK_80 = 0x80,
ERFLG0_UNK_40 = 0x40,
ERFLG0_NOT_AUTO_JUMP = 0x20,
ERFLG0_NOT_HANG = 0x10,
ERFLG0_UNK_8 = 8,
ERFLG0_UNK_4 = 4,
ERFLG0_UNK_2 = 2,
@@ -695,6 +698,10 @@ public:
bool checkSceneChangeAreaStart() const { return i_checkNoResetFlg2(FLG2_SCN_CHG_START); }
bool checkFrontRollCrash() const { return i_checkResetFlg0(RFLG0_FRONT_ROLL_CRASH); }
void onForceAutoJump() { i_onEndResetFlg0(ERFLG0_FORCE_AUTO_JUMP); }
void onNotAutoJump() { i_onEndResetFlg0(ERFLG0_NOT_AUTO_JUMP); }
void onNotHang() { i_onEndResetFlg0(ERFLG0_NOT_HANG); }
void offGoronSideMove() {
if (i_checkGoronSideMove()) {
mSpecialMode = 0;
+11 -12
View File
@@ -10,25 +10,24 @@ typedef void (*MoveBGActor_SetFunc)(dBgW*, void*, cBgS_PolyInfo const&, bool, cX
csXyz*);
class dBgS_MoveBgActor : public fopAc_ac_c {
private:
public:
/* 0x568 */ dBgW* field_0x568;
/* 0x56C */ Mtx field_0x56c;
public:
/* 80078624 */ dBgS_MoveBgActor();
/* 800786C8 */ int MoveBGCreateHeap();
/* 800787BC */ int MoveBGCreate(char const*, int, MoveBGActor_SetFunc, u32, Mtx*);
/* 800788DC */ bool MoveBGDelete();
/* 80078950 */ bool MoveBGExecute();
/* 800788DC */ int MoveBGDelete();
/* 80078950 */ int MoveBGExecute();
/* 80078688 */ virtual s32 CreateHeap();
/* 80078690 */ virtual bool Create();
/* 80078698 */ virtual bool Execute(f32 (**)[3][4]);
/* 800786A0 */ virtual bool Draw();
/* 800786A8 */ virtual bool Delete();
/* 800786B0 */ virtual bool IsDelete();
/* 800786B8 */ virtual bool ToFore();
/* 800786C0 */ virtual bool ToBack();
/* 80078688 */ virtual int CreateHeap();
/* 80078690 */ virtual int Create();
/* 80078698 */ virtual int Execute(f32 (**)[3][4]);
/* 800786A0 */ virtual int Draw();
/* 800786A8 */ virtual int Delete();
/* 800786B0 */ virtual int IsDelete();
/* 800786B8 */ virtual int ToFore();
/* 800786C0 */ virtual int ToBack();
static const char* m_name;
static int m_dzb_id;
+5 -1
View File
@@ -6,6 +6,7 @@
#include "d/cc/d_cc_s.h"
#include "d/d_attention.h"
#include "d/d_drawlist.h"
#include "d/d_procname.h"
#include "d/d_resorce.h"
#include "d/d_simple_model.h"
#include "d/d_stage.h"
@@ -14,7 +15,6 @@
#include "d/event/d_event_manager.h"
#include "d/particle/d_particle.h"
#include "d/save/d_save.h"
#include "dolphin/types.h"
#include "f_op/f_op_camera_mng.h"
#include "f_op/f_op_scene_mng.h"
@@ -790,6 +790,10 @@ inline u8 dComIfG_getBrightness() {
return g_dComIfG_gameInfo.mFadeBrightness;
}
inline int dComIfG_getObjctResName2Index(const char* i_arcName, const char* i_resName) {
return g_dComIfG_gameInfo.mResControl.getObjectResName2Index(i_arcName, i_resName);
}
u8 dComIfGs_getMixItemIndex(int i_no);
void dComIfGs_setSelectItemIndex(int i_no, u8 item_index);
void dComIfGs_setMixItemIndex(int i_no, u8 item_index);
+11 -10
View File
@@ -8,17 +8,16 @@
#include "f_pc/f_pc_leaf.h"
struct actor_method_class {
/* 0x00 */ process_method_class mBase;
/* 0x10 */ process_method_func mpDrawFunc;
/* 0x00 */ leafdraw_method_class base;
/* 0x14 */ u8 field_0x14[0xC]; // Likely padding
};
struct actor_process_profile_definition {
/* 0x00 */ leaf_process_profile_definition mBase;
/* 0x24 */ actor_method_class* mSubMtd;
/* 0x28 */ int field_0x28; // mStatus
/* 0x2C */ u8 field_0x2c; // mActorType
/* 0x2D */ u8 field_0x2d; // mCullType
/* 0x28 */ u32 mStatus;
/* 0x2C */ u8 mActorType;
/* 0x2D */ u8 mCullType;
/* 0x2E */ u8 field_0x2e[2]; // Likely padding
};
@@ -77,7 +76,7 @@ struct actor_place {
/* 0x00 */ cXyz pos;
/* 0x0C */ csXyz angle;
/* 0x12 */ s8 mRoomNo;
/* 0x12 */ s8 roomNo;
/* 0x13 */ u8 field_0x13;
};
@@ -117,7 +116,7 @@ public:
/* 0x4D0 */ actor_place current;
/* 0x4E4 */ csXyz shape_angle;
/* 0x4EC */ cXyz mScale;
/* 0x4F8 */ cXyz mSpeed;
/* 0x4F8 */ cXyz speed;
/* 0x504 */ MtxP mCullMtx;
union {
struct {
@@ -132,7 +131,7 @@ public:
/* 0x520 */ f32 mCullSizeFar;
/* 0x524 */ J3DModel* field_0x524;
/* 0x528 */ dJntCol_c* mJntCol;
/* 0x52C */ f32 mSpeedF;
/* 0x52C */ f32 speedF;
/* 0x530 */ f32 mGravity;
/* 0x534 */ f32 mMaxFallSpeed;
/* 0x538 */ cXyz mEyePos;
@@ -148,7 +147,7 @@ public:
const cXyz& getPosition() const { return current.pos; }
const csXyz& getAngle() const { return current.angle; }
s8 getRoomNo() const { return current.mRoomNo; }
s8 getRoomNo() const { return current.roomNo; }
}; // Size: 0x568
STATIC_ASSERT(sizeof(fopAc_ac_c) == 0x568);
@@ -156,7 +155,7 @@ STATIC_ASSERT(sizeof(fopAc_ac_c) == 0x568);
class fopEn_enemy_c : public fopAc_ac_c {
public:
/* 80019404 */ bool initBallModel();
/* 800194FC */ int checkBallModelDraw();
/* 800194FC */ bool checkBallModelDraw();
/* 80019520 */ void setBallModelEffect(dKy_tevstr_c*);
/* 800196A0 */ void drawBallModel(dKy_tevstr_c*);
@@ -182,4 +181,6 @@ public:
s32 fopAc_IsActor(void* actor);
extern actor_method_class g_fopAc_Method;
#endif
+8 -8
View File
@@ -105,7 +105,7 @@ struct DOUBLE_POS {
};
inline s32 fopAcM_GetRoomNo(const fopAc_ac_c* pActor) {
return (s8)pActor->current.mRoomNo;
return (s8)pActor->current.roomNo;
}
inline u32 fopAcM_GetID(const void* pActor) {
@@ -195,7 +195,7 @@ inline cXyz& fopAcM_GetOldPosition_p(fopAc_ac_c* pActor) {
}
inline cXyz& fopAcM_GetSpeed_p(fopAc_ac_c* pActor) {
return pActor->mSpeed;
return pActor->speed;
}
inline csXyz& fopAcM_GetAngle_p(fopAc_ac_c* pActor) {
@@ -223,7 +223,7 @@ inline BOOL fopAcM_IsActor(void* actor) {
}
inline void fopAcM_SetRoomNo(fopAc_ac_c* actor, s8 roomNo) {
actor->current.mRoomNo = roomNo;
actor->current.roomNo = roomNo;
}
inline void fopAcM_setHookCarryNow(fopAc_ac_c* actor) {
@@ -235,7 +235,7 @@ inline void fopAcM_cancelHookCarryNow(fopAc_ac_c* actor) {
}
inline s8 fopAcM_GetHomeRoomNo(const fopAc_ac_c* pActor) {
return pActor->orig.mRoomNo;
return pActor->orig.roomNo;
}
inline void fopAcM_SetGravity(fopAc_ac_c* actor, f32 gravity) {
@@ -247,11 +247,11 @@ inline void fopAcM_SetMtx(fopAc_ac_c* actor, MtxP m) {
}
inline void fopAcM_SetSpeed(fopAc_ac_c* actor, f32 x, f32 y, f32 z) {
actor->mSpeed.set(x, y, z);
actor->speed.set(x, y, z);
}
inline void fopAcM_SetSpeedF(fopAc_ac_c* actor, f32 f) {
actor->mSpeedF = f;
actor->speedF = f;
}
inline void fopAcM_SetStatus(fopAc_ac_c* actor, u32 status) {
@@ -267,7 +267,7 @@ inline BOOL fopAcM_IsExecuting(unsigned int id) {
}
inline f32 fopAcM_GetSpeedF(const fopAc_ac_c* p_actor) {
return p_actor->mSpeedF;
return p_actor->speedF;
}
inline f32 fopAcM_GetGravity(const fopAc_ac_c* p_actor) {
@@ -279,7 +279,7 @@ inline f32 fopAcM_GetMaxFallSpeed(const fopAc_ac_c* p_actor) {
}
inline const cXyz& fopAcM_GetSpeed_p(const fopAc_ac_c* p_actor) {
return p_actor->mSpeed;
return p_actor->speed;
}
inline const cXyz& fopAcM_GetPosition_p(const fopAc_ac_c* p_actor) {
+1 -1
View File
@@ -43,7 +43,7 @@ public:
void setMove(f32 speedF, s16 param_1) {
fopAcM_SetParam(this, 1);
mSpeedF = speedF;
speedF = speedF;
field_0xa7a = param_1;
mCyl.OnAtSetBit();
}
@@ -1,6 +1,28 @@
#ifndef D_A_OBJ_CBOARD_H
#define D_A_OBJ_CBOARD_H
#include "dolphin/types.h"
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
class daObjBoard_c : public dBgS_MoveBgActor {
public:
/* 8057B958 */ void initBaseMtx();
/* 8057B978 */ void setBaseMtx();
/* 8057BA78 */ int create1st();
/* 8057BA70 */ virtual int CreateHeap();
/* 8057B9C8 */ virtual int Create();
/* 8057BB74 */ virtual int Execute(Mtx**);
/* 8057BCC0 */ virtual int Draw();
/* 8057BCC8 */ virtual int Delete();
u8 getNameArg() { return fopAcM_GetParamBit(this, 0, 4); }
u8 getArg0() { return fopAcM_GetParamBit(this, 4, 4); }
u8 getSwNo() { return fopAcM_GetParamBit(this, 8, 8); }
private:
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ Mtx field_0x5a8;
}; // Size: 0x5D8
#endif /* D_A_OBJ_CBOARD_H */
+10 -11
View File
@@ -168,7 +168,6 @@ extern "C" void _savegpr_29();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* __vt__8dCcD_Sph[36];
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
@@ -371,7 +370,7 @@ COMPILER_STRIP_GATE(0x80604064, &lit_3705);
// matches with literals
#ifdef NONMATCHING
static void h_wait(b_go_class* b_go) {
b_go->mSpeedF = 0.0f;
b_go->speedF = 0.0f;
switch (b_go->field_0x66c) {
case 0:
@@ -431,7 +430,7 @@ static void h_walk(b_go_class* b_go) {
break;
}
cLib_addCalc2(&b_go->mSpeedF, speed, 1.0f, 1.0f);
cLib_addCalc2(&b_go->speedF, speed, 1.0f, 1.0f);
cLib_addCalcAngleS2(&b_go->current.angle.y, b_go->mAngleToPlayer, 1, 0x200);
}
#else
@@ -449,7 +448,7 @@ static asm void h_walk(b_go_class* param_0) {
#ifdef NONMATCHING
static void h_attack(b_go_class* b_go) {
int frame = b_go->mpMorf->getFrame();
cLib_addCalc0(&b_go->mSpeedF, 1.0f, 1.0f);
cLib_addCalc0(&b_go->speedF, 1.0f, 1.0f);
switch (b_go->field_0x66c) {
case 0:
@@ -536,15 +535,15 @@ static void action(b_go_class* b_go) {
cXyz speed;
speed.x = 0.0f;
speed.y = 0.0f;
speed.z = b_go->mSpeedF;
speed.z = b_go->speedF;
cXyz newSpeed;
MtxPosition(&speed, &newSpeed);
b_go->mSpeed.x = newSpeed.x;
b_go->mSpeed.z = newSpeed.z;
b_go->speed.x = newSpeed.x;
b_go->speed.z = newSpeed.z;
PSVECAdd(&b_go->current.pos, &b_go->mSpeed, &b_go->current.pos);
b_go->mSpeed.y += b_go->mGravity;
PSVECAdd(&b_go->current.pos, &b_go->speed, &b_go->current.pos);
b_go->speed.y += b_go->mGravity;
b_go->mAcch.CrrPos(dComIfG_Bgsp());
}
@@ -581,7 +580,7 @@ static int daB_GO_Execute(b_go_class* b_go) {
mDoMtx_stack_c::YrotM(b_go->shape_angle.y);
mDoMtx_stack_c::scaleM((*(daB_GO_HIO_c*)l_HIO).mSmallSize, (*(daB_GO_HIO_c*)l_HIO).mSmallSize, (*(daB_GO_HIO_c*)l_HIO).mSmallSize);
mDoMtx_stack_c::copy(b_go->mpMorf->getModel()->getBaseTRMtx());
b_go->mpMorf->play(0, dComIfGp_getReverb(b_go->current.mRoomNo));
b_go->mpMorf->play(0, dComIfGp_getReverb(b_go->current.roomNo));
b_go->mpMorf->modelCalc();
return 1;
@@ -718,7 +717,7 @@ static int daB_GO_Create(fopAc_ac_c* i_actor) {
b_go->field_0x560 = 1000;
b_go->mAcch.Set(&b_go->current.pos, &b_go->next.pos, b_go, 1, &b_go->mAcchCir,
&b_go->mSpeed, NULL, NULL);
&b_go->speed, NULL, NULL);
b_go->mAcchCir.SetWall(100.0f, 300.0f);
b_go->mZ2Enemy.init(&b_go->current.pos, &b_go->mEyePos, 3, 1);
+4 -6
View File
@@ -9,8 +9,6 @@
#include "c/c_damagereaction.h"
#include "d/d_procname.h"
extern "C" extern leafdraw_method_class g_fopAc_Method;
/* 8061DCB8-8061DDB0 000078 00F8+00 1/1 0/0 0/0 .text nodeCallBack__FP8J3DJointi */
static int nodeCallBack(J3DJoint* i_joint, int param_1) {
if (param_1 == 0) {
@@ -83,7 +81,7 @@ static void dmcalc(b_oh2_class* i_this) {
f32 var_f30 = 0.0f;
f32 var_f29 = -50000.0f;
if (boss->mSpeedF < var_f31) {
if (boss->speedF < var_f31) {
var_f29 = boss->field_0x47a0 + 100.0f;
var_f30 = -20.0f;
}
@@ -122,7 +120,7 @@ static void dmcalc(b_oh2_class* i_this) {
int temp_r6 = 0;
for (int i = 0; i < 30; i++, temp_r6 += -10000) {
if (boss->mSpeedF > 1.0f) {
if (boss->speedF > 1.0f) {
i_this->field_0x5e8[i] = i_this->field_0x5e0 + 1.0f +
(i_this->field_0x5e0 * cM_ssin(i_this->field_0x5dc + temp_r6));
} else {
@@ -164,7 +162,7 @@ static void action(b_oh2_class* i_this) {
int roomNo = fopAcM_GetRoomNo(i_this);
i_this->mpMorf->play(0, dComIfGp_getReverb(roomNo));
if (boss->mSpeedF <= 1.0f) {
if (boss->speedF <= 1.0f) {
i_this->mpBrk->setFrame(0.0f);
i_this->mpBtk->setFrame(0.0f);
} else {
@@ -324,7 +322,7 @@ extern actor_process_profile_definition g_profile_B_OH2 = {
sizeof(b_oh2_class),
0,
0,
&g_fopAc_Method,
&g_fopAc_Method.base,
0x00DB,
0,
0,
+30 -32
View File
@@ -1,23 +1,11 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_alldie
//
/**
* d_a_alldie.cpp
* Activates a switch when all enemies are defeated
*/
#include "rel/d/a/d_a_alldie/d_a_alldie.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "d/com/d_com_inf_game.h"
//
// External References:
//
extern "C" extern void* g_fopAc_Method[8];
//
// Declarations:
//
/* 804D5818-804D5824 000078 000C+00 2/2 0/0 0/0 .text getEventNo__10daAlldie_cFv */
u8 daAlldie_c::getEventNo() {
return fopAcM_GetParam(this) >> 0x18;
@@ -212,23 +200,33 @@ static int daAlldie_Create(fopAc_ac_c* i_this) {
/* ############################################################################################## */
/* 804D5D24-804D5D44 -00001 0020+00 1/0 0/0 0/0 .data l_daAlldie_Method */
SECTION_DATA static void* l_daAlldie_Method[8] = {
(void*)daAlldie_Create,
(void*)daAlldie_Delete,
(void*)daAlldie_Execute,
(void*)daAlldie_IsDelete,
(void*)daAlldie_Draw,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daAlldie_Method = {
(process_method_func)daAlldie_Create,
(process_method_func)daAlldie_Delete,
(process_method_func)daAlldie_Execute,
(process_method_func)daAlldie_IsDelete,
(process_method_func)daAlldie_Draw,
};
/* 804D5D44-804D5D74 -00001 0030+00 0/0 0/0 1/0 .data g_profile_ALLDIE */
SECTION_DATA extern void* g_profile_ALLDIE[12] = {
(void*)0xFFFFFFFD, (void*)0x0002FFFD,
(void*)0x00140000, (void*)&g_fpcLf_Method,
(void*)0x00000574, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x01160000, (void*)&l_daAlldie_Method,
(void*)0x00044000, (void*)0x00060000,
extern actor_process_profile_definition g_profile_ALLDIE = {
-3,
2,
0xFFFD,
PROC_ALLDIE,
0,
&g_fpcLf_Method.mBase,
sizeof(daAlldie_c),
0,
0,
&g_fopAc_Method.base,
0x0116,
0,
0,
&l_daAlldie_Method,
0x00044000,
0,
6,
0,
0,
};
-1
View File
@@ -193,7 +193,6 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* __vt__22dPa_hermiteEcallBack_c[9];
extern "C" extern void* __vt__8dCcD_Sph[36];
extern "C" extern void* __vt__8dCcD_Cps[36];
+2 -3
View File
@@ -171,7 +171,6 @@ extern "C" void _restgpr_20();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* __vt__14J3DMaterialAnm[4];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mClipper__14mDoLib_clipper[92];
@@ -995,8 +994,8 @@ int daBg_c::create() {
fopAcM_OnCondition(this, 8);
}
orig.mRoomNo = roomNo;
current.mRoomNo = roomNo;
orig.roomNo = roomNo;
current.roomNo = roomNo;
JKRExpHeap* heap = dStage_roomControl_c::getMemoryBlock(roomNo);
if (heap != NULL) {
-1
View File
@@ -229,7 +229,6 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__8dCcD_Cps[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
-1
View File
@@ -169,7 +169,6 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
-1
View File
@@ -112,7 +112,6 @@ extern "C" void _savegpr_27();
extern "C" void _savegpr_29();
extern "C" void _restgpr_27();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* __vt__8dCcD_Cps[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_CpsAttr[25];
-1
View File
@@ -181,7 +181,6 @@ extern "C" void _restgpr_23();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* __vt__8dCcD_Sph[36];
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__8dCcD_Cps[36];
-1
View File
@@ -474,7 +474,6 @@ extern "C" u8 const m_handRightInSidePos__9daAlink_c[12];
extern "C" extern void* __vt__19mDoExt_3DlineMat1_c[5];
extern "C" extern void* __vt__28mDoExt_MtxCalcAnmBlendTblOld[11];
extern "C" extern void* __vt__25mDoExt_MtxCalcAnmBlendTbl[11];
extern "C" extern void* g_fopAc_Method[8];
extern "C" u8 m_typeFourData__8dPaPoF_c[60];
extern "C" u8 m_emitterFourData__8dPaPoF_c[60 + 28 /* padding */];
extern "C" extern void* __vt__8dCcD_Sph[36];
@@ -250,7 +250,6 @@ extern "C" void _restgpr_27();
extern "C" void __div2i();
extern "C" void sprintf();
extern "C" void strcmp();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_clearColor[4];
extern "C" extern u8 mBlureFlag__13mDoGph_gInf_c[4];
@@ -31,7 +31,6 @@ extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
+1 -3
View File
@@ -6,8 +6,6 @@
#include "rel/d/a/d_a_set_bgobj/d_a_set_bgobj.h"
#include "d/d_procname.h"
extern "C" extern leafdraw_method_class g_fopAc_Method;
/* 80485F00-80485F0C 000000 0009+03 1/1 0/0 0/0 .rodata l_specName */
static const char l_specName[] = "spec.dat";
@@ -78,7 +76,7 @@ extern actor_process_profile_definition g_profile_SET_BG_OBJ = {
sizeof(daSetBgObj_c),
0,
0,
&g_fopAc_Method,
&g_fopAc_Method.base,
0x02F2,
0,
0,
+24 -27
View File
@@ -4,17 +4,6 @@
*/
#include "rel/d/a/d_a_skip_2D/d_a_skip_2D.h"
#include "dol2asm.h"
//
// External References:
//
extern "C" extern void* g_fopAc_Method[8];
//
// Declarations:
//
/* 80D4D478-80D4D498 000078 0020+00 1/1 0/0 0/0 .text daSkip2D_createHeap__FP10fopAc_ac_c
*/
@@ -97,23 +86,31 @@ static int daSkip2D_IsDelete(void*) {
/* ############################################################################################## */
/* 80D4D6DC-80D4D6FC -00001 0020+00 1/0 0/0 0/0 .data daSkip2D_MethodTable */
SECTION_DATA static void* daSkip2D_MethodTable[8] = {
(void*)daSkip2D_Create,
(void*)daSkip2D_Delete,
(void*)daSkip2D_Execute,
(void*)daSkip2D_IsDelete,
(void*)daSkip2D_Draw,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class daSkip2D_MethodTable = {
(process_method_func)daSkip2D_Create, (process_method_func)daSkip2D_Delete,
(process_method_func)daSkip2D_Execute, (process_method_func)daSkip2D_IsDelete,
(process_method_func)daSkip2D_Draw,
};
/* 80D4D6FC-80D4D72C -00001 0030+00 0/0 0/0 1/0 .data g_profile_SKIP2D */
SECTION_DATA extern void* g_profile_SKIP2D[12] = {
(void*)0xFFFFFFFD, (void*)0x0003FFFD,
(void*)0x005B0000, (void*)&g_fpcLf_Method,
(void*)0x00000578, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x03040000, (void*)&daSkip2D_MethodTable,
(void*)0x00040000, (void*)NULL,
extern actor_process_profile_definition g_profile_SKIP2D = {
-3,
3,
0xFFFD,
PROC_SKIP2D,
0000,
&g_fpcLf_Method.mBase,
sizeof(daSkip2D_c),
0,
0,
&g_fopAc_Method.base,
0x0304,
0,
0,
&daSkip2D_MethodTable,
0x00040000,
0,
0,
0,
0,
};
-1
View File
@@ -62,7 +62,6 @@ extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc();
extern "C" void endCheck__16dEvent_manager_cFs();
extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void __ptmf_scall();
extern "C" extern void* g_fopAc_Method[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 data_805A1F28[4];
+28 -32
View File
@@ -1,23 +1,11 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tboxSw
//
/**
* d_a_tboxSw.cpp
* Turns on a switch when a treasure chest is opened
*/
#include "rel/d/a/d_a_tboxSw/d_a_tboxSw.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "d/com/d_com_inf_game.h"
//
// External References:
//
extern "C" extern void* g_fopAc_Method[8];
//
// Declarations:
//
/* 80D66858-80D66860 000078 0008+00 1/1 0/0 0/0 .text Create__10daTboxSw_cFv */
int daTboxSw_c::Create() {
return 1;
@@ -79,23 +67,31 @@ static int daTboxSw_Create(fopAc_ac_c* i_this) {
/* ############################################################################################## */
/* 80D669D0-80D669F0 -00001 0020+00 1/0 0/0 0/0 .data l_daTboxSw_Method */
SECTION_DATA static void* l_daTboxSw_Method[8] = {
(void*)daTboxSw_Create,
(void*)daTboxSw_Delete,
(void*)daTboxSw_Execute,
(void*)NULL,
(void*)daTboxSw_Draw,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daTboxSw_Method = {
(process_method_func)daTboxSw_Create, (process_method_func)daTboxSw_Delete,
(process_method_func)daTboxSw_Execute, (process_method_func)NULL,
(process_method_func)daTboxSw_Draw,
};
/* 80D669F0-80D66A20 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TBOX_SW */
SECTION_DATA extern void* g_profile_TBOX_SW[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x016E0000, (void*)&g_fpcLf_Method,
(void*)0x00000568, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x020E0000, (void*)&l_daTboxSw_Method,
(void*)0x00040100, (void*)0x000E0000,
extern actor_process_profile_definition g_profile_TBOX_SW = {
-3,
7,
0xFFFD,
PROC_TBOX_SW,
0000,
&g_fpcLf_Method.mBase,
sizeof(daTboxSw_c),
0,
0,
&g_fopAc_Method.base,
0x020E,
0,
0,
&l_daTboxSw_Method,
0x00040100,
0,
14,
0,
0,
};
-1
View File
@@ -351,7 +351,6 @@ extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__19mDoExt_3DlineMat1_c[5];
extern "C" extern void* g_fopAc_Method[8];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern void* __vt__8dCcD_Sph[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
+38 -53
View File
@@ -1,64 +1,41 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_kytag05
//
/**
* d_a_kytag05.cpp
*
*/
#include "rel/d/a/kytag/d_a_kytag05/d_a_kytag05.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "d/d_procname.h"
#include "f_op/f_op_actor_mng.h"
//
// Forward References:
//
extern "C" static bool daKytag05_Draw__FP13kytag05_class();
extern "C" static bool daKytag05_Execute__FP13kytag05_class();
extern "C" static bool daKytag05_IsDelete__FP13kytag05_class();
extern "C" static bool daKytag05_Delete__FP13kytag05_class();
extern "C" static void daKytag05_Create__FP10fopAc_ac_c();
extern "C" extern void* g_profile_KYTAG05[12];
//
// External References:
//
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" extern void* g_fopAc_Method[8];
//
// Declarations:
//
/* 80528A58-80528A60 000078 0008+00 1/0 0/0 0/0 .text daKytag05_Draw__FP13kytag05_class
*/
static int daKytag05_Draw(kytag05_class* ac) {
static int daKytag05_Draw(kytag05_class* i_this) {
return 1;
}
/* 80528A60-80528A68 000080 0008+00 1/0 0/0 0/0 .text daKytag05_Execute__FP13kytag05_class */
static int daKytag05_Execute(kytag05_class* ac) {
static int daKytag05_Execute(kytag05_class* i_this) {
return 1;
}
/* 80528A68-80528A70 000088 0008+00 1/0 0/0 0/0 .text daKytag05_IsDelete__FP13kytag05_class */
static int daKytag05_IsDelete(kytag05_class* ac) {
static int daKytag05_IsDelete(kytag05_class* i_this) {
return 1;
}
/* 80528A70-80528A78 000090 0008+00 1/0 0/0 0/0 .text daKytag05_Delete__FP13kytag05_class
*/
static int daKytag05_Delete(kytag05_class* ac) {
static int daKytag05_Delete(kytag05_class* i_this) {
return 1;
}
/* 80528A78-80528B10 000098 0098+00 1/0 0/0 0/0 .text daKytag05_Create__FP10fopAc_ac_c */
static int daKytag05_Create(fopAc_ac_c* ac) {
if (!fopAcM_CheckCondition(ac, 8)) {
new (ac) kytag05_class();
fopAcM_OnCondition(ac, 8);
static int daKytag05_Create(fopAc_ac_c* i_this) {
if (!fopAcM_CheckCondition(i_this, 8)) {
new (i_this) kytag05_class();
fopAcM_OnCondition(i_this, 8);
}
kytag05_class* tag = static_cast<kytag05_class*>(ac);
kytag05_class* tag = static_cast<kytag05_class*>(i_this);
tag->field_0x56c = fopAcM_GetParam(tag) >> 8;
tag->mSceneListID = fopAcM_GetParam(tag);
@@ -73,23 +50,31 @@ static int daKytag05_Create(fopAc_ac_c* ac) {
/* ############################################################################################## */
/* 80528B1C-80528B3C -00001 0020+00 1/0 0/0 0/0 .data l_daKytag05_Method */
SECTION_DATA static void* l_daKytag05_Method[8] = {
(void*)daKytag05_Create__FP10fopAc_ac_c,
(void*)daKytag05_Delete__FP13kytag05_class,
(void*)daKytag05_Execute__FP13kytag05_class,
(void*)daKytag05_IsDelete__FP13kytag05_class,
(void*)daKytag05_Draw__FP13kytag05_class,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daKytag05_Method = {
(process_method_func)daKytag05_Create, (process_method_func)daKytag05_Delete,
(process_method_func)daKytag05_Execute, (process_method_func)daKytag05_IsDelete,
(process_method_func)daKytag05_Draw,
};
/* 80528B3C-80528B6C -00001 0030+00 0/0 0/0 1/0 .data g_profile_KYTAG05 */
SECTION_DATA extern void* g_profile_KYTAG05[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x02AF0000, (void*)&g_fpcLf_Method,
(void*)0x00000570, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x00630000, (void*)&l_daKytag05_Method,
(void*)0x00044000, (void*)NULL,
extern actor_process_profile_definition g_profile_KYTAG05 = {
-3,
7,
0xFFFD,
PROC_KYTAG05,
0000,
&g_fpcLf_Method.mBase,
sizeof(kytag05_class),
0,
0,
&g_fopAc_Method.base,
0x0063,
0,
0,
&l_daKytag05_Method,
0x00044000,
0,
0,
0,
0,
};
+28 -30
View File
@@ -6,17 +6,6 @@
#include "rel/d/a/kytag/d_a_kytag14/d_a_kytag14.h"
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
//
// External References:
//
extern "C" extern void* g_fopAc_Method[8];
//
// Declarations:
//
/* 80529998-805299A0 000078 0008+00 1/0 0/0 0/0 .text daKytag14_Draw__FP13kytag14_class
*/
@@ -69,7 +58,8 @@ static int daKytag14_Execute(kytag14_class* i_this) {
}
}
if (event1_set == true && event2_unset == true && switch1_set == true && switch2_unset == true) {
if (event1_set == true && event2_unset == true && switch1_set == true && switch2_unset == true)
{
g_dComIfG_gameInfo.info.getPlayer().getPlayerReturnPlace().set(
dComIfGp_getStartStageName(), i_this->mSaveRoomNo, i_this->mSavePoint);
}
@@ -103,8 +93,8 @@ static int daKytag14_Create(fopAc_ac_c* i_this) {
kytag->mSwitchNo1 = kytag->current.angle.z;
kytag->mSwitchNo2 = (kytag->current.angle.z >> 8) & 0xFF;
if (kytag->orig.mRoomNo != -1) {
kytag->mSaveRoomNo = kytag->orig.mRoomNo;
if (kytag->orig.roomNo != -1) {
kytag->mSaveRoomNo = kytag->orig.roomNo;
}
return cPhs_COMPLEATE_e;
@@ -112,23 +102,31 @@ static int daKytag14_Create(fopAc_ac_c* i_this) {
/* ############################################################################################## */
/* 80529BE8-80529C08 -00001 0020+00 1/0 0/0 0/0 .data l_daKytag14_Method */
SECTION_DATA static void* l_daKytag14_Method[8] = {
(void*)daKytag14_Create,
(void*)daKytag14_Delete,
(void*)daKytag14_Execute,
(void*)daKytag14_IsDelete,
(void*)daKytag14_Draw,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daKytag14_Method = {
(process_method_func)daKytag14_Create, (process_method_func)daKytag14_Delete,
(process_method_func)daKytag14_Execute, (process_method_func)daKytag14_IsDelete,
(process_method_func)daKytag14_Draw,
};
/* 80529C08-80529C38 -00001 0030+00 0/0 0/0 1/0 .data g_profile_KYTAG14 */
SECTION_DATA extern void* g_profile_KYTAG14[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x02B80000, (void*)&g_fpcLf_Method,
(void*)0x00000570, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x006C0000, (void*)&l_daKytag14_Method,
(void*)0x00044000, (void*)NULL,
extern actor_process_profile_definition g_profile_KYTAG14 = {
-3,
7,
0xFFFD,
PROC_KYTAG14,
0,
&g_fpcLf_Method.mBase,
sizeof(kytag14_class),
0,
0,
&g_fopAc_Method.base,
0x006C,
0,
0,
&l_daKytag14_Method,
0x00044000,
0,
0,
0,
0,
};
+1 -2
View File
@@ -98,7 +98,6 @@ extern "C" void MtxPosition__FP4cXyzP4cXyz();
extern "C" void __dl__FPv();
extern "C" void _savegpr_28();
extern "C" void _restgpr_28();
extern "C" extern void* g_fopAc_Method[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mCurrentMtx__6J3DSys[48];
extern "C" u8 sincosTable___5JMath[65536];
@@ -446,7 +445,7 @@ static void npc_tr_move(npc_tr_class* npc_tr) {
}
cLib_addCalc2(&npc_tr->field_0x5f8, var_f1_2, 0.5f, 1000.0f);
cLib_addCalc2(&npc_tr->mSpeedF, npc_tr->field_0x5e4 * l_HIO.field_0xc, 1.0f, var_f31);
cLib_addCalc2(&npc_tr->speedF, npc_tr->field_0x5e4 * l_HIO.field_0xc, 1.0f, var_f31);
}
#else
#pragma push
@@ -413,7 +413,6 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern u8 ZeroQuat[16];
extern "C" extern void* __vt__8dCcD_Sph[36];
extern "C" extern void* __vt__8dCcD_Cyl[36];
@@ -184,7 +184,6 @@ extern "C" void _savegpr_25();
extern "C" void _savegpr_29();
extern "C" void _restgpr_25();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* __vt__4dBgW[65];
extern "C" u8 now__14mDoMtx_stack_c[48];
+149 -286
View File
@@ -1,335 +1,198 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_obj_cboard
//
/**
* d_a_obj_cboard.cpp
* Clear (Invisible) Wall
*/
#include "rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct csXyz {};
struct cXyz {};
struct mDoMtx_stack_c {
/* 8000CD64 */ void transS(cXyz const&);
/* 8000CE70 */ void scaleM(cXyz const&);
/* 8000CF44 */ void ZXYrotM(csXyz const&);
static u8 now[48];
};
struct fopAc_ac_c {};
struct daObjBoard_c {
/* 8057B958 */ void initBaseMtx();
/* 8057B978 */ void setBaseMtx();
/* 8057B9C8 */ void Create();
/* 8057BA70 */ bool CreateHeap();
/* 8057BA78 */ void create1st();
/* 8057BB74 */ void Execute(f32 (**)[3][4]);
/* 8057BCC0 */ bool Draw();
/* 8057BCC8 */ void Delete();
};
struct dSv_info_c {
/* 80035360 */ void isSwitch(int, int) const;
};
struct dRes_control_c {
/* 8003C6B8 */ void getObjectResName2Index(char const*, char const*);
};
struct dBgW_Base {};
struct dBgW {};
struct cBgS_PolyInfo {};
struct dBgS_MoveBgActor {
/* 80078624 */ dBgS_MoveBgActor();
/* 800786B0 */ bool IsDelete();
/* 800786B8 */ bool ToFore();
/* 800786C0 */ bool ToBack();
/* 800787BC */ void MoveBGCreate(char const*, int,
void (*)(dBgW*, void*, cBgS_PolyInfo const&, bool, cXyz*,
csXyz*, csXyz*),
u32, f32 (*)[3][4]);
/* 800788DC */ void MoveBGDelete();
/* 80078950 */ void MoveBGExecute();
};
struct dBgS {
/* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*);
};
struct cBgW_BgId {
/* 802681D4 */ void ChkUsed() const;
};
struct cBgS {
/* 80074250 */ void Release(dBgW_Base*);
};
//
// Forward References:
//
extern "C" void initBaseMtx__12daObjBoard_cFv();
extern "C" void setBaseMtx__12daObjBoard_cFv();
extern "C" void Create__12daObjBoard_cFv();
extern "C" bool CreateHeap__12daObjBoard_cFv();
extern "C" void create1st__12daObjBoard_cFv();
extern "C" void Execute__12daObjBoard_cFPPA3_A4_f();
extern "C" bool Draw__12daObjBoard_cFv();
extern "C" void Delete__12daObjBoard_cFv();
extern "C" static void daObjBoard_create1st__FP12daObjBoard_c();
extern "C" static void daObjBoard_MoveBGDelete__FP12daObjBoard_c();
extern "C" static void daObjBoard_MoveBGExecute__FP12daObjBoard_c();
extern "C" static void daObjBoard_MoveBGDraw__FP12daObjBoard_c();
extern "C" extern char const* const d_a_obj_cboard__stringBase0;
//
// External References:
//
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
extern "C" void scaleM__14mDoMtx_stack_cFRC4cXyz();
extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz();
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void getObjectResName2Index__14dRes_control_cFPCcPCc();
extern "C" void Release__4cBgSFP9dBgW_Base();
extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c();
extern "C" void __ct__16dBgS_MoveBgActorFv();
extern "C" bool IsDelete__16dBgS_MoveBgActorFv();
extern "C" bool ToFore__16dBgS_MoveBgActorFv();
extern "C" bool ToBack__16dBgS_MoveBgActorFv();
extern "C" void
MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f();
extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv();
extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv();
extern "C" void ChkUsed__9cBgW_BgIdCFv();
extern "C" void PSMTXCopy();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
//
// Declarations:
//
/* 8057B958-8057B978 000078 0020+00 1/1 0/0 0/0 .text initBaseMtx__12daObjBoard_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjBoard_c::initBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/initBaseMtx__12daObjBoard_cFv.s"
void daObjBoard_c::initBaseMtx() {
setBaseMtx();
}
#pragma pop
/* 8057B978-8057B9C8 000098 0050+00 1/1 0/0 0/0 .text setBaseMtx__12daObjBoard_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjBoard_c::setBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/setBaseMtx__12daObjBoard_cFv.s"
void daObjBoard_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(shape_angle);
mDoMtx_stack_c::scaleM(mScale);
PSMTXCopy(mDoMtx_stack_c::get(), field_0x56c);
}
#pragma pop
/* ############################################################################################## */
/* 8057BDD0-8057BDD4 000000 0004+00 1/1 0/0 0/0 .rodata @3636 */
SECTION_RODATA static f32 const lit_3636 = 10.0f;
COMPILER_STRIP_GATE(0x8057BDD0, &lit_3636);
/* 8057BDD4-8057BDD4 000004 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8057BDD4 = "Obj_Board";
SECTION_DEAD static char const* const stringBase_8057BDDE = "ClearB00.dzb";
SECTION_DEAD static char const* const stringBase_8057BDEB = "ClearB01.dzb";
SECTION_DEAD static char const* const stringBase_8057BDF8 = "ClearB02.dzb";
SECTION_DEAD static char const* const stringBase_8057BE05 = "ClearB03.dzb";
SECTION_DEAD static char const* const stringBase_8057BE12 = "ClearB04.dzb";
#pragma pop
/* 8057BE20-8057BE24 -00001 0004+00 2/2 0/0 0/0 .data l_arcName */
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_cboard__stringBase0;
static char* l_arcName = "Obj_Board";
/* 8057BE24-8057BE38 -00001 0014+00 1/1 0/0 0/0 .data l_dzbName */
SECTION_DATA static void* l_dzbName[5] = {
(void*)(((char*)&d_a_obj_cboard__stringBase0) + 0xA),
(void*)(((char*)&d_a_obj_cboard__stringBase0) + 0x17),
(void*)(((char*)&d_a_obj_cboard__stringBase0) + 0x24),
(void*)(((char*)&d_a_obj_cboard__stringBase0) + 0x31),
(void*)(((char*)&d_a_obj_cboard__stringBase0) + 0x3E),
static char* l_dzbName[5] = {
"ClearB00.dzb", "ClearB01.dzb", "ClearB02.dzb", "ClearB03.dzb", "ClearB04.dzb",
};
/* 8057BE38-8057BE50 000018 0018+00 1/1 0/0 0/0 .data l_cull_box */
SECTION_DATA static u8 l_cull_box[24] = {
0xC2, 0xC8, 0x00, 0x00, 0xC1, 0x20, 0x00, 0x00, 0xC2, 0xC8, 0x00, 0x00,
0x42, 0xC8, 0x00, 0x00, 0x41, 0x20, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00,
static Vec l_cull_box[2] = {
{-100.0f, -10.0f, -100.0f},
{100.0f, 10.0f, 100.0f},
};
/* 8057B9C8-8057BA70 0000E8 00A8+00 1/0 0/0 0/0 .text Create__12daObjBoard_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjBoard_c::Create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/Create__12daObjBoard_cFv.s"
int daObjBoard_c::Create() {
if (getNameArg() == 1) {
mScale.x *= 10.0f;
mScale.z *= 10.0f;
}
initBaseMtx();
fopAcM_SetMtx(this, field_0x5a8);
fopAcM_setCullSizeBox(this, l_cull_box[0].x * mScale.x, l_cull_box[0].y,
l_cull_box[0].z * mScale.z, l_cull_box[1].x * mScale.x, l_cull_box[1].y,
l_cull_box[1].z * mScale.z);
return 1;
}
#pragma pop
/* 8057BA70-8057BA78 000190 0008+00 1/0 0/0 0/0 .text CreateHeap__12daObjBoard_cFv */
bool daObjBoard_c::CreateHeap() {
return true;
int daObjBoard_c::CreateHeap() {
return 1;
}
/* 8057BA78-8057BB74 000198 00FC+00 1/1 0/0 0/0 .text create1st__12daObjBoard_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjBoard_c::create1st() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/create1st__12daObjBoard_cFv.s"
}
#pragma pop
int daObjBoard_c::create1st() {
int ret = dComIfG_resLoad(&mPhase, l_arcName);
if (ret == cPhs_COMPLEATE_e) {
int dzb_no;
/* ############################################################################################## */
/* 8057BE50-8057BE90 -00001 0040+00 1/1 0/0 0/0 .data @3712 */
SECTION_DATA static void* lit_3712[16] = {
(void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0xB8),
(void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x44),
(void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0xB8),
(void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x44),
(void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0xB8),
(void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x44),
(void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0xB8),
(void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x44),
(void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0xB8),
(void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x128),
(void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x128),
(void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x128),
(void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x128),
(void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x128),
(void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x128),
(void*)(((char*)Execute__12daObjBoard_cFPPA3_A4_f) + 0x44),
};
switch (getArg0()) {
case 1:
case 2:
dzb_no = 1;
break;
case 3:
case 4:
dzb_no = 2;
break;
case 5:
case 6:
case 7:
case 8:
dzb_no = 4;
break;
default:
dzb_no = 0;
break;
}
int dzb_id = dComIfG_getObjctResName2Index(l_arcName, l_dzbName[dzb_no]);
ret = MoveBGCreate(l_arcName, dzb_id, NULL, 0x200, NULL);
if (ret == cPhs_ERROR_e) {
return ret;
}
}
return ret;
}
/* 8057BB74-8057BCC0 000294 014C+00 2/0 0/0 0/0 .text Execute__12daObjBoard_cFPPA3_A4_f
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjBoard_c::Execute(f32 (**param_0)[3][4]) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/Execute__12daObjBoard_cFPPA3_A4_f.s"
int daObjBoard_c::Execute(Mtx** param_0) {
switch (getArg0()) {
case 1:
case 3:
case 5:
case 7:
case 15:
if (i_fopAcM_isSwitch(this, getSwNo())) {
if (!field_0x568->ChkUsed()) {
dComIfG_Bgsp().Regist(field_0x568, this);
}
} else {
if (field_0x568->ChkUsed()) {
dComIfG_Bgsp().Release(field_0x568);
}
}
break;
case 0:
case 2:
case 4:
case 6:
case 8:
if (i_fopAcM_isSwitch(this, getSwNo())) {
if (field_0x568->ChkUsed()) {
dComIfG_Bgsp().Release(field_0x568);
}
} else {
if (!field_0x568->ChkUsed()) {
dComIfG_Bgsp().Regist(field_0x568, this);
}
}
break;
}
*param_0 = &field_0x56c;
return 1;
}
#pragma pop
/* 8057BCC0-8057BCC8 0003E0 0008+00 1/0 0/0 0/0 .text Draw__12daObjBoard_cFv */
bool daObjBoard_c::Draw() {
return true;
int daObjBoard_c::Draw() {
return 1;
}
/* 8057BCC8-8057BCFC 0003E8 0034+00 1/0 0/0 0/0 .text Delete__12daObjBoard_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjBoard_c::Delete() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/Delete__12daObjBoard_cFv.s"
int daObjBoard_c::Delete() {
dComIfG_resDelete(&mPhase, l_arcName);
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 8057BE90-8057BEB0 -00001 0020+00 1/0 0/0 0/0 .data daObjBoard_METHODS */
SECTION_DATA static void* daObjBoard_METHODS[8] = {
(void*)daObjBoard_create1st__FP12daObjBoard_c,
(void*)daObjBoard_MoveBGDelete__FP12daObjBoard_c,
(void*)daObjBoard_MoveBGExecute__FP12daObjBoard_c,
(void*)NULL,
(void*)daObjBoard_MoveBGDraw__FP12daObjBoard_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 8057BEB0-8057BEE0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Cboard */
SECTION_DATA extern void* g_profile_Obj_Cboard[12] = {
(void*)0xFFFFFFFD, (void*)0x0003FFFD,
(void*)0x00630000, (void*)&g_fpcLf_Method,
(void*)0x000005D8, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x01C50000, (void*)&daObjBoard_METHODS,
(void*)0x00040000, (void*)0x000E0000,
};
/* 8057BEE0-8057BF08 0000C0 0028+00 1/1 0/0 0/0 .data __vt__12daObjBoard_c */
SECTION_DATA extern void* __vt__12daObjBoard_c[10] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)CreateHeap__12daObjBoard_cFv,
(void*)Create__12daObjBoard_cFv,
(void*)Execute__12daObjBoard_cFPPA3_A4_f,
(void*)Draw__12daObjBoard_cFv,
(void*)Delete__12daObjBoard_cFv,
(void*)IsDelete__16dBgS_MoveBgActorFv,
(void*)ToFore__16dBgS_MoveBgActorFv,
(void*)ToBack__16dBgS_MoveBgActorFv,
};
/* 8057BCFC-8057BD5C 00041C 0060+00 1/0 0/0 0/0 .text daObjBoard_create1st__FP12daObjBoard_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjBoard_create1st(daObjBoard_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_create1st__FP12daObjBoard_c.s"
static int daObjBoard_create1st(daObjBoard_c* i_this) {
if (!fopAcM_CheckCondition(i_this, 8)) {
new (i_this) daObjBoard_c();
fopAcM_OnCondition(i_this, 8);
}
return i_this->create1st();
}
#pragma pop
/* 8057BD5C-8057BD7C 00047C 0020+00 1/0 0/0 0/0 .text daObjBoard_MoveBGDelete__FP12daObjBoard_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjBoard_MoveBGDelete(daObjBoard_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_MoveBGDelete__FP12daObjBoard_c.s"
static int daObjBoard_MoveBGDelete(daObjBoard_c* i_this) {
return i_this->MoveBGDelete();
}
#pragma pop
/* 8057BD7C-8057BD9C 00049C 0020+00 1/0 0/0 0/0 .text daObjBoard_MoveBGExecute__FP12daObjBoard_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjBoard_MoveBGExecute(daObjBoard_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_MoveBGExecute__FP12daObjBoard_c.s"
static int daObjBoard_MoveBGExecute(daObjBoard_c* i_this) {
return i_this->MoveBGExecute();
}
#pragma pop
/* 8057BD9C-8057BDC8 0004BC 002C+00 1/0 0/0 0/0 .text daObjBoard_MoveBGDraw__FP12daObjBoard_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjBoard_MoveBGDraw(daObjBoard_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_cboard/d_a_obj_cboard/daObjBoard_MoveBGDraw__FP12daObjBoard_c.s"
static int daObjBoard_MoveBGDraw(daObjBoard_c* i_this) {
return i_this->Draw();
}
#pragma pop
/* 8057BDD4-8057BDD4 000004 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* ############################################################################################## */
/* 8057BE90-8057BEB0 -00001 0020+00 1/0 0/0 0/0 .data daObjBoard_METHODS */
static actor_method_class daObjBoard_METHODS = {
(process_method_func)daObjBoard_create1st, (process_method_func)daObjBoard_MoveBGDelete,
(process_method_func)daObjBoard_MoveBGExecute, (process_method_func)NULL,
(process_method_func)daObjBoard_MoveBGDraw,
};
/* 8057BEB0-8057BEE0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Cboard */
extern actor_process_profile_definition g_profile_Obj_Cboard = {
-3,
3,
-3,
PROC_Obj_Cboard,
0,
&g_fpcLf_Method.mBase,
sizeof(daObjBoard_c),
0,
0,
&g_fopAc_Method.base,
0x01C5,
0,
0,
&daObjBoard_METHODS,
0x00040000,
0,
14,
0,
0,
};
@@ -6,8 +6,6 @@
#include "rel/d/a/obj/d_a_obj_enemy_create/d_a_obj_enemy_create.h"
#include "d/d_procname.h"
extern "C" extern leafdraw_method_class g_fopAc_Method;
/* 80BE3178-80BE3198 000078 0020+00 1/0 0/0 0/0 .text daObjE_CREATE_Create__FP10fopAc_ac_c */
static int daObjE_CREATE_Create(fopAc_ac_c* i_this) {
return static_cast<daObjE_CREATE_c*>(i_this)->create();
@@ -284,7 +282,7 @@ extern actor_process_profile_definition g_profile_Obj_E_CREATE = {
sizeof(daObjE_CREATE_c),
0,
0,
&g_fopAc_Method,
&g_fopAc_Method.base,
0x01CA,
0,
0,
+1 -2
View File
@@ -66,7 +66,6 @@ extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern leafdraw_method_class g_fopAc_Method;
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
@@ -450,7 +449,7 @@ extern actor_process_profile_definition g_profile_OBJ_WEB0 = {
sizeof(obj_web0_class),
0,
0,
&g_fopAc_Method,
&g_fopAc_Method.base,
0x002F,
0,
0,
+1 -3
View File
@@ -8,8 +8,6 @@
#include "SSystem/SComponent/c_math.h"
#include "d/d_procname.h"
extern "C" extern leafdraw_method_class g_fopAc_Method;
/* 80D353AC-80D353C4 0000EC 0018+00 1/1 0/0 0/0 .text __ct__16daObj_Web1_HIO_cFv */
daObj_Web1_HIO_c::daObj_Web1_HIO_c() {
field_0x4 = -1;
@@ -341,7 +339,7 @@ extern actor_process_profile_definition g_profile_OBJ_WEB1 = {
sizeof(obj_web1_class),
0,
0,
&g_fopAc_Method,
&g_fopAc_Method.base,
0x0030,
0,
0,
@@ -109,7 +109,6 @@ extern "C" void _savegpr_29();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_CylAttr[25];
@@ -255,7 +255,6 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
+60 -91
View File
@@ -1,39 +1,9 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_ajnot
//
/**
* d_a_tag_ajnot.cpp
*
*/
#include "rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Forward References:
//
extern "C" void create__12daTagAJnot_cFv();
extern "C" static void daTagAJnot_Create__FP10fopAc_ac_c();
extern "C" void __dt__12daTagAJnot_cFv();
extern "C" static void daTagAJnot_Delete__FP12daTagAJnot_c();
extern "C" void execute__12daTagAJnot_cFv();
extern "C" static void daTagAJnot_Execute__FP12daTagAJnot_c();
extern "C" static bool daTagAJnot_Draw__FP12daTagAJnot_c();
extern "C" extern void* g_profile_Tag_AJnot[12];
//
// External References:
//
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void __dl__FPv();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
//
// Declarations:
//
/* 805A2658-805A26A8 000078 0050+00 1/1 0/0 0/0 .text create__12daTagAJnot_cFv */
int daTagAJnot_c::create() {
@@ -41,14 +11,14 @@ int daTagAJnot_c::create() {
new (this) daTagAJnot_c();
fopAcM_OnCondition(this, 8);
}
return 4;
return cPhs_COMPLEATE_e;
}
/* 805A26A8-805A26C8 0000C8 0020+00 1/0 0/0 0/0 .text daTagAJnot_Create__FP10fopAc_ac_c
*/
static int daTagAJnot_Create(fopAc_ac_c* ajnot) {
return static_cast<daTagAJnot_c*>(ajnot)->create();
static int daTagAJnot_Create(fopAc_ac_c* i_this) {
return static_cast<daTagAJnot_c*>(i_this)->create();
}
/* 805A26C8-805A271C 0000E8 0054+00 1/1 0/0 0/0 .text __dt__12daTagAJnot_cFv */
@@ -56,74 +26,73 @@ daTagAJnot_c::~daTagAJnot_c() {}
/* 805A271C-805A2744 00013C 0028+00 1/0 0/0 0/0 .text daTagAJnot_Delete__FP12daTagAJnot_c
*/
static int daTagAJnot_Delete(daTagAJnot_c* ajnot) {
ajnot->~daTagAJnot_c();
static int daTagAJnot_Delete(daTagAJnot_c* i_this) {
i_this->~daTagAJnot_c();
return 1;
}
/* ############################################################################################## */
/* 805A2880-805A2884 000000 0004+00 1/1 0/0 0/0 .rodata @3713 */
SECTION_RODATA static u8 const lit_3713[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x805A2880, &lit_3713);
/* 805A2884-805A2888 000004 0004+00 0/1 0/0 0/0 .rodata @3714 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3714 = 100.0f;
COMPILER_STRIP_GATE(0x805A2884, &lit_3714);
#pragma pop
/* 805A2888-805A288C 000008 0004+00 0/1 0/0 0/0 .rodata @3715 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3715 = 10000.0f;
COMPILER_STRIP_GATE(0x805A2888, &lit_3715);
#pragma pop
/* 805A2744-805A2850 000164 010C+00 1/1 0/0 0/0 .text execute__12daTagAJnot_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daTagAJnot_c::execute() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_ajnot/d_a_tag_ajnot/execute__12daTagAJnot_cFv.s"
int daTagAJnot_c::execute() {
daPy_py_c* player = daPy_getPlayerActorClass();
f32 y_dist_to_player = player->current.pos.y - current.pos.y;
if (y_dist_to_player >= 0.0f && y_dist_to_player <= mScale.y * 100.0f &&
player->current.pos.abs2XZ(current.pos) <= mScale.x * (10000.0f * mScale.x))
{
int prm = (fopAcM_GetParam(this) & 0xF);
if (prm == 1) {
player->onForceAutoJump();
} else {
player->onNotAutoJump();
if (prm == 15) {
player->onNotHang();
}
}
}
return 1;
}
#pragma pop
/* 805A2850-805A2870 000270 0020+00 1/0 0/0 0/0 .text daTagAJnot_Execute__FP12daTagAJnot_c */
static int daTagAJnot_Execute(daTagAJnot_c* ajnot) {
return ajnot->execute();
static int daTagAJnot_Execute(daTagAJnot_c* i_this) {
return i_this->execute();
}
/* 805A2870-805A2878 000290 0008+00 1/0 0/0 0/0 .text daTagAJnot_Draw__FP12daTagAJnot_c
*/
static bool daTagAJnot_Draw(daTagAJnot_c* ajnot) {
return true;
static int daTagAJnot_Draw(daTagAJnot_c* i_this) {
return 1;
}
/* ############################################################################################## */
/* 805A288C-805A28AC -00001 0020+00 1/0 0/0 0/0 .data l_daTagAJnot_Method */
SECTION_DATA static void* l_daTagAJnot_Method[8] = {
(void*)daTagAJnot_Create__FP10fopAc_ac_c,
(void*)daTagAJnot_Delete__FP12daTagAJnot_c,
(void*)daTagAJnot_Execute__FP12daTagAJnot_c,
(void*)NULL,
(void*)daTagAJnot_Draw__FP12daTagAJnot_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daTagAJnot_Method = {
(process_method_func)daTagAJnot_Create, (process_method_func)daTagAJnot_Delete,
(process_method_func)daTagAJnot_Execute, (process_method_func)NULL,
(process_method_func)daTagAJnot_Draw,
};
/* 805A28AC-805A28DC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_AJnot */
SECTION_DATA extern void* g_profile_Tag_AJnot[12] = {
(void*)0xFFFFFFFD, (void*)0x0003FFFD,
(void*)0x00EB0000, (void*)&g_fpcLf_Method,
(void*)0x00000568, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x01B40000, (void*)&l_daTagAJnot_Method,
(void*)0x00044000, (void*)0x030E0000,
extern actor_process_profile_definition g_profile_Tag_AJnot = {
-3,
3,
0xFFFD,
PROC_Tag_AJnot,
0,
&g_fpcLf_Method.mBase,
sizeof(daTagAJnot_c),
0,
0,
&g_fopAc_Method.base,
0x01B4,
0,
0,
&l_daTagAJnot_Method,
0x00044000,
3,
14,
0,
0,
};
+37 -46
View File
@@ -1,66 +1,57 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_escape
//
/**
* d_a_tag_escape.cpp
*
*/
#include "rel/d/a/tag/d_a_tag_escape/d_a_tag_escape.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Forward References:
//
extern "C" static void daTagEscape_Create__FP10fopAc_ac_c();
extern "C" static void daTagEscape_Delete__FP13daTagEscape_c();
extern "C" extern void* g_profile_Tag_Escape[12];
//
// External References:
//
extern "C" extern void* g_fopAc_Method[8];
//
// Declarations:
//
#include "d/d_procname.h"
/* 80D587D8-80D58828 000078 0050+00 1/0 0/0 0/0 .text daTagEscape_Create__FP10fopAc_ac_c
*/
static int daTagEscape_Create(fopAc_ac_c* tag) {
if (!fopAcM_CheckCondition(tag, 8)) {
new (tag) daTagEscape_c();
fopAcM_OnCondition(tag, 8);
static int daTagEscape_Create(fopAc_ac_c* i_this) {
if (!fopAcM_CheckCondition(i_this, 8)) {
new (i_this) daTagEscape_c();
fopAcM_OnCondition(i_this, 8);
}
return cPhs_COMPLEATE_e;
}
/* 80D58828-80D58858 0000C8 0030+00 1/0 0/0 0/0 .text daTagEscape_Delete__FP13daTagEscape_c */
static int daTagEscape_Delete(daTagEscape_c* tag) {
tag->~daTagEscape_c();
static int daTagEscape_Delete(daTagEscape_c* i_this) {
i_this->~daTagEscape_c();
return 1;
}
/* ############################################################################################## */
/* 80D58860-80D58880 -00001 0020+00 1/0 0/0 0/0 .data l_daTagEscape_Method */
SECTION_DATA static void* l_daTagEscape_Method[8] = {
(void*)daTagEscape_Create__FP10fopAc_ac_c,
(void*)daTagEscape_Delete__FP13daTagEscape_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daTagEscape_Method = {
(process_method_func)daTagEscape_Create,
(process_method_func)daTagEscape_Delete,
(process_method_func)NULL,
(process_method_func)NULL,
(process_method_func)NULL,
};
/* 80D58880-80D588B0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Escape */
SECTION_DATA extern void* g_profile_Tag_Escape[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x028A0000, (void*)&g_fpcLf_Method,
(void*)0x00000568, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x018D0000, (void*)&l_daTagEscape_Method,
(void*)0x00040000, (void*)0x000E0000,
extern actor_process_profile_definition g_profile_Tag_Escape = {
-3,
07,
0xFFFD,
PROC_Tag_Escape,
0,
&g_fpcLf_Method.mBase,
sizeof(daTagEscape_c),
0,
0,
&g_fopAc_Method.base,
0x018D,
0,
0,
&l_daTagEscape_Method,
0x00040000,
0,
14,
0,
0,
};
+30 -33
View File
@@ -1,22 +1,10 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_gstart
//
/**
* d_a_tag_gstart.cpp
*
*/
#include "rel/d/a/tag/d_a_tag_gstart/d_a_tag_gstart.h"
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// External References:
//
extern "C" extern void* g_fopAc_Method[8];
//
// Declarations:
//
/* 805A3478-805A34F4 000078 007C+00 1/1 0/0 0/0 .text create__13daTagGstart_cFv */
int daTagGstart_c::create() {
@@ -51,7 +39,8 @@ static int daTagGstart_Delete(daTagGstart_c* i_this) {
/* 805A3590-805A3658 000190 00C8+00 1/1 0/0 0/0 .text execute__13daTagGstart_cFv */
int daTagGstart_c::execute() {
if ((mSwNo == 0xFF || dComIfGs_isSwitch(mSwNo, fopAcM_GetHomeRoomNo(this))) &&
(mSwNo2 == 0xFF || !dComIfGs_isSwitch(mSwNo2, fopAcM_GetHomeRoomNo(this)))) {
(mSwNo2 == 0xFF || !dComIfGs_isSwitch(mSwNo2, fopAcM_GetHomeRoomNo(this))))
{
if (mType != 0 || dComIfGp_getLinkPlayer()->i_checkWolf()) {
dComIfGp_getLinkPlayer()->onSceneChangeDead(field_0x56a, fopAcM_GetRoomNo(this));
}
@@ -73,23 +62,31 @@ static int daTagGstart_Draw(daTagGstart_c*) {
/* ############################################################################################## */
/* 805A3688-805A36A8 -00001 0020+00 1/0 0/0 0/0 .data l_daTagGstart_Method */
SECTION_DATA static void* l_daTagGstart_Method[8] = {
(void*)daTagGstart_Create,
(void*)daTagGstart_Delete,
(void*)daTagGstart_Execute,
(void*)NULL,
(void*)daTagGstart_Draw,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daTagGstart_Method = {
(process_method_func)daTagGstart_Create, (process_method_func)daTagGstart_Delete,
(process_method_func)daTagGstart_Execute, (process_method_func)NULL,
(process_method_func)daTagGstart_Draw,
};
/* 805A36A8-805A36D8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Gstart */
SECTION_DATA extern void* g_profile_Tag_Gstart[12] = {
(void*)0xFFFFFFFD, (void*)0x0002FFFD,
(void*)0x00190000, (void*)&g_fpcLf_Method,
(void*)0x0000056C, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x01B50000, (void*)&l_daTagGstart_Method,
(void*)0x00060000, (void*)0x030E0000,
extern actor_process_profile_definition g_profile_Tag_Gstart = {
-3,
2,
0xFFFD,
PROC_Tag_Gstart,
0,
&g_fpcLf_Method.mBase,
sizeof(daTagGstart_c),
0,
0,
&g_fopAc_Method.base,
0x01B5,
0,
0,
&l_daTagGstart_Method,
0x00060000,
3,
14,
0,
0,
};
+1 -3
View File
@@ -6,8 +6,6 @@
#include "rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.h"
#include "d/d_procname.h"
extern "C" extern leafdraw_method_class g_fopAc_Method;
/* 80D597F8-80D5985C 000078 0064+00 0/0 0/0 1/1 .text getAppearPoint__12daTagGuard_cFP3Vec */
int daTagGuard_c::getAppearPoint(Vec* i_appearPnt) {
if (mPath == NULL) {
@@ -84,7 +82,7 @@ extern actor_process_profile_definition g_profile_TAG_GUARD = {
sizeof(daTagGuard_c),
0,
0,
&g_fopAc_Method,
&g_fopAc_Method.base,
0x0198,
0,
0,
@@ -14,12 +14,6 @@
extern "C" extern void* g_profile_Tag_Hinit[12];
//
// External References:
//
extern "C" extern void* g_fopAc_Method[8];
//
// Declarations:
//
+34 -36
View File
@@ -1,24 +1,12 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_hstop
//
/**
* d_a_tag_hstop.cpp
*
*/
#include "rel/d/a/tag/d_a_tag_hstop/d_a_tag_hstop.h"
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "rel/d/a/d_a_horse/d_a_horse.h"
//
// External References:
//
extern "C" extern void* g_fopAc_Method[8];
//
// Declarations:
//
/* 805A43EC-805A45D8 0000EC 01EC+00 1/1 0/0 0/0 .text create__12daTagHstop_cFv */
int daTagHstop_c::create() {
if (!fopAcM_CheckCondition(this, 8)) {
@@ -107,7 +95,8 @@ static int daTagHstop_Delete(daTagHstop_c* i_this) {
void daTagHstop_c::setActive() {
if (mPrm0 == 0xFF || mPrm1 == 2 ||
(mPrm1 == 0 && dComIfGs_isSwitch(mPrm0, fopAcM_GetHomeRoomNo(this))) ||
(mPrm1 == 1 && !dComIfGs_isSwitch(mPrm0, fopAcM_GetHomeRoomNo(this)))) {
(mPrm1 == 1 && !dComIfGs_isSwitch(mPrm0, fopAcM_GetHomeRoomNo(this))))
{
mActive = true;
} else {
mActive = false;
@@ -152,7 +141,8 @@ int daTagHstop_c::execute() {
field_0x573 = 0;
} else if (field_0x573 == 1) {
if (i_dComIfGp_getHorseActor()->checkTurnStand() &&
!i_dComIfGp_getHorseActor()->checkTurnStandCamera()) {
!i_dComIfGp_getHorseActor()->checkTurnStandCamera())
{
field_0x573 = 2;
}
} else if (field_0x573 == 2 && !i_dComIfGp_getHorseActor()->checkTurnStand()) {
@@ -160,8 +150,8 @@ int daTagHstop_c::execute() {
mEvtInfo.i_onCondition(1);
}
} else if (mPrm1 == 2 && !i_dComIfGp_event_runCheck()) {
if (dComIfGs_getArrowNum() == 0 &&
!dComIfGs_isSwitch(0x8D, fopAcM_GetHomeRoomNo(this))) {
if (dComIfGs_getArrowNum() == 0 && !dComIfGs_isSwitch(0x8D, fopAcM_GetHomeRoomNo(this)))
{
dComIfGs_onSwitch(0x8D, fopAcM_GetHomeRoomNo(this));
dMeter2Info_setFloatingFlow(43, 90, true);
@@ -194,23 +184,31 @@ static int daTagHstop_Draw(daTagHstop_c*) {
/* ############################################################################################## */
/* 805A4B24-805A4B44 -00001 0020+00 1/0 0/0 0/0 .data l_daTagHstop_Method */
SECTION_DATA static void* l_daTagHstop_Method[8] = {
(void*)daTagHstop_Create,
(void*)daTagHstop_Delete,
(void*)daTagHstop_Execute,
(void*)NULL,
(void*)daTagHstop_Draw,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daTagHstop_Method = {
(process_method_func)daTagHstop_Create, (process_method_func)daTagHstop_Delete,
(process_method_func)daTagHstop_Execute, (process_method_func)NULL,
(process_method_func)daTagHstop_Draw,
};
/* 805A4B44-805A4B74 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Hstop */
SECTION_DATA extern void* g_profile_Tag_Hstop[12] = {
(void*)0xFFFFFFFD, (void*)0x0003FFFD,
(void*)0x00EC0000, (void*)&g_fpcLf_Method,
(void*)0x00000578, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x01B30000, (void*)&l_daTagHstop_Method,
(void*)0x00040000, (void*)0x030E0000,
extern actor_process_profile_definition g_profile_Tag_Hstop = {
-3,
3,
0xFFFD,
PROC_Tag_Hstop,
0,
&g_fpcLf_Method.mBase,
sizeof(daTagHstop_c),
0,
0,
&g_fopAc_Method.base,
0x01B3,
0,
0,
&l_daTagHstop_Method,
0x00040000,
3,
14,
0,
0,
};
@@ -1,21 +1,10 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_instruction
//
/**
* d_a_tag_instruction.cpp
*
*/
#include "rel/d/a/tag/d_a_tag_instruction/d_a_tag_instruction.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// External References:
//
extern "C" extern void* g_fopAc_Method[8];
//
// Declarations:
//
#include "d/d_procname.h"
/* 80D59AF8-80D59B48 000078 0050+00 1/0 0/0 0/0 .text daTagInst_Create__FP10fopAc_ac_c */
static int daTagInst_Create(fopAc_ac_c* i_this) {
@@ -36,23 +25,33 @@ static int daTagInst_Delete(daTagInst_c* i_this) {
/* ############################################################################################## */
/* 80D59B80-80D59BA0 -00001 0020+00 1/0 0/0 0/0 .data l_daTagInst_Method */
SECTION_DATA static void* l_daTagInst_Method[8] = {
(void*)daTagInst_Create,
(void*)daTagInst_Delete,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daTagInst_Method = {
(process_method_func)daTagInst_Create,
(process_method_func)daTagInst_Delete,
(process_method_func)NULL,
(process_method_func)NULL,
(process_method_func)NULL,
};
/* 80D59BA0-80D59BD0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Instruction */
SECTION_DATA extern void* g_profile_Tag_Instruction[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x024D0000, (void*)&g_fpcLf_Method,
(void*)0x00000568, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x014E0000, (void*)&l_daTagInst_Method,
(void*)0x00040000, (void*)0x000E0000,
extern actor_process_profile_definition g_profile_Tag_Instruction = {
-3,
7,
0xFFFD,
PROC_Tag_Instruction,
0,
&g_fpcLf_Method.mBase,
sizeof(daTagInst_c),
0,
0,
&g_fopAc_Method.base,
0x014E,
0,
0,
&l_daTagInst_Method,
0x00040000,
0,
14,
0,
0,
};
+45 -83
View File
@@ -1,78 +1,10 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_lv5soup
//
/**
* d_a_tag_lv5soup.cpp
*
*/
#include "rel/d/a/tag/d_a_tag_lv5soup/d_a_tag_lv5soup.h"
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Forward References:
//
extern "C" void create__15daTag_Lv5Soup_cFv();
extern "C" bool Delete__15daTag_Lv5Soup_cFv();
extern "C" void Execute__15daTag_Lv5Soup_cFv();
extern "C" bool Draw__15daTag_Lv5Soup_cFv();
extern "C" void isAreaCheck__15daTag_Lv5Soup_cFv();
extern "C" static void daTag_Lv5Soup_Create__FPv();
extern "C" static void daTag_Lv5Soup_Delete__FPv();
extern "C" static void daTag_Lv5Soup_Execute__FPv();
extern "C" static void daTag_Lv5Soup_Draw__FPv();
extern "C" static bool daTag_Lv5Soup_IsDelete__FPv();
extern "C" void __dt__15daTag_Lv5Soup_cFv();
//
// External References:
//
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
extern "C" void onEventBit__11dSv_event_cFUs();
extern "C" void isEventBit__11dSv_event_cCFUs();
extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void __dl__FPv();
extern "C" extern void* g_fopAc_Method[8];
//
// Declarations:
//
inline int dComIfGs_isEventBit(u16 event) {
return g_dComIfG_gameInfo.info.getSavedata().getEvent().isEventBit(event);
}
/* 80D5B18C-80D5B1AC -00001 0020+00 1/0 0/0 0/0 .data daTag_Lv5Soup_MethodTable */
SECTION_DATA static void* daTag_Lv5Soup_MethodTable[8] = {
(void*)daTag_Lv5Soup_Create__FPv,
(void*)daTag_Lv5Soup_Delete__FPv,
(void*)daTag_Lv5Soup_Execute__FPv,
(void*)daTag_Lv5Soup_IsDelete__FPv,
(void*)daTag_Lv5Soup_Draw__FPv,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 80D5B1AC-80D5B1DC -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_LV5SOUP */
SECTION_DATA extern void* g_profile_TAG_LV5SOUP[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x01220000, (void*)&g_fpcLf_Method,
(void*)0x0000056C, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x00460000, (void*)&daTag_Lv5Soup_MethodTable,
(void*)0x00064100, (void*)0x050E0000,
};
/* 80D5B1DC-80D5B1E8 000050 000C+00 2/2 0/0 0/0 .data __vt__15daTag_Lv5Soup_c */
SECTION_DATA extern void* __vt__15daTag_Lv5Soup_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__15daTag_Lv5Soup_cFv,
};
/* 80D5AD58-80D5ADEC 000078 0094+00 1/1 0/0 0/0 .text create__15daTag_Lv5Soup_cFv */
int daTag_Lv5Soup_c::create() {
@@ -95,13 +27,13 @@ int daTag_Lv5Soup_c::Delete() {
int daTag_Lv5Soup_c::Execute() {
if (isAreaCheck()) {
// Yeto took pumpkin and pumpkin not in soup
if (dComIfGs_isEventBit(0x0020) && !dComIfGs_isEventBit(0x0002)) {
if (i_dComIfGs_isEventBit(0x0020) && !i_dComIfGs_isEventBit(0x0002)) {
// Pumpkin in soup
dComIfGs_onEventBit(0x0002);
}
// Yeto took cheese and cheese not in soup
if (dComIfGs_isEventBit(0x0010) && !dComIfGs_isEventBit(0x0001)) {
if (i_dComIfGs_isEventBit(0x0010) && !i_dComIfGs_isEventBit(0x0001)) {
// Cheese in soup
dComIfGs_onEventBit(0x0001);
}
@@ -128,29 +60,59 @@ bool daTag_Lv5Soup_c::isAreaCheck() {
}
/* 80D5B06C-80D5B08C 00038C 0020+00 1/0 0/0 0/0 .text daTag_Lv5Soup_Create__FPv */
static int daTag_Lv5Soup_Create(void* tag) {
return static_cast<daTag_Lv5Soup_c*>(tag)->create();
static int daTag_Lv5Soup_Create(void* i_this) {
return static_cast<daTag_Lv5Soup_c*>(i_this)->create();
}
/* 80D5B08C-80D5B0AC 0003AC 0020+00 1/0 0/0 0/0 .text daTag_Lv5Soup_Delete__FPv */
static int daTag_Lv5Soup_Delete(void* tag) {
return static_cast<daTag_Lv5Soup_c*>(tag)->Delete();
static int daTag_Lv5Soup_Delete(void* i_this) {
return static_cast<daTag_Lv5Soup_c*>(i_this)->Delete();
}
/* 80D5B0AC-80D5B0CC 0003CC 0020+00 1/0 0/0 0/0 .text daTag_Lv5Soup_Execute__FPv */
static int daTag_Lv5Soup_Execute(void* tag) {
return static_cast<daTag_Lv5Soup_c*>(tag)->Execute();
static int daTag_Lv5Soup_Execute(void* i_this) {
return static_cast<daTag_Lv5Soup_c*>(i_this)->Execute();
}
/* 80D5B0CC-80D5B0EC 0003EC 0020+00 1/0 0/0 0/0 .text daTag_Lv5Soup_Draw__FPv */
static int daTag_Lv5Soup_Draw(void* tag) {
return static_cast<daTag_Lv5Soup_c*>(tag)->Draw();
static int daTag_Lv5Soup_Draw(void* i_this) {
return static_cast<daTag_Lv5Soup_c*>(i_this)->Draw();
}
/* 80D5B0EC-80D5B0F4 00040C 0008+00 1/0 0/0 0/0 .text daTag_Lv5Soup_IsDelete__FPv */
static int daTag_Lv5Soup_IsDelete(void* tag) {
static int daTag_Lv5Soup_IsDelete(void* i_this) {
return 1;
}
/* 80D5B0F4-80D5B154 000414 0060+00 1/0 0/0 0/0 .text __dt__15daTag_Lv5Soup_cFv */
daTag_Lv5Soup_c::~daTag_Lv5Soup_c() {}
/* 80D5B18C-80D5B1AC -00001 0020+00 1/0 0/0 0/0 .data daTag_Lv5Soup_MethodTable */
static actor_method_class daTag_Lv5Soup_MethodTable = {
(process_method_func)daTag_Lv5Soup_Create, (process_method_func)daTag_Lv5Soup_Delete,
(process_method_func)daTag_Lv5Soup_Execute, (process_method_func)daTag_Lv5Soup_IsDelete,
(process_method_func)daTag_Lv5Soup_Draw,
};
/* 80D5B1AC-80D5B1DC -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_LV5SOUP */
extern actor_process_profile_definition g_profile_TAG_LV5SOUP = {
-3,
7,
0xFFFD,
0x122,
0,
&g_fpcLf_Method.mBase,
sizeof(daTag_Lv5Soup_c),
0,
0,
&g_fopAc_Method.base,
0x0046,
0,
0,
&daTag_Lv5Soup_MethodTable,
0x00064100,
5,
14,
0,
0,
};
+35 -36
View File
@@ -1,21 +1,10 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_magne
//
/**
* d_a_tag_magne.cpp
*
*/
#include "rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// External References:
//
extern "C" extern void* g_fopAc_Method[8];
//
// Declarations:
//
#include "d/d_procname.h"
/* 805A5498-805A54DC 000078 0044+00 1/1 0/0 0/0 .text Create__12daTagMagne_cFv */
int daTagMagne_c::Create() {
@@ -37,8 +26,8 @@ int daTagMagne_c::create() {
new (this) daTagMagne_c();
fopAcM_OnCondition(this, 8);
}
if (mTagMagne != NULL && mTagMagne->current.mRoomNo != current.mRoomNo) {
if (mTagMagne != NULL && mTagMagne->current.roomNo != current.roomNo) {
return cPhs_ZERO_e;
}
@@ -57,35 +46,45 @@ int daTagMagne_c::_delete() {
/* 805A558C-805A55AC 00016C 0020+00 1/0 0/0 0/0 .text daTagMagne_Delete__FP12daTagMagne_c
*/
static void daTagMagne_Delete(daTagMagne_c* p_tag) {
p_tag->_delete();
static void daTagMagne_Delete(daTagMagne_c* i_this) {
i_this->_delete();
}
/* 805A55AC-805A55CC 00018C 0020+00 1/0 0/0 0/0 .text daTagMagne_Create__FP10fopAc_ac_c
*/
static void daTagMagne_Create(fopAc_ac_c* p_tag) {
((daTagMagne_c*)p_tag)->create();
static void daTagMagne_Create(fopAc_ac_c* i_this) {
((daTagMagne_c*)i_this)->create();
}
/* ############################################################################################## */
/* 805A55D4-805A55F4 -00001 0020+00 1/0 0/0 0/0 .data l_daTagMagne_Method */
SECTION_DATA static process_method_func l_daTagMagne_Method[8] = {
static actor_method_class l_daTagMagne_Method = {
(process_method_func)daTagMagne_Create,
(process_method_func)daTagMagne_Delete,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
(process_method_func)NULL,
(process_method_func)NULL,
(process_method_func)NULL,
};
/* 805A55F4-805A5624 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Magne */
SECTION_DATA extern void* g_profile_Tag_Magne[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x01620000, (void*)&g_fpcLf_Method,
(void*)0x0000056C, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x024E0000, (void*)&l_daTagMagne_Method,
(void*)0x00040000, (void*)0x000E0000,
extern actor_process_profile_definition g_profile_Tag_Magne = {
-3,
7,
0xFFFD,
PROC_Tag_Magne,
0,
&g_fpcLf_Method.mBase,
sizeof(daTagMagne_c),
0,
0,
&g_fopAc_Method.base,
0x024E,
0,
0,
&l_daTagMagne_Method,
0x00040000,
0,
14,
0,
0,
};
@@ -86,7 +86,6 @@ extern "C" void __dl__FPv();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" void strcmp();
extern "C" extern void* g_fopAc_Method[8];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_meter2_info[248];
+14 -21
View File
@@ -9,12 +9,6 @@
#include "dol2asm.h"
#include "dolphin/types.h"
//
// External References:
//
extern "C" extern leafdraw_method_class g_fopAc_Method;
/* ############################################################################################## */
/* 80D5B918-80D5BA94 000078 017C+00 1/1 0/0 0/0 .text create__11daTagMmsg_cFv */
int daTagMmsg_c::create() {
@@ -53,8 +47,8 @@ int daTagMmsg_c::create() {
}
/* 80D5BA94-80D5BAB4 0001F4 0020+00 1/0 0/0 0/0 .text daTagMmsg_Create__FP10fopAc_ac_c */
static int daTagMmsg_Create(fopAc_ac_c* tag) {
return static_cast<daTagMmsg_c*>(tag)->create();
static int daTagMmsg_Create(fopAc_ac_c* i_this) {
return static_cast<daTagMmsg_c*>(i_this)->create();
}
/* 80D5BAB4-80D5BB08 000214 0054+00 1/1 0/0 0/0 .text __dt__11daTagMmsg_cFv */
@@ -62,8 +56,8 @@ daTagMmsg_c::~daTagMmsg_c() {}
/* 80D5BB08-80D5BB30 000268 0028+00 1/0 0/0 0/0 .text daTagMmsg_Delete__FP11daTagMmsg_c
*/
static int daTagMmsg_Delete(daTagMmsg_c* tag) {
tag->~daTagMmsg_c();
static int daTagMmsg_Delete(daTagMmsg_c* i_this) {
i_this->~daTagMmsg_c();
return 1;
}
@@ -73,8 +67,8 @@ int daTagMmsg_c::execute() {
return 1;
}
if (field_0x572 != 0x3FF &&
i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x572])) {
if (field_0x572 != 0x3FF && i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x572]))
{
return 1;
}
@@ -94,7 +88,8 @@ int daTagMmsg_c::execute() {
(fopAcM_searchPlayerDistanceXZ2(this) < field_0x574) &&
(field_0x570 == 0x3FF ||
i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x570])) &&
(field_0x568 == 0xFF || dComIfGs_isSwitch(field_0x568, fopAcM_GetHomeRoomNo(this)))) {
(field_0x568 == 0xFF || dComIfGs_isSwitch(field_0x568, fopAcM_GetHomeRoomNo(this))))
{
player->setMidnaMsgNum(this, shape_angle.z);
}
@@ -103,22 +98,20 @@ int daTagMmsg_c::execute() {
/* 80D5BD08-80D5BD28 000468 0020+00 1/0 0/0 0/0 .text daTagMmsg_Execute__FP11daTagMmsg_c
*/
static int daTagMmsg_Execute(daTagMmsg_c* tag) {
return tag->execute();
static int daTagMmsg_Execute(daTagMmsg_c* i_this) {
return i_this->execute();
}
/* 80D5BD28-80D5BD30 000488 0008+00 1/0 0/0 0/0 .text daTagMmsg_Draw__FP11daTagMmsg_c */
static int daTagMmsg_Draw(daTagMmsg_c* tag) {
static int daTagMmsg_Draw(daTagMmsg_c* i_this) {
return 1;
}
/* ############################################################################################## */
/* 80D5BD44-80D5BD64 -00001 0020+00 1/0 0/0 0/0 .data l_daTagMmsg_Method */
static actor_method_class l_daTagMmsg_Method = {
(process_method_func)daTagMmsg_Create,
(process_method_func)daTagMmsg_Delete,
(process_method_func)daTagMmsg_Execute,
(process_method_func)NULL,
(process_method_func)daTagMmsg_Create, (process_method_func)daTagMmsg_Delete,
(process_method_func)daTagMmsg_Execute, (process_method_func)NULL,
(process_method_func)daTagMmsg_Draw,
};
@@ -133,7 +126,7 @@ extern actor_process_profile_definition g_profile_Tag_Mmsg = {
sizeof(daTagMmsg_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method, // mSubMtd
&g_fopAc_Method.base, // mSubMtd
0x00FF, // mPriority
0, // unk22[0]
0, // unk22[1]
@@ -76,7 +76,6 @@ extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 m_midnaActor__9daPy_py_c[4];
+37 -44
View File
@@ -1,27 +1,10 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_setBall
//
/**
* d_a_tag_setBall.cpp
*
*/
#include "rel/d/a/tag/d_a_tag_setBall/d_a_tag_setBall.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Forward References:
//
extern "C" extern void* g_profile_Tag_SetBall[12];
//
// External References:
//
extern "C" extern void* g_fopAc_Method[8];
//
// Declarations:
//
#include "d/d_procname.h"
/* 80D601F8-80D60218 000078 0020+00 1/1 0/0 0/0 .text initBaseMtx__14daTagSetBall_cFv */
void daTagSetBall_c::initBaseMtx() {
@@ -63,39 +46,49 @@ int daTagSetBall_c::_delete() {
}
/* 80D602C4-80D602E4 000144 0020+00 1/0 0/0 0/0 .text daTagSetBall_Execute__FP14daTagSetBall_c */
static int daTagSetBall_Execute(daTagSetBall_c* tag) {
return tag->execute();
static int daTagSetBall_Execute(daTagSetBall_c* i_this) {
return i_this->execute();
}
/* 80D602E4-80D60304 000164 0020+00 1/0 0/0 0/0 .text daTagSetBall_Delete__FP14daTagSetBall_c */
static int daTagSetBall_Delete(daTagSetBall_c* tag) {
return tag->_delete();
static int daTagSetBall_Delete(daTagSetBall_c* i_this) {
return i_this->_delete();
}
/* 80D60304-80D60324 000184 0020+00 1/0 0/0 0/0 .text daTagSetBall_Create__FP14daTagSetBall_c */
static int daTagSetBall_Create(daTagSetBall_c* tag) {
return tag->create();
static int daTagSetBall_Create(daTagSetBall_c* i_this) {
return i_this->create();
}
/* ############################################################################################## */
/* 80D6032C-80D6034C -00001 0020+00 1/0 0/0 0/0 .data l_daTagSetBall_Method */
SECTION_DATA static void* l_daTagSetBall_Method[8] = {
(void*)daTagSetBall_Create,
(void*)daTagSetBall_Delete,
(void*)daTagSetBall_Execute,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daTagSetBall_Method = {
(process_method_func)daTagSetBall_Create,
(process_method_func)daTagSetBall_Delete,
(process_method_func)daTagSetBall_Execute,
(process_method_func)NULL,
(process_method_func)NULL,
};
/* 80D6034C-80D6037C -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_SetBall */
SECTION_DATA extern void* g_profile_Tag_SetBall[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x019F0000, (void*)&g_fpcLf_Method,
(void*)0x0000056C, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x023F0000, (void*)&l_daTagSetBall_Method,
(void*)0x00040100, (void*)0x000E0000,
extern actor_process_profile_definition g_profile_Tag_SetBall = {
-3,
7,
0xFFFD,
PROC_Tag_SetBall,
0,
&g_fpcLf_Method.mBase,
sizeof(daTagSetBall_c),
0,
0,
&g_fopAc_Method.base,
0x023F,
0,
0,
&l_daTagSetBall_Method,
0x00040100,
0,
14,
0,
0,
};
@@ -6,24 +6,6 @@
#include "rel/d/a/tag/d_a_tag_setrestart/d_a_tag_setrestart.h"
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" extern void* g_profile_Tag_Restart[12];
//
// External References:
//
extern "C" void __dl__FPv();
extern "C" extern void* g_fopAc_Method[8];
//
// Declarations:
//
/* 80D603F8-80D6048C 000078 0094+00 1/1 0/0 0/0 .text Create__14daTagRestart_cFv */
int daTagRestart_c::Create() {
@@ -62,21 +44,6 @@ int daTagRestart_c::create() {
return cPhs_COMPLEATE_e;
}
/* 80D60520-80D6055C 0001A0 003C+00 1/1 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/tag/d_a_tag_setrestart/d_a_tag_setrestart/__dt__4cXyzFv.s"
}
#pragma pop
/* 80D6055C-80D60560 0001DC 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
// cXyz::cXyz() {
extern "C" void __ct__4cXyzFv() {}
/* 80D60560-80D60744 0001E0 01E4+00 1/1 0/0 0/0 .text execute__14daTagRestart_cFv */
int daTagRestart_c::execute() {
fopAc_ac_c* player = dComIfGp_getPlayer(0);
@@ -87,7 +54,8 @@ int daTagRestart_c::execute() {
mDoMtx_stack_c::multVec(&player_pos, &player_pos);
if (field_0x56c[0].x < player_pos.x && field_0x56c[0].z < player_pos.z &&
field_0x56c[2].x > player_pos.x && field_0x56c[2].z > player_pos.z) {
field_0x56c[2].x > player_pos.x && field_0x56c[2].z > player_pos.z)
{
int roomNo = dComIfGp_roomControl_getStayNo();
if (roomNo != mPlayerRoomNo) {
cXyz pos_offset;
@@ -141,23 +109,33 @@ static int daTagRestart_Create(fopAc_ac_c* i_this) {
/* ############################################################################################## */
/* 80D607C0-80D607E0 -00001 0020+00 1/0 0/0 0/0 .data l_daTagRestart_Method */
SECTION_DATA static void* l_daTagRestart_Method[8] = {
(void*)daTagRestart_Create,
(void*)daTagRestart_Delete,
(void*)daTagRestart_Execute,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daTagRestart_Method = {
(process_method_func)daTagRestart_Create,
(process_method_func)daTagRestart_Delete,
(process_method_func)daTagRestart_Execute,
(process_method_func)NULL,
(process_method_func)NULL,
};
/* 80D607E0-80D60810 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Restart */
SECTION_DATA extern void* g_profile_Tag_Restart[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x022F0000, (void*)&g_fpcLf_Method,
(void*)0x0000059C, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x02500000, (void*)&l_daTagRestart_Method,
(void*)0x00040000, (void*)0x000E0000,
extern actor_process_profile_definition g_profile_Tag_Restart = {
-3,
7,
0xFFFD,
PROC_Tag_Restart,
0,
&g_fpcLf_Method.mBase,
sizeof(daTagRestart_c),
0,
0,
&g_fopAc_Method.base,
0x0250,
0,
0,
&l_daTagRestart_Method,
0x00040000,
0,
14,
0,
0,
};
+36 -57
View File
@@ -1,40 +1,11 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_telop
//
/**
* d_a_tag_telop.cpp
*
*/
#include "rel/d/a/tag/d_a_tag_telop/d_a_tag_telop.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_msg_mng.h"
//
// Forward References:
//
extern "C" void create__13daTag_Telop_cFv();
extern "C" void execute__13daTag_Telop_cFv();
extern "C" static bool daTag_Telop_Draw__FP13daTag_Telop_c();
extern "C" static void daTag_Telop_Execute__FP13daTag_Telop_c();
extern "C" static bool daTag_Telop_IsDelete__FP13daTag_Telop_c();
extern "C" static void daTag_Telop_Delete__FP13daTag_Telop_c();
extern "C" static void daTag_Telop_Create__FP10fopAc_ac_c();
extern "C" extern void* g_profile_TAG_TELOP[12];
//
// External References:
//
extern "C" extern void* g_fopAc_Method[8];
//
// Declarations:
//
inline int dComIfGs_isEventBit(u16 event) {
return g_dComIfG_gameInfo.info.getSavedata().getEvent().isEventBit(event);
}
/* 80490A58-80490AF8 000078 00A0+00 1/1 0/0 0/0 .text create__13daTag_Telop_cFv */
int daTag_Telop_c::create() {
if (!fopAcM_CheckCondition(this, 8)) {
@@ -71,52 +42,60 @@ void daTag_Telop_c::execute() {
/* 80490B5C-80490B64 00017C 0008+00 1/0 0/0 0/0 .text daTag_Telop_Draw__FP13daTag_Telop_c
*/
static int daTag_Telop_Draw(daTag_Telop_c* tag) {
static int daTag_Telop_Draw(daTag_Telop_c* i_this) {
return 1;
}
/* 80490B64-80490B88 000184 0024+00 1/0 0/0 0/0 .text daTag_Telop_Execute__FP13daTag_Telop_c */
static int daTag_Telop_Execute(daTag_Telop_c* tag) {
tag->execute();
static int daTag_Telop_Execute(daTag_Telop_c* i_this) {
i_this->execute();
return 1;
}
/* 80490B88-80490B90 0001A8 0008+00 1/0 0/0 0/0 .text daTag_Telop_IsDelete__FP13daTag_Telop_c */
static int daTag_Telop_IsDelete(daTag_Telop_c* tag) {
static int daTag_Telop_IsDelete(daTag_Telop_c* i_this) {
return 1;
}
/* 80490B90-80490BC0 0001B0 0030+00 1/0 0/0 0/0 .text daTag_Telop_Delete__FP13daTag_Telop_c */
static int daTag_Telop_Delete(daTag_Telop_c* tag) {
tag->~daTag_Telop_c();
static int daTag_Telop_Delete(daTag_Telop_c* i_this) {
i_this->~daTag_Telop_c();
return 1;
}
/* 80490BC0-80490BE0 0001E0 0020+00 1/0 0/0 0/0 .text daTag_Telop_Create__FP10fopAc_ac_c
*/
static int daTag_Telop_Create(fopAc_ac_c* tag) {
return static_cast<daTag_Telop_c*>(tag)->create();
static int daTag_Telop_Create(fopAc_ac_c* i_this) {
return static_cast<daTag_Telop_c*>(i_this)->create();
}
/* ############################################################################################## */
/* 80490BE8-80490C08 -00001 0020+00 1/0 0/0 0/0 .data l_daTag_Telop_Method */
SECTION_DATA static void* l_daTag_Telop_Method[8] = {
(void*)daTag_Telop_Create__FP10fopAc_ac_c,
(void*)daTag_Telop_Delete__FP13daTag_Telop_c,
(void*)daTag_Telop_Execute__FP13daTag_Telop_c,
(void*)daTag_Telop_IsDelete__FP13daTag_Telop_c,
(void*)daTag_Telop_Draw__FP13daTag_Telop_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daTag_Telop_Method = {
(process_method_func)daTag_Telop_Create, (process_method_func)daTag_Telop_Delete,
(process_method_func)daTag_Telop_Execute, (process_method_func)daTag_Telop_IsDelete,
(process_method_func)daTag_Telop_Draw,
};
/* 80490C08-80490C38 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_TELOP */
SECTION_DATA extern void* g_profile_TAG_TELOP[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x02D30000, (void*)&g_fpcLf_Method,
(void*)0x00000570, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x011A0000, (void*)&l_daTag_Telop_Method,
(void*)0x00044000, (void*)0x00060000,
extern actor_process_profile_definition g_profile_TAG_TELOP = {
-3,
7,
0xFFFD,
PROC_TAG_TELOP,
0,
&g_fpcLf_Method.mBase,
sizeof(daTag_Telop_c),
0,
0,
&g_fopAc_Method.base,
0x011A,
0,
0,
&l_daTag_Telop_Method,
0x00044000,
0,
6,
0,
0,
};
@@ -1,21 +1,10 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_wara_howl
//
/**
* d_a_tag_wara_howl.cpp
*
*/
#include "rel/d/a/tag/d_a_tag_wara_howl/d_a_tag_wara_howl.h"
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
//
// External References:
//
extern "C" extern void* g_fopAc_Method[8];
//
// Declarations:
//
/* 80D63F38-80D63F74 000078 003C+00 2/2 0/0 0/0 .text __ct__13daTagWrHowl_cFv */
daTagWrHowl_c::daTagWrHowl_c() {}
@@ -106,23 +95,31 @@ static int daTagWrHowl_draw(daTagWrHowl_c* i_this) {
/* ############################################################################################## */
/* 80D64204-80D64224 -00001 0020+00 1/0 0/0 0/0 .data daTagWrHowl_METHODS */
SECTION_DATA static void* daTagWrHowl_METHODS[8] = {
(void*)daTagWrHowl_create,
(void*)daTagWrHowl_Delete,
(void*)daTagWrHowl_execute,
(void*)NULL,
(void*)daTagWrHowl_draw,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class daTagWrHowl_METHODS = {
(process_method_func)daTagWrHowl_create, (process_method_func)daTagWrHowl_Delete,
(process_method_func)daTagWrHowl_execute, (process_method_func)NULL,
(process_method_func)daTagWrHowl_draw,
};
/* 80D64224-80D64254 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_WaraHowl */
SECTION_DATA extern void* g_profile_Tag_WaraHowl[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x018B0000, (void*)&g_fpcLf_Method,
(void*)0x00000574, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x02DD0000, (void*)&daTagWrHowl_METHODS,
(void*)0x00040000, (void*)0x000E0000,
extern actor_process_profile_definition g_profile_Tag_WaraHowl = {
-3,
7,
0xFFFD,
PROC_Tag_WaraHowl,
0,
&g_fpcLf_Method.mBase,
sizeof(daTagWrHowl_c),
0,
0,
&g_fopAc_Method.base,
0x02DD,
0,
0,
&daTagWrHowl_METHODS,
0x00040000,
0,
14,
0,
0,
};
+56 -57
View File
@@ -3029,7 +3029,6 @@ extern "C" extern void* __vt__28mDoExt_MtxCalcAnmBlendTblOld[11];
extern "C" extern void* __vt__25mDoExt_MtxCalcAnmBlendTbl[11];
extern "C" extern void* __vt__10J3DMtxCalc[11 + 1 /* padding */];
extern "C" extern void* __vt__19JPAParticleCallBack[5];
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* __vt__8cM3dGPla[3];
extern "C" extern void* __vt__14dBgS_ObjGndChk[12 + 1 /* padding */];
extern "C" extern void* __vt__12dDlst_base_c[3];
@@ -14684,7 +14683,7 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 i_angle, int param_2
i_onEndResetFlg0(ERFLG0_UNK_800000);
i_onEndResetFlg2(ERFLG2_UNK_100);
if (mDemo.getDemoMode() != 0x59) {
mSpeed.y = FLOAT_LABEL(lit_6108);
speed.y = FLOAT_LABEL(lit_6108);
}
}
@@ -14709,7 +14708,7 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 i_angle, int param_2
rideAc->current.pos = current.pos;
rideAc->shape_angle.y = shape_angle.y;
rideAc->current.angle.y = shape_angle.y;
rideAc->mSpeed.y = FLOAT_LABEL(lit_6108);
rideAc->speed.y = FLOAT_LABEL(lit_6108);
}
field_0x814.ClrCcMove();
@@ -14726,7 +14725,7 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, csXyz const* p_angle) {
field_0x3798 = current.pos;
i_onEndResetFlg0(ERFLG0_UNK_800000);
i_onEndResetFlg2(ERFLG2_UNK_100);
mSpeed.y = FLOAT_LABEL(lit_6108);
speed.y = FLOAT_LABEL(lit_6108);
}
if (p_angle != NULL) {
@@ -14752,7 +14751,7 @@ void daAlink_c::setPlayerPosAndAngle(Mtx param_0) {
mDoMtx_MtxToRot(param_0, &shape_angle);
current.angle.y = shape_angle.y;
field_0x2fe6 = shape_angle.y;
mSpeed.y = FLOAT_LABEL(lit_6108);
speed.y = FLOAT_LABEL(lit_6108);
field_0x814.ClrCcMove();
}
}
@@ -16185,7 +16184,7 @@ int daAlink_c::checkNextAction(int param_0) {
} else if (mProcID == PROC_MOVE_TURN && current.angle.y != shape_angle.y) {
ret = procMoveTurnInit(0);
} else if (checkInputOnR() && cLib_distanceAngleS(field_0x2fe2, current.angle.y) > 0x7800) {
if (mSpeedF / field_0x594 > daAlinkHIO_move_c0::m.mSlideThresholdSpeed && field_0x2fa8 != 8 &&
if (speedF / field_0x594 > daAlinkHIO_move_c0::m.mSlideThresholdSpeed && field_0x2fa8 != 8 &&
!checkGrabAnime() && getDirectionFromAngle(mPrevStickAngle - mStickAngle) == DIR_BACKWARD) {
ret = procSlipInit();
} else {
@@ -16471,37 +16470,37 @@ void daAlink_c::posMove() {
setFootSpeed();
if (i_checkEndResetFlg0(ERFLG0_UNK_10000000)) {
mSpeedF = 0.0f;
speedF = 0.0f;
mNormalSpeed = 0.0f;
}
mSpeedF = mNormalSpeed * (1.0f - fabsf(mSpeedModifier));
speedF = mNormalSpeed * (1.0f - fabsf(mSpeedModifier));
f32 mod = field_0x33a0 * (1.0f - field_0x2060->getOldFrameRate()) * mSpeedModifier;
if (mSpeedF < 0.0f) {
mSpeedF -= mod;
if (speedF < 0.0f) {
speedF -= mod;
} else {
mSpeedF += mod;
speedF += mod;
}
if (getZoraSwim() && !checkZoraWearAbility()) {
mSpeedF *= daAlinkHIO_swim_c0::m.mSurfaceSwimSpeedRate;
speedF *= daAlinkHIO_swim_c0::m.mSurfaceSwimSpeedRate;
}
f32 var_f31 = mSpeedF;
mSpeedF *= cM_scos(var_r26);
f32 var_f31 = speedF;
speedF *= cM_scos(var_r26);
if (var_r26 < 0 && !checkBoardRide() && !i_checkModeFlg(MODE_SWIMMING)) {
mSpeedF *= 0.85f;
speedF *= 0.85f;
}
if (mProcID == PROC_AUTO_JUMP && checkGrabGlide() &&
(field_0xC04[0].ChkTgHit() || field_0xC04[1].ChkTgHit() || field_0xC04[2].ChkTgHit())) {
mSpeedF *= 0.5f;
speedF *= 0.5f;
}
mSpeed.x = mSpeedF * cM_ssin(current.angle.y);
mSpeed.z = mSpeedF * cM_scos(current.angle.y);
speed.x = speedF * cM_ssin(current.angle.y);
speed.z = speedF * cM_scos(current.angle.y);
if (checkNoCollisionCorret() || (i_checkModeFlg(0x40) && i_checkModeFlg(0x4000))) {
field_0x342c = 0.0f;
@@ -16522,8 +16521,8 @@ void daAlink_c::posMove() {
plane.mNormal.y = 0.0f;
plane.mNormal.normalizeZP();
mSpeed.x += temp_f0 * plane.mNormal.x;
mSpeed.z += temp_f0 * plane.mNormal.z;
speed.x += temp_f0 * plane.mNormal.x;
speed.z += temp_f0 * plane.mNormal.z;
}
}
}
@@ -16535,68 +16534,68 @@ void daAlink_c::posMove() {
if (i_checkNoResetFlg0(FLG0_UNK_100) && mProcID != PROC_SWIM_DIVE) {
current.pos.y = mWaterY;
} else if (mDemo.getDemoType() == 4 || mProcID == PROC_ELEC_DAMAGE || i_dComIfGp_checkPlayerStatus0(0, 0x10)) {
mSpeed.y = 0.0f;
speed.y = 0.0f;
} else if (i_checkWolf()) {
if (checkHeavyStateOn(1, 1)) {
mSpeed.y += daAlinkHIO_wlSwim_c0::m.field_0x9C;
speed.y += daAlinkHIO_wlSwim_c0::m.field_0x9C;
if (mSpeed.y > daAlinkHIO_wlSwim_c0::m.field_0xA4) {
mSpeed.y = daAlinkHIO_wlSwim_c0::m.field_0xA4;
if (speed.y > daAlinkHIO_wlSwim_c0::m.field_0xA4) {
speed.y = daAlinkHIO_wlSwim_c0::m.field_0xA4;
}
} else {
mSpeed.y += daAlinkHIO_wlSwim_c0::m.field_0x60;
speed.y += daAlinkHIO_wlSwim_c0::m.field_0x60;
if (mSpeed.y > daAlinkHIO_wlSwim_c0::m.field_0x5C) {
mSpeed.y = daAlinkHIO_wlSwim_c0::m.field_0x5C;
if (speed.y > daAlinkHIO_wlSwim_c0::m.field_0x5C) {
speed.y = daAlinkHIO_wlSwim_c0::m.field_0x5C;
}
}
} else if (!i_checkEquipHeavyBoots() && getZoraSwim()) {
mSpeed.y = -var_f31 * cM_ssin(var_r26);
speed.y = -var_f31 * cM_ssin(var_r26);
} else if ((checkBootsOrArmorHeavy() && mProcID != PROC_DEAD) || mProcID == PROC_SWIM_DIVE) {
mSpeed.y += mGravity;
speed.y += mGravity;
if (mSpeed.y < mMaxFallSpeed) {
mSpeed.y = mMaxFallSpeed;
if (speed.y < mMaxFallSpeed) {
speed.y = mMaxFallSpeed;
}
} else if (mSpeed.y > daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed) {
mSpeed.y += mGravity;
} else if (mSpeed.y < mMaxFallSpeed) {
mSpeed.y += 1.0f;
} else if (speed.y > daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed) {
speed.y += mGravity;
} else if (speed.y < mMaxFallSpeed) {
speed.y += 1.0f;
} else {
if (checkZoraWearAbility() && mWaterY > current.pos.y + daAlinkHIO_swim_c0::m.mNormalFloatDepth) {
mSpeed.y += daAlinkHIO_swim_c0::m.mZoraFloatDepth;
speed.y += daAlinkHIO_swim_c0::m.mZoraFloatDepth;
if (mSpeed.y < 0.0f) {
mSpeed.y = 0.0f;
if (speed.y < 0.0f) {
speed.y = 0.0f;
}
} else {
mSpeed.y += daAlinkHIO_swim_c0::m.mBuoyancy;
speed.y += daAlinkHIO_swim_c0::m.mBuoyancy;
}
if (mSpeed.y > daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed) {
mSpeed.y = daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed;
if (speed.y > daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed) {
speed.y = daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed;
}
}
} else if (!i_checkModeFlg(0x400)) {
if (checkHeavyStateOn(1, 1) && mProcID != PROC_SPINNER_READY && !i_checkNoResetFlg0(FLG0_UNDERWATER)) {
mSpeed.y += mGravity * 2.25f;
speed.y += mGravity * 2.25f;
if (mSpeed.y < mMaxFallSpeed * 1.5f) {
mSpeed.y = mMaxFallSpeed * 1.5f;
if (speed.y < mMaxFallSpeed * 1.5f) {
speed.y = mMaxFallSpeed * 1.5f;
}
} else {
mSpeed.y += mGravity;
speed.y += mGravity;
if (mSpeed.y < mMaxFallSpeed) {
mSpeed.y = mMaxFallSpeed;
if (speed.y < mMaxFallSpeed) {
speed.y = mMaxFallSpeed;
}
}
} else if (checkBoardRide()) {
mLinkAcch.OffLineCheck();
mSpeed.y += mGravity;
speed.y += mGravity;
if (mSpeed.y < mMaxFallSpeed) {
mSpeed.y = mMaxFallSpeed;
if (speed.y < mMaxFallSpeed) {
speed.y = mMaxFallSpeed;
}
}
@@ -16609,13 +16608,13 @@ void daAlink_c::posMove() {
mDoMtx_stack_c::YrotM(current.angle.y);
cXyz spFC;
spFC.z = mSpeedF;
mDoMtx_stack_c::multVecSR(&spFC, &mSpeed);
current.pos += mSpeed;
spFC.z = speedF;
mDoMtx_stack_c::multVecSR(&spFC, &speed);
current.pos += speed;
current.pos.x += field_0x342c;
current.pos.z += field_0x3430;
} else {
current.pos += mSpeed;
current.pos += speed;
current.pos.x += field_0x342c;
current.pos.z += field_0x3430;
@@ -16626,12 +16625,12 @@ void daAlink_c::posMove() {
}
if (checkBoardRide() && !i_checkModeFlg(2)) {
current.pos.y -= mSpeedF * cM_ssin(var_r26);
current.pos.y -= speedF * cM_ssin(var_r26);
}
if (i_getSumouMode() && mProcID != PROC_SUMOU_WIN_LOSE) {
current.pos.y = var_f31 - 1.0f;
mSpeed.y = mGravity;
speed.y = mGravity;
}
field_0x342c = 0.0f;
@@ -17820,7 +17819,7 @@ asm void daAlink_c::changeWarpMaterial(daAlink_c::daAlink_WARP_MAT_MODE param_0)
#ifdef NONMATCHING
void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) {
if (mProcID == PROC_TOOL_DEMO) {
mSpeed.y = 0.0f;
speed.y = 0.0f;
resetDemoBck();
if (i_checkModeFlg(MODE_RIDING)) {
initForceRideHorse();
+4 -4
View File
@@ -16,8 +16,8 @@ f32 daAlink_c::getBoomSpeed() {
if (i_checkModeFlg(0x400)) {
fopAc_ac_c* ride_actor = mRideAcKeep.getActor();
if (ride_actor != NULL && ride_actor->mSpeedF > FLOAT_LABEL(lit_6108)) {
speed += ride_actor->mSpeedF;
if (ride_actor != NULL && ride_actor->speedF > FLOAT_LABEL(lit_6108)) {
speed += ride_actor->speedF;
}
}
@@ -211,8 +211,8 @@ void daAlink_c::throwBoomerang() {
mFastShotTime = -1;
daPy_boomerangMove_c::offEventKeepFlg();
} else {
item->mSpeedF = daAlinkHIO_pickUp_c0::m.field_0x28;
item->mSpeed.y = daAlinkHIO_pickUp_c0::m.field_0x2C;
item->speedF = daAlinkHIO_pickUp_c0::m.field_0x28;
item->speed.y = daAlinkHIO_pickUp_c0::m.field_0x2C;
item->current.angle.y = shape_angle.y;
fopAcM_cancelCarryNow(item);
+3 -3
View File
@@ -139,7 +139,7 @@ BOOL daAlink_c::checkCanoeJumpRide() {
canoe = (daCanoe_c*)field_0x850[1].GetCoHitAc();
}
if (mSpeed.y < FLOAT_LABEL(lit_6108) && canoe != NULL && fopAcM_GetName(canoe) == PROC_CANOE &&
if (speed.y < FLOAT_LABEL(lit_6108) && canoe != NULL && fopAcM_GetName(canoe) == PROC_CANOE &&
canoe->checkJumpRideFlg() && !checkDeadHP() &&
(mProcID != PROC_FALL || field_0x3010 != 0)) {
return procCanoeJumpRideInit(canoe);
@@ -257,7 +257,7 @@ int daAlink_c::procCanoeRideInit() {
f32 tmp_0 = FLOAT_LABEL(lit_6108);
mNormalSpeed = tmp_0;
mSpeed.y = tmp_0;
speed.y = tmp_0;
setRideCanoeBasePos(canoe);
if ((s16)(fopAcM_searchActorAngleY(canoe, this) - canoe->shape_angle.y) > 0) {
@@ -329,7 +329,7 @@ int daAlink_c::procCanoeJumpRideInit(fopAc_ac_c* param_0) {
f32 tmp_0 = FLOAT_LABEL(lit_6108);
mNormalSpeed = tmp_0;
mSpeed.y = tmp_0;
speed.y = tmp_0;
setRideCanoeBasePos(canoe);
mDoMtx_multVec(canoe->getModelMtx(), &field_0x37c8, &current.pos);
current.angle.y = shape_angle.y;
+13 -13
View File
@@ -686,9 +686,9 @@ void daAlink_c::checkCutAtnActorChange() {
void daAlink_c::setCutJumpSpeed(int i_airAt) {
if (i_checkNoResetFlg0(FLG0_UNDERWATER)) {
mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX;
mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
speed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
} else if (checkHeavyStateOn(1, 1)) {
mSpeed.y *= 1.35f;
speed.y *= 1.35f;
}
if (mTargetedActor != NULL && !i_airAt) {
@@ -703,7 +703,7 @@ void daAlink_c::setCutJumpSpeed(int i_airAt) {
targetPos.y = mTargetedActor->mEyePos.y;
}
f32 dvar12 = mSpeed.y + mGravity;
f32 dvar12 = speed.y + mGravity;
f32 dvar10 = 1.0f / mGravity;
f32 fvar1 = targetPos.y - (current.pos.y - (dvar10 * (dvar12 * dvar12) * 0.5f));
@@ -1027,14 +1027,14 @@ int daAlink_c::procCutFinishJumpUpInit() {
}
setCutType(CUT_TYPE_TWIRL);
mSpeed.y = daAlinkHIO_cutFnJU_c0::m.mSpeedV;
speed.y = daAlinkHIO_cutFnJU_c0::m.mSpeedV;
mNormalSpeed = daAlinkHIO_cutFnJU_c0::m.mSpeedH;
if (i_checkNoResetFlg0(FLG0_UNDERWATER)) {
mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX;
mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
speed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
} else if (checkHeavyStateOn(1, 1)) {
mSpeed.y *= lit_7624;
speed.y *= lit_7624;
}
if (side_roll) {
@@ -1255,10 +1255,10 @@ int daAlink_c::procCutJumpInit(int i_airCut) {
if (i_airCut) {
mNormalSpeed = daAlinkHIO_cutJump_c0::m.mAirJumpSpeedH;
mSpeed.y = daAlinkHIO_cutJump_c0::m.mAirJumpSpeedV;
speed.y = daAlinkHIO_cutJump_c0::m.mAirJumpSpeedV;
} else {
mNormalSpeed = daAlinkHIO_cutJump_c0::m.mBaseJumpSpeedH;
mSpeed.y = daAlinkHIO_cutJump_c0::m.mBaseJumpSpeedV;
speed.y = daAlinkHIO_cutJump_c0::m.mBaseJumpSpeedV;
}
setCutJumpSpeed(i_airCut);
@@ -1639,7 +1639,7 @@ int daAlink_c::procCutDown() {
return 1;
}
if (mLinkAcch.ChkGroundHit() && mSpeed.y <= FLOAT_LABEL(lit_6108)) {
if (mLinkAcch.ChkGroundHit() && speed.y <= FLOAT_LABEL(lit_6108)) {
procCutDownLandInit((fopEn_enemy_c*)field_0x280c.getActor());
} else if (mUnderFrameCtrl[0].checkAnmEnd() && mCommonCounter == 0) {
mCommonCounter = 1;
@@ -1685,11 +1685,11 @@ int daAlink_c::procCutHead() {
if (field_0x300e == 0) {
cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), field_0x3478);
if (mSpeed.y <= FLOAT_LABEL(lit_6108)) {
if (speed.y <= FLOAT_LABEL(lit_6108)) {
setSingleAnimeParam(ANM_CUT_HEAD, &daAlinkHIO_cutHead_c0::m.mCutAnm);
f32 tmp_0 = FLOAT_LABEL(lit_6108);
mNormalSpeed = tmp_0;
mSpeed.y = tmp_0;
speed.y = tmp_0;
setSpecialGravity(tmp_0, mMaxFallSpeed, 0);
field_0x300e = 1;
setCutWaterDropEffect();
@@ -1700,7 +1700,7 @@ int daAlink_c::procCutHead() {
mNormalSpeed *= lit_8501;
if (frameCtrl->checkPass(lit_8502)) {
mSpeed.y = daAlinkHIO_cutHead_c0::m.mAddSpeedV;
speed.y = daAlinkHIO_cutHead_c0::m.mAddSpeedV;
mNormalSpeed = daAlinkHIO_cutHead_c0::m.mAddSpeedH;
initGravity();
}
@@ -1837,7 +1837,7 @@ int daAlink_c::procCutLargeJump() {
if (!i_checkModeFlg(2) && frameCtrl->getFrame() >= lit_7808) {
setJumpMode();
mNormalSpeed = daAlinkHIO_cutLargeJump_c0::m.mCutSpeedH;
mSpeed.y = daAlinkHIO_cutLargeJump_c0::m.mCutSpeedV;
speed.y = daAlinkHIO_cutLargeJump_c0::m.mCutSpeedV;
setCutJumpSpeed(0);
}
+1 -1
View File
@@ -207,7 +207,7 @@ int daAlink_c::procBoardJumpInit(f32 param_0, int param_1) {
daAlinkHIO_board_c0::m.mAirborneAnm.mInterpolation);
if (param_1 == 0) {
mSpeed.y = cLib_minMaxLimit(param_0, daAlinkHIO_board_c0::m.mMinJumpSpeedY, daAlinkHIO_board_c0::m.mMaxJumpSpeedY);
speed.y = cLib_minMaxLimit(param_0, daAlinkHIO_board_c0::m.mMinJumpSpeedY, daAlinkHIO_board_c0::m.mMaxJumpSpeedY);
}
field_0x3010 = 0;
+21 -21
View File
@@ -425,7 +425,7 @@ int daAlink_c::procSideStepInit(int jump_type) {
current.angle.y = shape_angle.y + 0x8000;
setSingleAnimeParam(ANM_BACK_JUMP, &daAlinkHIO_sideStep_c0::m.mBackJumpAnm);
mNormalSpeed = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedH;
mSpeed.y = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedV;
speed.y = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedV;
field_0x300a = 0;
} else {
daAlink_ANM anm_id;
@@ -439,13 +439,13 @@ int daAlink_c::procSideStepInit(int jump_type) {
setSingleAnimeParam(anm_id, &daAlinkHIO_sideStep_c0::m.mSideJumpAnm);
mNormalSpeed = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedH;
mSpeed.y = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedV;
speed.y = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedV;
field_0x300a = 1;
}
if (i_checkNoResetFlg0(FLG0_UNDERWATER)) {
mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX;
mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
speed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
}
voiceStart(Z2SE_AL_V_JUMP_S);
@@ -686,7 +686,7 @@ int daAlink_c::procFrontRollInit() {
daAlinkHIO_frontRoll_c0::m.mRollAnm.field_0x00,
daAlinkHIO_frontRoll_c0::m.mRollAnm.field_0x0c);
mNormalSpeed =
mSpeedF * daAlinkHIO_frontRoll_c0::m.mInitSpeed + daAlinkHIO_frontRoll_c0::m.mSpeedRate;
speedF * daAlinkHIO_frontRoll_c0::m.mInitSpeed + daAlinkHIO_frontRoll_c0::m.mSpeedRate;
if (mNormalSpeed > daAlinkHIO_frontRoll_c0::m.mCrashHitAnm.field_0x08) {
mNormalSpeed = daAlinkHIO_frontRoll_c0::m.mCrashHitAnm.field_0x08;
}
@@ -751,11 +751,11 @@ int daAlink_c::procFrontRollCrashInit() {
daAlinkHIO_frontRoll_c0::m.mCrashAnm.mInterpolation);
mNormalSpeed = daAlinkHIO_frontRoll_c0::m.mCrashSpeedH;
mSpeed.y = daAlinkHIO_frontRoll_c0::m.mCrashSpeedV;
speed.y = daAlinkHIO_frontRoll_c0::m.mCrashSpeedV;
if (i_checkNoResetFlg0(FLG0_UNDERWATER)) {
mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX;
mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
speed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
}
current.angle.y -= -0x8000;
@@ -931,12 +931,12 @@ int daAlink_c::procBackJumpInit(int param_0) {
if (param_0) {
setSingleAnimeParam(ANM_BACKFLIP, &daAlinkHIO_cutDown_c0::m.mRecoverAnm);
mNormalSpeed = daAlinkHIO_cutDown_c0::m.mRecoverSpeedV;
mSpeed.y = daAlinkHIO_cutDown_c0::m.mSpeedV;
speed.y = daAlinkHIO_cutDown_c0::m.mSpeedV;
voiceStart(Z2SE_AL_V_TODOME_RETURN);
} else {
setSingleAnimeParam(ANM_BACKFLIP, &daAlinkHIO_backJump_c0::m.mBackflipAnm);
mNormalSpeed = daAlinkHIO_backJump_c0::m.mBackflipSpeedH;
mSpeed.y = daAlinkHIO_backJump_c0::m.mBackflipSpeedV;
speed.y = daAlinkHIO_backJump_c0::m.mBackflipSpeedV;
voiceStart(Z2SE_AL_V_BACKTEN);
}
@@ -1047,7 +1047,7 @@ int daAlink_c::procBackJumpLand() {
int daAlink_c::procSlipInit() {
commonProcInit(PROC_SLIP);
setSingleAnimeParam(ANM_SLIP, &daAlinkHIO_move_c0::m.mSlideAnm);
mNormalSpeed = mSpeedF * daAlinkHIO_move_c0::m.mSlideSpeed;
mNormalSpeed = speedF * daAlinkHIO_move_c0::m.mSlideSpeed;
field_0x2f9d = 0x40;
setFootEffectProcType(1);
@@ -1097,7 +1097,7 @@ int daAlink_c::procDiveJumpInit() {
deleteEquipItem(TRUE, TRUE);
setHeavyBoots(0);
mSpeed.y = daAlinkHIO_autoJump_c0::m.mDiveSpeedV;
speed.y = daAlinkHIO_autoJump_c0::m.mDiveSpeedV;
mNormalSpeed = daAlinkHIO_autoJump_c0::m.mDiveSpeedH;
mGravity = daAlinkHIO_autoJump_c0::m.mDiveGravity;
@@ -1142,7 +1142,7 @@ int daAlink_c::procRollJumpInit() {
field_0x3478 = field_0x3410;
mNormalSpeed = field_0x3410;
mSpeed.y = field_0x3414;
speed.y = field_0x3414;
field_0x2fe6 = field_0x30ee;
shape_angle.y = field_0x30ee;
@@ -1165,7 +1165,7 @@ int daAlink_c::procRollJump() {
return checkLandAction(0);
}
if (mSpeed.y < FLOAT_LABEL(lit_6108)) {
if (speed.y < FLOAT_LABEL(lit_6108)) {
procFallInit(3, daAlinkHIO_autoJump_c0::m.mSpinJumpFallInterpolation);
} else {
s16 old_angle = shape_angle.x;
@@ -1469,7 +1469,7 @@ int daAlink_c::procCoMetamorphoseInit() {
if ((i_checkWolf() && mDemo.getDemoMode() == 0x39) ||
(!i_checkWolf() && mDemo.getDemoMode() == 0x3A)) {
field_0x300a = 1;
mSpeed.y = 0.0f;
speed.y = 0.0f;
mNormalSpeed = 0.0f;
if (i_checkWolf()) {
@@ -1549,7 +1549,7 @@ int daAlink_c::procCoMetamorphoseInit() {
mCommonCounter = 0;
}
}
mSpeed.y = 0.0f;
speed.y = 0.0f;
mNormalSpeed = 0.0f;
field_0x3012 = 0;
}
@@ -1639,7 +1639,7 @@ int daAlink_c::procCoMetamorphoseOnlyInit() {
f32 tmp_0 = FLOAT_LABEL(lit_6108);
mNormalSpeed = tmp_0;
mSpeed.y = tmp_0;
speed.y = tmp_0;
setSpecialGravity(tmp_0, mMaxFallSpeed, 0);
return 1;
@@ -2161,7 +2161,7 @@ int daAlink_c::execute() {
}
cXyz pos = current.pos;
field_0x3528 = mSpeed;
field_0x3528 = speed;
mLinkAcch.ClrGroundHit();
mLinkAcch.CrrPos(dComIfG_Bgsp());
@@ -2203,7 +2203,7 @@ int daAlink_c::execute() {
Vec tmp;
mDoMtx_stack_c::multVec(&tmp, &current.pos);
mSpeed.y = 0.0f;
speed.y = 0.0f;
if (field_0x3198 != 0) {
if (mLinkAcch.GetGroundH() != -1000000000.0f) {
@@ -2218,13 +2218,13 @@ int daAlink_c::execute() {
} else if (checkModeFlg(MODE_UNK_4000)) {
if (mProcID == PROC_DOOR_OPEN || mProcID == PROC_HANG_LEVER_DOWN) {
current.pos.y = old_pos.y;
mSpeed.y = 0.0f;
speed.y = 0.0f;
}
current.pos.x = pos.x;
current.pos.z = pos.z;
} else if (checkFlyAtnWait() || mProcID == PROC_WARP) {
current.pos.y = old_pos.y;
mSpeed.y = 0.0f;
speed.y = 0.0f;
}
field_0x3178 = field_0x3174;
@@ -2629,7 +2629,7 @@ int daAlink_c::execute() {
} else if (dComIfGp_getDoStatus() == 0x91) {
if (checkWolf() ||
(field_0x27f4 != NULL &&
(field_0x27f4->mSpeedF > 0.1f || (checkGoatCatchActor(field_0x27f4) &&
(field_0x27f4->speedF > 0.1f || (checkGoatCatchActor(field_0x27f4) &&
fopAcM_GetName(field_0x27f4) != PROC_COW)))) {
setDoStatusEmphasys(0x15);
} else {
@@ -3192,7 +3192,7 @@ int daAlink_c::procCoPeepSubjectivityInit() {
i_onPlayerNoDraw();
setSpecialGravity(FLOAT_LABEL(lit_6108), mMaxFallSpeed, 0);
mSpeed.y = FLOAT_LABEL(lit_6108);
speed.y = FLOAT_LABEL(lit_6108);
dComIfGp_setPlayerStatus0(0, 0x2000);
field_0x3478 = lit_6183;
mCommonCounter = shape_angle.y;
+3 -3
View File
@@ -137,7 +137,7 @@ int daAlink_c::procSpinnerReadyInit() {
mNormalSpeed = FLOAT_LABEL(lit_6108);
setHeavyBoots(0);
mSpeed.y = lit_7451;
speed.y = lit_7451;
voiceStart(Z2SE_AL_V_JUMP_S);
seStartOnlyReverb(Z2SE_AL_SPINNER_START);
@@ -194,7 +194,7 @@ int daAlink_c::procSpinnerWaitInit() {
mRideStatus = 5;
setBgCheckParam();
setSingleAnimeBaseSpeed(ANM_RIDE_CROUCH, daAlinkHIO_board_c0::m.mSitAnmSpeed, 4.0f);
mSpeed.y = 0.0f;
speed.y = 0.0f;
setSpecialGravity(0.0f, mMaxFallSpeed, 0);
mNormalSpeed = 0.0f;
mCommonCounter = 0;
@@ -276,7 +276,7 @@ int daAlink_c::procSpinnerWait() {
setSpinnerStatus(ACTION_STR_JUMP2, ACTION_FLG_DEFAULT);
}
mNormalSpeed = spinner->mSpeedF;
mNormalSpeed = spinner->speedF;
current.angle.y = spinner->current.angle.y;
if (spinner->checkSpinnerTagIntoIncRot()) {
+8 -8
View File
@@ -1129,9 +1129,9 @@ int daAlink_c::procWolfSlipInit() {
setSingleAnimeWolfParam(WANM_SLIP, &daAlinkHIO_wlMove_c0::m.field_0x0);
if (checkWolfDashMode()) {
mNormalSpeed = mSpeedF * daAlinkHIO_wlMove_c0::m.field_0xA4;
mNormalSpeed = speedF * daAlinkHIO_wlMove_c0::m.field_0xA4;
} else {
mNormalSpeed = mSpeedF * daAlinkHIO_wlMoveNoP_c0::m.field_0x3C;
mNormalSpeed = speedF * daAlinkHIO_wlMoveNoP_c0::m.field_0x3C;
}
current.angle.y = shape_angle.y;
@@ -1634,7 +1634,7 @@ int daAlink_c::procWolfRopeSubjectivityInit() {
setSpecialGravity(FLOAT_LABEL(lit_6108), mMaxFallSpeed, 0);
f32 tmp_0 = FLOAT_LABEL(lit_6108);
mSpeed.y = tmp_0;
speed.y = tmp_0;
mNormalSpeed = tmp_0;
setWolfRopeOffsetY(setWolfRopePosY());
@@ -1806,7 +1806,7 @@ int daAlink_c::procWolfHangReadyInit() {
f32 tmp_0 = FLOAT_LABEL(lit_6108);
mNormalSpeed = tmp_0;
mSpeed.y = tmp_0;
speed.y = tmp_0;
return 1;
}
@@ -2261,7 +2261,7 @@ int daAlink_c::procWolfSwimMoveInit() {
if (i_checkNoResetFlg0(FLG0_UNK_100)) {
current.pos.y = mWaterY;
mSpeed.y = FLOAT_LABEL(lit_6108);
speed.y = FLOAT_LABEL(lit_6108);
}
dComIfGp_setPlayerStatus0(0, 0x100000);
@@ -2654,7 +2654,7 @@ int daAlink_c::procWolfJumpAttackKickInit() {
setSingleAnimeWolfParam(WANM_JUMP_KICK, &daAlinkHIO_wlAtCjump_c0::m.field_0x14);
f32 tmp_0 = FLOAT_LABEL(lit_6108);
mSpeed.y = tmp_0;
speed.y = tmp_0;
mNormalSpeed = tmp_0;
setSpecialGravity(tmp_0, mMaxFallSpeed, 0);
@@ -2955,7 +2955,7 @@ int daAlink_c::procWolfEnemyHangBiteInit() {
f32 tmp_0 = FLOAT_LABEL(lit_6108);
mNormalSpeed = tmp_0;
mSpeed.y = tmp_0;
speed.y = tmp_0;
setSpecialGravity(tmp_0, mMaxFallSpeed, 0);
if (!setWolfEnemyHangBitePos((fopEn_enemy_c*)field_0x281c.getActor())) {
@@ -3123,7 +3123,7 @@ int daAlink_c::procWolfCargoCarryInit() {
f32 tmp_0 = FLOAT_LABEL(lit_6108);
mNormalSpeed = tmp_0;
mSpeed.y = tmp_0;
speed.y = tmp_0;
setSpecialGravity(tmp_0, mMaxFallSpeed, 0);
daAlink_WANM wanm;
+5 -5
View File
@@ -2550,8 +2550,8 @@ int daNpcT_c::initTalk(int param_0, fopAc_ac_c** param_1) {
}
f32 tmp = FLOAT_LABEL(lit_4116);
mSpeedF = tmp;
mSpeed.set(tmp,tmp,tmp);
speedF = tmp;
speed.set(tmp,tmp,tmp);
return 1;
}
@@ -3685,7 +3685,7 @@ void daBaseNpc_c::setEnvTevColor() {
/* 8014F0FC-8014F140 149A3C 0044+00 1/1 0/0 2/2 .text setRoomNo__11daBaseNpc_cFv */
void daBaseNpc_c::setRoomNo() {
s32 room_id = dComIfG_Bgsp().GetRoomId(mBgSPolyInfo);
current.mRoomNo = room_id;
current.roomNo = room_id;
mRoomId = room_id;
}
@@ -5090,8 +5090,8 @@ asm void daNpcF_c::chkActorInAttnArea(fopAc_ac_c* param_0, fopAc_ac_c* param_1,
int daNpcF_c::initTalk(int param_0, fopAc_ac_c** param_1) {
mFlow.init(this,param_0,0,param_1);
f32 tmp = FLOAT_LABEL(lit_4116);
mSpeedF = tmp;
mSpeed.set(tmp,tmp,tmp);
speedF = tmp;
speed.set(tmp,tmp,tmp);
field_0x9e9 = 0;
field_0x9ec = 0;
return 1;
+9 -10
View File
@@ -191,7 +191,6 @@ extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" u8 const m_data__12daItemBase_c[56];
extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */];
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* __vt__8cM3dGPla[3];
extern "C" extern void* __vt__8cM3dGCyl[3];
extern "C" extern void* __vt__8cM3dGAab[3];
@@ -545,7 +544,7 @@ SECTION_SDATA2 static f64 lit_4072 = 4503599627370496.0 /* cast u32 to float */;
#ifdef NONMATCHING
void daItem_c::CreateInit() {
mAcchCir.SetWall(30.0f, 30.0f);
mAcch.Set(&current.pos, &next.pos, this, 1, &mAcchCir, &mSpeed, NULL, NULL);
mAcch.Set(&current.pos, &next.pos, this, 1, &mAcchCir, &speed, NULL, NULL);
mAcch.ClrWaterNone();
mAcch.ClrRoofNone();
mAcch.SetWtrChkMode(2);
@@ -615,8 +614,8 @@ void daItem_c::CreateInit() {
field_0x978.init(&current.pos, 1);
f32 old_speedF = mSpeedF;
cXyz old_speed = mSpeed;
f32 old_speedF = speedF;
cXyz old_speed = speed;
mAcch.CrrPos(dComIfG_Bgsp());
@@ -628,8 +627,8 @@ void daItem_c::CreateInit() {
field_0x9c0 = 1;
}
mSpeedF = old_speedF;
mSpeed = old_speed;
speedF = old_speedF;
speed = old_speed;
mAcch.ClrGroundLanding();
mAcch.i_ClrGroundHit();
@@ -817,7 +816,7 @@ SECTION_SDATA2 static f32 lit_4321 = 18.0f;
// eyepos.y issue / need sinit for mFuncPtr
#ifdef NONMATCHING
int daItem_c::_daItem_execute() {
field_0x950 = mSpeed;
field_0x950 = speed;
CountTimer();
mEyePos = current.pos;
@@ -1190,7 +1189,7 @@ void daItem_c::mode_water_init() {
/* 8015CCD0-8015CDCC 157610 00FC+00 1/0 0/0 0/0 .text mode_wait__8daItem_cFv */
void daItem_c::mode_wait() {
if (field_0x924 < 5 && mSpeed.y > FLOAT_LABEL(lit_3857)) {
if (field_0x924 < 5 && speed.y > FLOAT_LABEL(lit_3857)) {
mAcch.SetGrndNone();
}
@@ -1460,7 +1459,7 @@ int daItem_c::itemActionForRupee() {
if (mAcch.ChkGroundHit()) {
RotateYBase();
mSpeedF *= 0.95f;
speedF *= 0.95f;
}
if (field_0x94b >= 2) {
@@ -1572,7 +1571,7 @@ int daItem_c::initAction() {
initAngle();
if (isHeart(m_itemNo)) {
mSpeedF = (cM_rndF(5.0f) + 20.0f) - 15.0f;
speedF = (cM_rndF(5.0f) + 20.0f) - 15.0f;
shape_angle.z = cM_rndFX(getData().field_0x2a);
}
+1 -1
View File
@@ -773,7 +773,7 @@ f32 daPy_py_c::getSpinnerRideSpeed() const {
f32 rideSpeed;
if (checkSpinnerRide()) {
rideSpeed = mSpeedF;
rideSpeed = speedF;
} else {
rideSpeed = lit_4215[0];
}
+19 -19
View File
@@ -67,43 +67,43 @@ static int CheckCreateHeap(fopAc_ac_c* p_actor) {
}
/* 80078688-80078690 072FC8 0008+00 1/0 0/0 2/0 .text CreateHeap__16dBgS_MoveBgActorFv */
s32 dBgS_MoveBgActor::CreateHeap() {
int dBgS_MoveBgActor::CreateHeap() {
return 1;
}
/* 80078690-80078698 072FD0 0008+00 1/0 0/0 60/0 .text Create__16dBgS_MoveBgActorFv */
bool dBgS_MoveBgActor::Create() {
return true;
int dBgS_MoveBgActor::Create() {
return 1;
}
/* 80078698-800786A0 072FD8 0008+00 1/0 0/0 3/0 .text Execute__16dBgS_MoveBgActorFPPA3_A4_f */
bool dBgS_MoveBgActor::Execute(f32 (**param_0)[3][4]) {
return true;
int dBgS_MoveBgActor::Execute(f32 (**param_0)[3][4]) {
return 1;
}
/* 800786A0-800786A8 072FE0 0008+00 1/0 0/0 2/0 .text Draw__16dBgS_MoveBgActorFv */
bool dBgS_MoveBgActor::Draw() {
return true;
int dBgS_MoveBgActor::Draw() {
return 1;
}
/* 800786A8-800786B0 072FE8 0008+00 1/0 0/0 6/0 .text Delete__16dBgS_MoveBgActorFv */
bool dBgS_MoveBgActor::Delete() {
return true;
int dBgS_MoveBgActor::Delete() {
return 1;
}
/* 800786B0-800786B8 072FF0 0008+00 1/0 0/0 171/0 .text IsDelete__16dBgS_MoveBgActorFv */
bool dBgS_MoveBgActor::IsDelete() {
return true;
int dBgS_MoveBgActor::IsDelete() {
return 1;
}
/* 800786B8-800786C0 072FF8 0008+00 1/0 0/0 171/0 .text ToFore__16dBgS_MoveBgActorFv */
bool dBgS_MoveBgActor::ToFore() {
return true;
int dBgS_MoveBgActor::ToFore() {
return 1;
}
/* 800786C0-800786C8 073000 0008+00 1/0 0/0 171/0 .text ToBack__16dBgS_MoveBgActorFv */
bool dBgS_MoveBgActor::ToBack() {
return true;
int dBgS_MoveBgActor::ToBack() {
return 1;
}
/* ############################################################################################## */
@@ -189,8 +189,8 @@ asm int dBgS_MoveBgActor::MoveBGCreate(char const* param_0, int param_1, MoveBGA
#endif
/* 800788DC-80078950 07321C 0074+00 0/0 0/0 169/169 .text MoveBGDelete__16dBgS_MoveBgActorFv */
bool dBgS_MoveBgActor::MoveBGDelete() {
bool ret = Delete();
int dBgS_MoveBgActor::MoveBGDelete() {
int ret = Delete();
if (field_0x568 != NULL && field_0x568->ChkUsed()) {
dComIfG_Bgsp().Release(field_0x568);
@@ -199,10 +199,10 @@ bool dBgS_MoveBgActor::MoveBGDelete() {
}
/* 80078950-80078A14 073290 00C4+00 0/0 0/0 183/183 .text MoveBGExecute__16dBgS_MoveBgActorFv */
bool dBgS_MoveBgActor::MoveBGExecute() {
int dBgS_MoveBgActor::MoveBGExecute() {
Mtx* tmp = NULL;
bool ret = Execute(&tmp);
int ret = Execute(&tmp);
if (tmp == NULL) {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::YrotM(shape_angle.y);
+3 -3
View File
@@ -446,11 +446,11 @@ fopAc_ac_c* cc_at_check(fopAc_ac_c* p_enemy, dCcU_AtInfo* p_info) {
p_info->mpActor = at_power_check(p_info);
if (p_info->mpActor != NULL) {
cXyz tmp = p_info->mpActor->mSpeed;
cXyz tmp = p_info->mpActor->speed;
tmp.y = 0.0f;
if (tmp.abs() > 100.0f) {
f32 x = p_info->mpActor->mSpeed.x;
f32 z = p_info->mpActor->mSpeed.z;
f32 x = p_info->mpActor->speed.x;
f32 z = p_info->mpActor->speed.z;
p_info->mHitDirection = cM_atan2s(-x, -z) + (s16)cM_rndFX(4000.0f);
} else {
if (fopAcM_GetName(p_info->mpActor) == PROC_BOOMERANG) {
+1 -1
View File
@@ -1417,7 +1417,7 @@ void dComIfGp_setNextStage(char const* i_stage, s16 i_point, s8 i_roomNo, s8 i_l
if (dComIfGs_isPlayerFieldLastStayFieldDataExistFlag() &&
daPy_getLinkPlayerActorClass() != NULL) {
s8 curPoint = (s8)daPy_getLinkPlayerActorClass()->current.mRoomNo;
s8 curPoint = (s8)daPy_getLinkPlayerActorClass()->current.roomNo;
cXyz pos = dMapInfo_n::getMapPlayerPos();
s16 angle = daPy_getLinkPlayerActorClass()->shape_angle.y;
u8 level = dComIfGp_getNowLevel();
+70 -258
View File
@@ -1,157 +1,19 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_actor
//
/**
* f_op_actor.cpp
* Actor base process class
*/
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_tag.h"
#include "d/d_stage.h"
#include "dol2asm.h"
#include "dolphin/mtx/mtx.h"
#include "dolphin/types.h"
#include "d/com/d_com_inf_actor.h"
#include "d/com/d_com_inf_game.h"
#include "d/com/d_com_static.h"
#include "d/com/d_com_inf_actor.h"
#include "d/s/d_s_play.h"
#include "d/d_demo.h"
//
// Forward References:
//
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__5csXyzFv();
extern "C" void __ct__11J3DLightObjFv();
extern "C" void __dt__11dEvt_info_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void fopAc_IsActor__FPv();
extern "C" static void fopAc_Draw__FPv();
extern "C" static void fopAc_Execute__FPv();
extern "C" static void fopAc_IsDelete__FPv();
extern "C" static void fopAc_Delete__FPv();
extern "C" static void fopAc_Create__FPv();
extern "C" void getFileListInfo__15dStage_roomDt_cCFv();
extern "C" void initBallModel__13fopEn_enemy_cFv();
extern "C" void checkBallModelDraw__13fopEn_enemy_cFv();
extern "C" void setBallModelEffect__13fopEn_enemy_cFP12dKy_tevstr_c();
extern "C" void drawBallModel__13fopEn_enemy_cFP12dKy_tevstr_c();
extern "C" extern char const* const f_op_f_op_actor__stringBase0;
extern "C" u8 stopStatus__10fopAc_ac_c[4];
extern "C" extern u8 data_80450CC0[4 + 4 /* padding */];
//
// External References:
//
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void fopAcTg_ToActorQ__FP16create_tag_class();
extern "C" void fopAcTg_ActorQTo__FP16create_tag_class();
extern "C" void fopAcTg_Init__FP16create_tag_classPv();
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
extern "C" void fopAcM_DeleteHeap__FP10fopAc_ac_c();
extern "C" void fopAcM_cullingCheck__FPC10fopAc_ac_c();
extern "C" void fopDwTg_ToDrawQ__FP16create_tag_classi();
extern "C" void fopDwTg_DrawQTo__FP16create_tag_class();
extern "C" void fopDwTg_Init__FP16create_tag_classPv();
extern "C" void fpcBs_Is_JustOfType__Fii();
extern "C" void fpcBs_MakeOfType__FPi();
extern "C" void fpcLf_GetPriority__FPC14leafdraw_class();
extern "C" void fpcLf_DrawMethod__FP21leafdraw_method_classPv();
extern "C" void fpcMtd_Execute__FP20process_method_classPv();
extern "C" void fpcMtd_IsDelete__FP20process_method_classPv();
extern "C" void fpcMtd_Delete__FP20process_method_classPv();
extern "C" void fpcMtd_Create__FP20process_method_classPv();
extern "C" void getStatusRoomDt__20dStage_roomControl_cFi();
extern "C" void check__7daSus_cFP10fopAc_ac_c();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void setActor__13dDemo_actor_cFP10fopAc_ac_c();
extern "C" void getActor__14dDemo_object_cFUc();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void moveApproval__14dEvt_control_cFPv();
extern "C" void __ct__11dEvt_info_cFv();
extern "C" void beforeProc__11dEvt_info_cFv();
extern "C" void
set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void dKy_tevstr_init__FP12dKy_tevstr_cScUc();
extern "C" void dKy_depth_dist_set__FPv();
extern "C" void cLib_chaseF__FPfff();
extern "C" void __dl__FPv();
extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo();
extern "C" void searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData();
extern "C" void searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData();
extern "C" void entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey();
extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
extern "C" void __construct_array();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" f32 Zero__4cXyz[3];
extern "C" u8 m_object__7dDemo_c[4];
//
// Declarations:
//
#include "d/s/d_s_play.h"
#include "f_op/f_op_actor_tag.h"
/* 80018B64-80018BD0 0134A4 006C+00 0/0 7/7 562/562 .text __ct__10fopAc_ac_cFv */
fopAc_ac_c::fopAc_ac_c() {}
/* 80018BD0-80018C0C 013510 003C+00 0/0 12/12 0/0 .text __dt__5csXyzFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm csXyz::~csXyz() {
extern "C" asm void __dt__5csXyzFv() {
nofralloc
#include "asm/f_op/f_op_actor/__dt__5csXyzFv.s"
}
#pragma pop
/* 80018C0C-80018C44 01354C 0038+00 1/1 6/6 0/0 .text __ct__11J3DLightObjFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm J3DLightObj::J3DLightObj() {
extern "C" asm void __ct__11J3DLightObjFv() {
nofralloc
#include "asm/f_op/f_op_actor/__ct__11J3DLightObjFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 803A35B0-803A35D0 -00001 0020+00 0/0 3/0 756/0 .data g_fopAc_Method */
SECTION_DATA extern void* g_fopAc_Method[8] = {
(void*)fopAc_Create__FPv,
(void*)fopAc_Delete__FPv,
(void*)fopAc_Execute__FPv,
(void*)fopAc_IsDelete__FPv,
(void*)fopAc_Draw__FPv,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 803A35D0-803A35E0 0006F0 000C+04 2/2 1/1 0/0 .data __vt__11dEvt_info_c */
SECTION_DATA extern void* __vt__11dEvt_info_c[3 + 1 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__11dEvt_info_cFv,
/* padding */
NULL,
};
/* 80018C44-80018C8C 013584 0048+00 1/0 0/0 0/0 .text __dt__11dEvt_info_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dEvt_info_c::~dEvt_info_c() {
extern "C" asm void __dt__11dEvt_info_cFv() {
nofralloc
#include "asm/f_op/f_op_actor/__dt__11dEvt_info_cFv.s"
}
#pragma pop
/* 80018C8C-80018CE0 0135CC 0054+00 0/0 5/5 270/270 .text __dt__10fopAc_ac_cFv */
fopAc_ac_c::~fopAc_ac_c() {}
@@ -174,7 +36,11 @@ static int fopAc_Draw(void* actor) {
int ret = 1;
if (!dComIfGp_isPauseFlag()) {
if ((dComIfGp_event_moveApproval(ac) == 2 || (!fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) && (!fopAcM_checkStatus(ac, 0x100) || !fopAcM_cullingCheck(ac)))) && !fopAcM_checkStatus(ac, 0x21000000)) {
if ((dComIfGp_event_moveApproval(ac) == 2 ||
(!fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) &&
(!fopAcM_checkStatus(ac, 0x100) || !fopAcM_cullingCheck(ac)))) &&
!fopAcM_checkStatus(ac, 0x21000000))
{
fopAcM_OffCondition(ac, 4);
ret = fpcLf_DrawMethod((leafdraw_method_class*)ac->mSubMtd, ac);
} else {
@@ -199,7 +65,10 @@ static int fopAc_Execute(void* actor) {
s32 move = dComIfGp_event_moveApproval(actor);
fopAcM_OffStatus(ac, 0x40000000);
if (!fopAcM_checkStatus(ac, 0x20000000) && (move == 2 || (move != 0 && !fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) && (!fopAcM_checkStatus(ac, 0x80) || !fopAcM_CheckCondition(ac, 4))))) {
if (!fopAcM_checkStatus(ac, 0x20000000) &&
(move == 2 || (move != 0 && !fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) &&
(!fopAcM_checkStatus(ac, 0x80) || !fopAcM_CheckCondition(ac, 4)))))
{
fopAcM_OffCondition(ac, 2);
ac->next = ac->current;
ret = fpcMtd_Execute((process_method_class*)ac->mSubMtd, ac);
@@ -244,7 +113,7 @@ static int fopAc_Delete(void* actor) {
fopAcTg_ActorQTo(&ac->mAcTg);
fopDwTg_DrawQTo(&ac->mDwTg);
fopAcM_DeleteHeap(ac);
dDemo_actor_c* demoAc = dDemo_c::getActor(ac->mDemoActorId);
if (demoAc != NULL) {
demoAc->setActor(NULL);
@@ -254,34 +123,23 @@ static int fopAc_Delete(void* actor) {
return deleted;
}
/* ############################################################################################## */
/* 80451BD0-80451BD4 0001D0 0004+00 2/2 0/0 0/0 .sdata2 @4431 */
SECTION_SDATA2 static f32 lit_4431 = 1.0f / 10.0f;
/* 80451BD4-80451BD8 0001D4 0004+00 1/1 0/0 0/0 .sdata2 @4432 */
SECTION_SDATA2 static f32 lit_4432 = -100.0f;
/* 80451BD8-80451BE0 0001D8 0008+00 1/1 0/0 0/0 .sdata2 @4434 */
SECTION_SDATA2 static f64 lit_4434 = 4503599627370496.0 /* cast u32 to float */;
/* 8001904C-800193FC 01398C 03B0+00 1/0 0/0 0/0 .text fopAc_Create__FPv */
// swapped registers
#ifdef NONMATCHING
static int fopAc_Create(void* actor) {
fopAc_ac_c* ac = (fopAc_ac_c*)actor;
if (fpcM_IsFirstCreating(actor)) {
actor_process_profile_definition* profile = (actor_process_profile_definition*) fpcM_GetProfile(actor);
actor_process_profile_definition* profile =
(actor_process_profile_definition*)fpcM_GetProfile(actor);
ac->mAcType = fpcBs_MakeOfType(&g_fopAc_type);
ac->mSubMtd = (profile_method_class*)profile->mBase.mMethods;
ac->mSubMtd = (profile_method_class*)profile->mSubMtd;
fopAcTg_Init(&ac->mAcTg, ac);
fopAcTg_ToActorQ(&ac->mAcTg);
fopDwTg_Init(&ac->mDwTg, ac);
ac->mStatus = profile->field_0x28;
ac->mGroup = profile->field_0x2c;
ac->mCullType = profile->field_0x2d;
ac->mStatus = profile->mStatus;
ac->mGroup = profile->mActorType;
ac->mCullType = profile->mCullType;
fopAcM_prm_class* append = fopAcM_GetAppend(ac);
if (append != NULL) {
@@ -291,9 +149,10 @@ static int fopAc_Create(void* actor) {
ac->shape_angle = append->mAngle;
ac->mParentPcId = append->mParentPId;
ac->mSubtype = append->mSubtype;
ac->mScale.set(append->mScale[0] * 0.1f, append->mScale[1] * 0.1f, append->mScale[2] * 0.1f);
ac->mScale.set(append->mScale[0] * 0.1f, append->mScale[1] * 0.1f,
append->mScale[2] * 0.1f);
ac->mSetID = append->mEnemyNo;
ac->orig.mRoomNo = append->mRoomNo;
ac->orig.roomNo = append->mRoomNo;
}
ac->next = ac->orig;
@@ -311,7 +170,7 @@ static int fopAc_Create(void* actor) {
ac->mAttentionInfo.field_0x8[0] = 51;
ac->mAttentionInfo.mPosition = ac->orig.pos;
ac->mAttentionInfo.field_0xa = 30;
dKy_tevstr_init(&ac->mTevStr, ac->orig.mRoomNo, -1);
dKy_tevstr_init(&ac->mTevStr, ac->orig.roomNo, -1);
int roomNo = dComIfGp_roomControl_getStayNo();
if (roomNo >= 0) {
@@ -319,45 +178,40 @@ static int fopAc_Create(void* actor) {
}
dStage_FileList_dt_c* filelist = NULL;
if (ac->orig.mRoomNo >= 0) {
filelist = dComIfGp_roomControl_getStatusRoomDt(ac->orig.mRoomNo)->mRoomDt.getFileListInfo();
if (ac->orig.roomNo >= 0) {
filelist =
dComIfGp_roomControl_getStatusRoomDt(ac->orig.roomNo)->mRoomDt.getFileListInfo();
}
if (filelist != NULL) {
if (!dStage_FileList_dt_GetEnemyAppear1Flag(filelist)) {
u32 sw = dStage_FileList_dt_GetBitSw(filelist);
if (sw != 0xFF && dComIfGs_isSwitch(sw, ac->orig.mRoomNo) && profile->field_0x2c == 2) {
return 5;
if (sw != 0xFF && dComIfGs_isSwitch(sw, ac->orig.roomNo) &&
profile->mActorType == 2)
{
return cPhs_ERROR_e;
}
} else {
u32 sw = dStage_FileList_dt_GetBitSw(filelist);
if (sw != 0xFF && !dComIfGs_isSwitch(sw, ac->orig.mRoomNo) && profile->field_0x2c == 2) {
return 5;
if (sw != 0xFF && !dComIfGs_isSwitch(sw, ac->orig.roomNo) &&
profile->mActorType == 2)
{
return cPhs_ERROR_e;
}
}
}
}
int ret = fpcMtd_Create((process_method_class*)ac->mSubMtd, ac);
if (ret == 4) {
if (ret == cPhs_COMPLEATE_e) {
s32 priority = fpcLf_GetPriority(ac);
fopDwTg_ToDrawQ(&ac->mDwTg, priority);
} else if (ret == 5) {
} else if (ret == cPhs_ERROR_e) {
fopAcM_OnCondition(ac, 0x10);
}
return ret;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm int fopAc_Create(void* param_0) {
nofralloc
#include "asm/f_op/f_op_actor/fopAc_Create__FPv.s"
}
#pragma pop
#endif
/* 800193FC-80019404 013D3C 0008+00 0/0 1/0 0/0 .text getFileListInfo__15dStage_roomDt_cCFv */
dStage_FileList_dt_c* dStage_roomDt_c::getFileListInfo() const {
@@ -366,124 +220,75 @@ dStage_FileList_dt_c* dStage_roomDt_c::getFileListInfo() const {
/* 80019404-800194FC 013D44 00F8+00 0/0 0/0 2/2 .text initBallModel__13fopEn_enemy_cFv */
bool fopEn_enemy_c::initBallModel() {
void* objRes = dComIfG_getObjectRes("Alink",daAlink_c::getBallModelIdx());
void* objRes = dComIfG_getObjectRes("Alink", daAlink_c::getBallModelIdx());
mBallModel = mDoExt_J3DModel__create((J3DModelData*)objRes, 0x80000, 0x11000284);
if (!mBallModel) {
return false;
}
else {
} else {
mBallModel->setBaseScale(cXyz::Zero);
mBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Alink",daAlink_c::getBallBtkIdx());
mBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Alink", daAlink_c::getBallBtkIdx());
mBtk->searchUpdateMaterialID(mBallModel->getModelData());
mBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Alink",daAlink_c::getBallBrkIdx());
mBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Alink", daAlink_c::getBallBrkIdx());
mBrk->searchUpdateMaterialID(mBallModel->getModelData());
}
return true;
}
/* 800194FC-80019520 013E3C 0024+00 2/2 0/0 2/2 .text checkBallModelDraw__13fopEn_enemy_cFv */
int fopEn_enemy_c::checkBallModelDraw() {
int ret = 0;
if ((mFlags & 1) && !(mFlags & 0x32)) {
ret = 1;
}
return ret;
bool fopEn_enemy_c::checkBallModelDraw() {
return (mFlags & 1) && !(mFlags & 0x32);
}
/* ############################################################################################## */
/* 80451BE0-80451BE8 0001E0 0004+04 2/2 0/0 0/0 .sdata2 @4505 */
SECTION_SDATA2 static f32 lit_4505[1 + 1 /* padding */] = {
1.0f,
/* padding */
0.0f,
};
/* 80451BE8-80451BF0 0001E8 0008+00 1/1 0/0 0/0 .sdata2 @4507 */
SECTION_SDATA2 static f64 lit_4507 = 4503601774854144.0 /* cast s32 to float */;
/* 80019520-800196A0 013E60 0180+00 0/0 0/0 2/2 .text
* setBallModelEffect__13fopEn_enemy_cFP12dKy_tevstr_c */
#ifdef NONMATCHING
// matches with literals
void fopEn_enemy_c::setBallModelEffect(dKy_tevstr_c* param_0) {
void fopEn_enemy_c::setBallModelEffect(dKy_tevstr_c* i_tevstr) {
if (mBallModel) {
field_0x590 += FLOAT_LABEL(lit_4505);
field_0x590 += 1.0f;
if (field_0x590 >= mBtk->getFrameMax()) {
field_0x590 -= mBtk->getFrameMax();
}
if ((u8)checkBallModelDraw()) {
if (checkBallModelDraw()) {
Vec* base_scale = mBallModel->getBaseScale();
cLib_chaseF(&base_scale->x,FLOAT_LABEL(lit_4505),FLOAT_LABEL(lit_4431));
cLib_chaseF(&base_scale->x, 1.0f, 0.1f);
f32 result = base_scale->x;
base_scale->z = result;
base_scale->y = result;
mEffectID1 = dComIfGp_particle_set(mEffectID1, 0x86c8, &mDownPos, param_0);
mEffectID2 = dComIfGp_particle_set(mEffectID2, 0x86c9, &mDownPos, param_0);
mEffectID1 = dComIfGp_particle_set(mEffectID1, 0x86C8, &mDownPos, i_tevstr);
mEffectID2 = dComIfGp_particle_set(mEffectID2, 0x86C9, &mDownPos, i_tevstr);
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void fopEn_enemy_c::setBallModelEffect(dKy_tevstr_c* param_0) {
nofralloc
#include "asm/f_op/f_op_actor/setBallModelEffect__13fopEn_enemy_cFP12dKy_tevstr_c.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 80451BF0-80451BF4 0001F0 0004+00 1/1 0/0 0/0 .sdata2 @4555 */
SECTION_SDATA2 static u8 lit_4555[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 80451BF4-80451BF8 0001F4 0004+00 1/1 0/0 0/0 .sdata2 @4556 */
SECTION_SDATA2 static f32 lit_4556 = 1.0f / 20.0f;
/* 80451BF8-80451C00 0001F8 0004+04 1/1 0/0 0/0 .sdata2 @4557 */
SECTION_SDATA2 static f32 lit_4557[1 + 1 /* padding */] = {
1.0f / 100.0f,
/* padding */
0.0f,
};
/* 800196A0-800197BC 013FE0 011C+00 0/0 0/0 2/2 .text
* drawBallModel__13fopEn_enemy_cFP12dKy_tevstr_c */
void fopEn_enemy_c::drawBallModel(dKy_tevstr_c* param_0) {
f32 tmp;
void fopEn_enemy_c::drawBallModel(dKy_tevstr_c* i_tevstr) {
f32 scale_target;
if (mBallModel) {
Vec* base_scale = mBallModel->getBaseScale();
if ((u8)checkBallModelDraw()) {
tmp = FLOAT_LABEL(lit_4505);
if (checkBallModelDraw()) {
scale_target = 1.0f;
} else {
tmp = FLOAT_LABEL(lit_4555);
scale_target = 0.0f;
}
cLib_chaseF(&base_scale->x,tmp,FLOAT_LABEL(lit_4556));
cLib_chaseF(&base_scale->x, scale_target, 0.05f);
base_scale->y = base_scale->x;
base_scale->z = base_scale->x;
mBallModel->setBaseScale(*base_scale);
if (base_scale->x > FLOAT_LABEL(lit_4557)) {
mDoMtx_trans(mBallModel->getBaseTRMtx(),mDownPos.x,mDownPos.y,mDownPos.z);
i_dKy_getEnvlight()->setLightTevColorType_MAJI(mBallModel, param_0);
if (base_scale->x > 0.01f) {
mDoMtx_trans(mBallModel->getBaseTRMtx(), mDownPos.x, mDownPos.y, mDownPos.z);
i_dKy_getEnvlight()->setLightTevColorType_MAJI(mBallModel, i_tevstr);
mBtk->setFrame(field_0x590);
mBallModel->getModelData()->entryTexMtxAnimator(mBtk);
@@ -493,10 +298,17 @@ void fopEn_enemy_c::drawBallModel(dKy_tevstr_c* param_0) {
mDoExt_modelUpdateDL(mBallModel);
}
}
}
/* ############################################################################################## */
/* 803A35B0-803A35D0 -00001 0020+00 0/0 3/0 756/0 .data g_fopAc_Method */
extern actor_method_class g_fopAc_Method = {
(process_method_func)fopAc_Create, (process_method_func)fopAc_Delete,
(process_method_func)fopAc_Execute, (process_method_func)fopAc_IsDelete,
(process_method_func)fopAc_Draw,
};
/* ############################################################################################## */
/* 80450CC0-80450CC8 0001C0 0004+04 0/0 9/9 0/0 .sbss
* sInstance__35JASGlobalInstance<14JAUSectionHeap> */
+12 -12
View File
@@ -743,7 +743,7 @@ void fopAcM_calcSpeed(fopAc_ac_c* p_actor) {
f32 speedF = fopAcM_GetSpeedF(p_actor);
f32 gravity = fopAcM_GetGravity(p_actor);
f32 xSpeed = speedF * cM_ssin(p_actor->getAngle().GetY());
f32 ySpeed = p_actor->mSpeed.y + gravity;
f32 ySpeed = p_actor->speed.y + gravity;
f32 zSpeed = speedF * cM_scos(p_actor->getAngle().GetY());
clampMin(ySpeed, fopAcM_GetMaxFallSpeed(p_actor));
@@ -752,9 +752,9 @@ void fopAcM_calcSpeed(fopAc_ac_c* p_actor) {
/* 8001A660-8001A6CC 014FA0 006C+00 1/1 1/1 17/17 .text fopAcM_posMove__FP10fopAc_ac_cPC4cXyz */
void fopAcM_posMove(fopAc_ac_c* p_actor, const cXyz* p_movePos) {
p_actor->current.pos.x += p_actor->mSpeed.x;
p_actor->current.pos.y += p_actor->mSpeed.y;
p_actor->current.pos.z += p_actor->mSpeed.z;
p_actor->current.pos.x += p_actor->speed.x;
p_actor->current.pos.y += p_actor->speed.y;
p_actor->current.pos.z += p_actor->speed.z;
if (p_movePos != NULL) {
p_actor->current.pos.x += p_movePos->x;
@@ -1501,8 +1501,8 @@ s32 fopAcM_createItemForBoss(const cXyz* p_pos, int param_2, int roomNo, const c
fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(PROC_Obj_LifeContainer, 0xFFFF0000 | param_8 << 0x8 | (param_2 & 0xFF), p_pos, roomNo, p_angle,
p_scale, -1, NULL, NULL);
if (actor != NULL) {
actor->mSpeedF = speedF;
actor->mSpeed.y = speedY;
actor->speedF = speedF;
actor->speed.y = speedY;
}
return fopAcM_GetID(actor);
}
@@ -1668,11 +1668,11 @@ void* fopAcM_fastCreateItem(const cXyz* p_pos, int i_itemNo, int i_roomNo, const
if (actor != NULL) {
if (p_speedF != NULL) {
actor->mSpeedF = *p_speedF * (1.0f + cM_rndFX(0.3f));
actor->speedF = *p_speedF * (1.0f + cM_rndFX(0.3f));
}
if (p_speedY != NULL) {
actor->mSpeed.y = *p_speedY * (1.0f + cM_rndFX(0.2f));
actor->speed.y = *p_speedY * (1.0f + cM_rndFX(0.2f));
}
}
}
@@ -1688,11 +1688,11 @@ void* fopAcM_fastCreateItem(const cXyz* p_pos, int i_itemNo, int i_roomNo, const
if (actor != NULL) {
if (p_speedF != NULL) {
actor->mSpeedF = *p_speedF;
actor->speedF = *p_speedF;
}
if (p_speedY != NULL) {
actor->mSpeed.y = *p_speedY;
actor->speed.y = *p_speedY;
}
}
@@ -1780,7 +1780,7 @@ asm fopAc_ac_c* fopAcM_myRoomSearchEnemy(s8 param_0) {
* fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc */
s32 fopAcM_createDisappear(const fopAc_ac_c* p_actor, const cXyz* p_pos, u8 param_3, u8 param_4,
u8 param_5) {
s8 roomNo = p_actor->current.mRoomNo;
s8 roomNo = p_actor->current.roomNo;
return fopAcM_GetID(fopAcM_fastCreate(PROC_DISAPPEAR, (param_5 << 0x10) | (param_3 << 0x8) | param_4,
p_pos, roomNo, &p_actor->current.angle, NULL, 0xFF, NULL,
NULL));
@@ -2041,7 +2041,7 @@ s32 fopAcM_carryOffRevise(fopAc_ac_c* param_0) {
param_0->current.pos.x = player->current.pos.x;
param_0->current.pos.z = player->current.pos.z;
param_0->next.pos = param_0->current.pos;
param_0->mSpeedF = FLOAT_LABEL(lit_4645);
param_0->speedF = FLOAT_LABEL(lit_4645);
return 1;
}