clean up some objects (#2014)

This commit is contained in:
Caroline Madsen
2023-12-27 19:54:45 -05:00
committed by GitHub
parent ea80e8440c
commit 83969f6dc1
34 changed files with 846 additions and 2345 deletions
+13 -13
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 | 36.033815% | 1295972 | 3596544
.text | 36.706127% | 1320152 | 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 | 42.776630% | 1719908 | 4020672
Total | 43.378022% | 1744088 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 42.776630% | 1719908 | 4020672
RELs | 35.185617% | 4046460 | 11500324
Total | 37.152049% | 5766368 | 15520996
main.dol | 43.378022% | 1744088 | 4020672
RELs | 35.305336% | 4060228 | 11500324
Total | 37.396543% | 5804316 | 15520996
## RELs
@@ -350,7 +350,7 @@ d_a_obj_avalanche | 41.881443% | 2600 | 6208
d_a_obj_balloon | 42.722710% | 2724 | 6376
d_a_obj_barDesk | 100.000000% | 4972 | 4972
d_a_obj_batta | 31.886560% | 5172 | 16220
d_a_obj_bbox | 78.929766% | 2832 | 3588
d_a_obj_bbox | 100.000000% | 3588 | 3588
d_a_obj_bed | 100.000000% | 4812 | 4812
d_a_obj_bemos | 32.943081% | 10580 | 32116
d_a_obj_bhashi | 31.443815% | 3772 | 11996
@@ -421,7 +421,7 @@ d_a_obj_goGate | 48.046181% | 2164 | 4504
d_a_obj_gomikabe | 37.032799% | 3884 | 10488
d_a_obj_gpTaru | 33.238231% | 4660 | 14020
d_a_obj_gra2 | 24.809250% | 21200 | 85452
d_a_obj_graWall | 55.725191% | 1168 | 2096
d_a_obj_graWall | 100.000000% | 2096 | 2096
d_a_obj_gra_rock | 37.947123% | 2928 | 7716
d_a_obj_grave_stone | 100.000000% | 5480 | 5480
d_a_obj_groundwater | 40.823478% | 3728 | 9132
@@ -493,7 +493,7 @@ d_a_obj_lv3waterEff | 100.000000% | 1704 | 1704
d_a_obj_lv4CandleDemoTag | 80.688935% | 3092 | 3832
d_a_obj_lv4CandleTag | 50.114416% | 1752 | 3496
d_a_obj_lv4EdShutter | 45.846154% | 2384 | 5200
d_a_obj_lv4Gate | 97.443182% | 4116 | 4224
d_a_obj_lv4Gate | 100.000000% | 4224 | 4224
d_a_obj_lv4HsTarget | 100.000000% | 2448 | 2448
d_a_obj_lv4PoGate | 100.000000% | 5576 | 5576
d_a_obj_lv4RailWall | 41.496973% | 3016 | 7268
@@ -575,7 +575,7 @@ d_a_obj_prop | 100.000000% | 2064 | 2064
d_a_obj_pumpkin | 29.152971% | 4612 | 15820
d_a_obj_rcircle | 100.000000% | 3028 | 3028
d_a_obj_rfHole | 43.621701% | 2380 | 5456
d_a_obj_rgate | 36.466069% | 5696 | 15620
d_a_obj_rgate | 100.000000% | 15620 | 15620
d_a_obj_riverrock | 37.311178% | 2964 | 7944
d_a_obj_rock | 40.423729% | 1908 | 4720
d_a_obj_rope_bridge | 36.903633% | 4672 | 12660
@@ -610,7 +610,7 @@ d_a_obj_ss_item | 100.000000% | 7684 | 7684
d_a_obj_stairBlock | 45.129643% | 2576 | 5708
d_a_obj_stick | 43.708609% | 2376 | 5436
d_a_obj_stone | 35.435257% | 7148 | 20172
d_a_obj_stoneMark | 64.901961% | 1324 | 2040
d_a_obj_stoneMark | 100.000000% | 2040 | 2040
d_a_obj_stopper | 31.675996% | 3848 | 12148
d_a_obj_stopper2 | 38.987342% | 1848 | 4740
d_a_obj_suisya | 100.000000% | 2348 | 2348
@@ -673,12 +673,12 @@ d_a_obj_wind_stone | 37.702265% | 1864 | 4944
d_a_obj_window | 42.655602% | 2056 | 4820
d_a_obj_wood_pendulum | 44.455748% | 1748 | 3932
d_a_obj_wood_statue | 36.601579% | 3524 | 9628
d_a_obj_wsword | 77.021277% | 2172 | 2820
d_a_obj_wsword | 100.000000% | 2820 | 2820
d_a_obj_yel_bag | 33.773087% | 3584 | 10612
d_a_obj_yobikusa | 39.095993% | 3356 | 8584
d_a_obj_yousei | 27.926623% | 4628 | 16572
d_a_obj_ystone | 42.824944% | 2280 | 5324
d_a_obj_zcloth | 72.784810% | 1840 | 2528
d_a_obj_zcloth | 100.000000% | 2528 | 2528
d_a_obj_zdoor | 45.037688% | 2868 | 6368
d_a_obj_zrTurara | 65.733114% | 4788 | 7284
d_a_obj_zrTuraraRock | 100.000000% | 5296 | 5296
@@ -785,4 +785,4 @@ d_a_vrbox2 | 44.907111% | 2804 | 6244
d_a_warp_bug | 100.000000% | 2024 | 2024
d_a_ykgr | 44.400631% | 2252 | 5072
f_pc_profile_lst | 100.000000% | 28156 | 28156
Total | 35.185617% | 4046460 | 11500324
Total | 35.305336% | 4060228 | 11500324
@@ -1,20 +0,0 @@
lbl_80BAD078:
/* 80BAD078 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BAD07C 7C 08 02 A6 */ mflr r0
/* 80BAD080 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BAD084 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80BAD088 7C 7F 1B 79 */ or. r31, r3, r3
/* 80BAD08C 41 82 00 1C */ beq lbl_80BAD0A8
/* 80BAD090 3C A0 80 BB */ lis r5, __vt__8cM3dGAab@ha /* 0x80BAD534@ha */
/* 80BAD094 38 05 D5 34 */ addi r0, r5, __vt__8cM3dGAab@l /* 0x80BAD534@l */
/* 80BAD098 90 1F 00 18 */ stw r0, 0x18(r31)
/* 80BAD09C 7C 80 07 35 */ extsh. r0, r4
/* 80BAD0A0 40 81 00 08 */ ble lbl_80BAD0A8
/* 80BAD0A4 4B 72 1C 99 */ bl __dl__FPv
lbl_80BAD0A8:
/* 80BAD0A8 7F E3 FB 78 */ mr r3, r31
/* 80BAD0AC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80BAD0B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BAD0B4 7C 08 03 A6 */ mtlr r0
/* 80BAD0B8 38 21 00 10 */ addi r1, r1, 0x10
/* 80BAD0BC 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_80BAD030:
/* 80BAD030 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BAD034 7C 08 02 A6 */ mflr r0
/* 80BAD038 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BAD03C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80BAD040 7C 7F 1B 79 */ or. r31, r3, r3
/* 80BAD044 41 82 00 1C */ beq lbl_80BAD060
/* 80BAD048 3C A0 80 BB */ lis r5, __vt__8cM3dGCyl@ha /* 0x80BAD528@ha */
/* 80BAD04C 38 05 D5 28 */ addi r0, r5, __vt__8cM3dGCyl@l /* 0x80BAD528@l */
/* 80BAD050 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80BAD054 7C 80 07 35 */ extsh. r0, r4
/* 80BAD058 40 81 00 08 */ ble lbl_80BAD060
/* 80BAD05C 4B 72 1C E1 */ bl __dl__FPv
lbl_80BAD060:
/* 80BAD060 7F E3 FB 78 */ mr r3, r31
/* 80BAD064 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80BAD068 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BAD06C 7C 08 03 A6 */ mtlr r0
/* 80BAD070 38 21 00 10 */ addi r1, r1, 0x10
/* 80BAD074 4E 80 00 20 */ blr
@@ -1,98 +0,0 @@
lbl_80BACEC0:
/* 80BACEC0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BACEC4 7C 08 02 A6 */ mflr r0
/* 80BACEC8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BACECC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80BACED0 93 C1 00 08 */ stw r30, 8(r1)
/* 80BACED4 7C 7F 1B 78 */ mr r31, r3
/* 80BACED8 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80BACEDC 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80BACEE0 40 82 00 B4 */ bne lbl_80BACF94
/* 80BACEE4 7F E0 FB 79 */ or. r0, r31, r31
/* 80BACEE8 41 82 00 A0 */ beq lbl_80BACF88
/* 80BACEEC 7C 1E 03 78 */ mr r30, r0
/* 80BACEF0 4B 4C B7 35 */ bl __ct__16dBgS_MoveBgActorFv
/* 80BACEF4 3C 60 80 BB */ lis r3, __vt__11daObjBBox_c@ha /* 0x80BAD540@ha */
/* 80BACEF8 38 03 D5 40 */ addi r0, r3, __vt__11daObjBBox_c@l /* 0x80BAD540@l */
/* 80BACEFC 90 1E 05 9C */ stw r0, 0x59c(r30)
/* 80BACF00 3C 60 80 3C */ lis r3, __vt__9cCcD_Stts@ha /* 0x803C3728@ha */
/* 80BACF04 38 03 37 28 */ addi r0, r3, __vt__9cCcD_Stts@l /* 0x803C3728@l */
/* 80BACF08 90 1E 05 C4 */ stw r0, 0x5c4(r30)
/* 80BACF0C 38 7E 05 C8 */ addi r3, r30, 0x5c8
/* 80BACF10 4B 4D 68 51 */ bl __ct__10dCcD_GSttsFv
/* 80BACF14 3C 60 80 3B */ lis r3, __vt__9dCcD_Stts@ha /* 0x803AC2E4@ha */
/* 80BACF18 38 63 C2 E4 */ addi r3, r3, __vt__9dCcD_Stts@l /* 0x803AC2E4@l */
/* 80BACF1C 90 7E 05 C4 */ stw r3, 0x5c4(r30)
/* 80BACF20 38 03 00 20 */ addi r0, r3, 0x20
/* 80BACF24 90 1E 05 C8 */ stw r0, 0x5c8(r30)
/* 80BACF28 3B DE 05 E8 */ addi r30, r30, 0x5e8
/* 80BACF2C 7F C3 F3 78 */ mr r3, r30
/* 80BACF30 4B 4D 6A F9 */ bl __ct__12dCcD_GObjInfFv
/* 80BACF34 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */
/* 80BACF38 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */
/* 80BACF3C 90 1E 01 20 */ stw r0, 0x120(r30)
/* 80BACF40 3C 60 80 BB */ lis r3, __vt__8cM3dGAab@ha /* 0x80BAD534@ha */
/* 80BACF44 38 03 D5 34 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x80BAD534@l */
/* 80BACF48 90 1E 01 1C */ stw r0, 0x11c(r30)
/* 80BACF4C 3C 60 80 BB */ lis r3, __vt__8cM3dGCyl@ha /* 0x80BAD528@ha */
/* 80BACF50 38 03 D5 28 */ addi r0, r3, __vt__8cM3dGCyl@l /* 0x80BAD528@l */
/* 80BACF54 90 1E 01 38 */ stw r0, 0x138(r30)
/* 80BACF58 3C 60 80 3C */ lis r3, __vt__12cCcD_CylAttr@ha /* 0x803C35A4@ha */
/* 80BACF5C 38 63 35 A4 */ addi r3, r3, __vt__12cCcD_CylAttr@l /* 0x803C35A4@l */
/* 80BACF60 90 7E 01 20 */ stw r3, 0x120(r30)
/* 80BACF64 38 03 00 58 */ addi r0, r3, 0x58
/* 80BACF68 90 1E 01 38 */ stw r0, 0x138(r30)
/* 80BACF6C 3C 60 80 3B */ lis r3, __vt__8dCcD_Cyl@ha /* 0x803AC050@ha */
/* 80BACF70 38 63 C0 50 */ addi r3, r3, __vt__8dCcD_Cyl@l /* 0x803AC050@l */
/* 80BACF74 90 7E 00 3C */ stw r3, 0x3c(r30)
/* 80BACF78 38 03 00 2C */ addi r0, r3, 0x2c
/* 80BACF7C 90 1E 01 20 */ stw r0, 0x120(r30)
/* 80BACF80 38 03 00 84 */ addi r0, r3, 0x84
/* 80BACF84 90 1E 01 38 */ stw r0, 0x138(r30)
lbl_80BACF88:
/* 80BACF88 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 80BACF8C 60 00 00 08 */ ori r0, r0, 8
/* 80BACF90 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_80BACF94:
/* 80BACF94 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BACF98 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BACF9C 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80BACFA0 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 80BACFA4 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80BACFA8 7C 05 07 74 */ extsb r5, r0
/* 80BACFAC 4B 48 83 B5 */ bl isSwitch__10dSv_info_cCFii
/* 80BACFB0 2C 03 00 00 */ cmpwi r3, 0
/* 80BACFB4 41 82 00 0C */ beq lbl_80BACFC0
/* 80BACFB8 38 60 00 05 */ li r3, 5
/* 80BACFBC 48 00 00 5C */ b lbl_80BAD018
lbl_80BACFC0:
/* 80BACFC0 38 7F 05 A0 */ addi r3, r31, 0x5a0
/* 80BACFC4 3C 80 80 BB */ lis r4, l_arcName@ha /* 0x80BAD4D4@ha */
/* 80BACFC8 38 84 D4 D4 */ addi r4, r4, l_arcName@l /* 0x80BAD4D4@l */
/* 80BACFCC 80 84 00 00 */ lwz r4, 0(r4)
/* 80BACFD0 4B 47 FE ED */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc
/* 80BACFD4 7C 60 1B 78 */ mr r0, r3
/* 80BACFD8 2C 00 00 04 */ cmpwi r0, 4
/* 80BACFDC 40 82 00 38 */ bne lbl_80BAD014
/* 80BACFE0 7F E3 FB 78 */ mr r3, r31
/* 80BACFE4 3C 80 80 BB */ lis r4, l_arcName@ha /* 0x80BAD4D4@ha */
/* 80BACFE8 38 84 D4 D4 */ addi r4, r4, l_arcName@l /* 0x80BAD4D4@l */
/* 80BACFEC 80 84 00 00 */ lwz r4, 0(r4)
/* 80BACFF0 38 A0 00 07 */ li r5, 7
/* 80BACFF4 38 C0 00 00 */ li r6, 0
/* 80BACFF8 38 E0 0C 00 */ li r7, 0xc00
/* 80BACFFC 39 00 00 00 */ li r8, 0
/* 80BAD000 4B 4C B7 BD */ bl MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f
/* 80BAD004 7C 60 1B 78 */ mr r0, r3
/* 80BAD008 2C 00 00 05 */ cmpwi r0, 5
/* 80BAD00C 40 82 00 08 */ bne lbl_80BAD014
/* 80BAD010 48 00 00 08 */ b lbl_80BAD018
lbl_80BAD014:
/* 80BAD014 7C 03 03 78 */ mr r3, r0
lbl_80BAD018:
/* 80BAD018 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80BAD01C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80BAD020 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BAD024 7C 08 03 A6 */ mtlr r0
/* 80BAD028 38 21 00 10 */ addi r1, r1, 0x10
/* 80BAD02C 4E 80 00 20 */ blr
@@ -1,64 +0,0 @@
lbl_80BAD30C:
/* 80BAD30C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BAD310 7C 08 02 A6 */ mflr r0
/* 80BAD314 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BAD318 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80BAD31C 93 C1 00 08 */ stw r30, 8(r1)
/* 80BAD320 7C 7F 1B 78 */ mr r31, r3
/* 80BAD324 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80BAD328 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80BAD32C 40 82 00 B4 */ bne lbl_80BAD3E0
/* 80BAD330 7F E0 FB 79 */ or. r0, r31, r31
/* 80BAD334 41 82 00 A0 */ beq lbl_80BAD3D4
/* 80BAD338 7C 1E 03 78 */ mr r30, r0
/* 80BAD33C 4B 4C B2 E9 */ bl __ct__16dBgS_MoveBgActorFv
/* 80BAD340 3C 60 80 BB */ lis r3, __vt__11daObjBBox_c@ha /* 0x80BAD540@ha */
/* 80BAD344 38 03 D5 40 */ addi r0, r3, __vt__11daObjBBox_c@l /* 0x80BAD540@l */
/* 80BAD348 90 1E 05 9C */ stw r0, 0x59c(r30)
/* 80BAD34C 3C 60 80 3C */ lis r3, __vt__9cCcD_Stts@ha /* 0x803C3728@ha */
/* 80BAD350 38 03 37 28 */ addi r0, r3, __vt__9cCcD_Stts@l /* 0x803C3728@l */
/* 80BAD354 90 1E 05 C4 */ stw r0, 0x5c4(r30)
/* 80BAD358 38 7E 05 C8 */ addi r3, r30, 0x5c8
/* 80BAD35C 4B 4D 64 05 */ bl __ct__10dCcD_GSttsFv
/* 80BAD360 3C 60 80 3B */ lis r3, __vt__9dCcD_Stts@ha /* 0x803AC2E4@ha */
/* 80BAD364 38 63 C2 E4 */ addi r3, r3, __vt__9dCcD_Stts@l /* 0x803AC2E4@l */
/* 80BAD368 90 7E 05 C4 */ stw r3, 0x5c4(r30)
/* 80BAD36C 38 03 00 20 */ addi r0, r3, 0x20
/* 80BAD370 90 1E 05 C8 */ stw r0, 0x5c8(r30)
/* 80BAD374 3B DE 05 E8 */ addi r30, r30, 0x5e8
/* 80BAD378 7F C3 F3 78 */ mr r3, r30
/* 80BAD37C 4B 4D 66 AD */ bl __ct__12dCcD_GObjInfFv
/* 80BAD380 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */
/* 80BAD384 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */
/* 80BAD388 90 1E 01 20 */ stw r0, 0x120(r30)
/* 80BAD38C 3C 60 80 BB */ lis r3, __vt__8cM3dGAab@ha /* 0x80BAD534@ha */
/* 80BAD390 38 03 D5 34 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x80BAD534@l */
/* 80BAD394 90 1E 01 1C */ stw r0, 0x11c(r30)
/* 80BAD398 3C 60 80 BB */ lis r3, __vt__8cM3dGCyl@ha /* 0x80BAD528@ha */
/* 80BAD39C 38 03 D5 28 */ addi r0, r3, __vt__8cM3dGCyl@l /* 0x80BAD528@l */
/* 80BAD3A0 90 1E 01 38 */ stw r0, 0x138(r30)
/* 80BAD3A4 3C 60 80 3C */ lis r3, __vt__12cCcD_CylAttr@ha /* 0x803C35A4@ha */
/* 80BAD3A8 38 63 35 A4 */ addi r3, r3, __vt__12cCcD_CylAttr@l /* 0x803C35A4@l */
/* 80BAD3AC 90 7E 01 20 */ stw r3, 0x120(r30)
/* 80BAD3B0 38 03 00 58 */ addi r0, r3, 0x58
/* 80BAD3B4 90 1E 01 38 */ stw r0, 0x138(r30)
/* 80BAD3B8 3C 60 80 3B */ lis r3, __vt__8dCcD_Cyl@ha /* 0x803AC050@ha */
/* 80BAD3BC 38 63 C0 50 */ addi r3, r3, __vt__8dCcD_Cyl@l /* 0x803AC050@l */
/* 80BAD3C0 90 7E 00 3C */ stw r3, 0x3c(r30)
/* 80BAD3C4 38 03 00 2C */ addi r0, r3, 0x2c
/* 80BAD3C8 90 1E 01 20 */ stw r0, 0x120(r30)
/* 80BAD3CC 38 03 00 84 */ addi r0, r3, 0x84
/* 80BAD3D0 90 1E 01 38 */ stw r0, 0x138(r30)
lbl_80BAD3D4:
/* 80BAD3D4 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 80BAD3D8 60 00 00 08 */ ori r0, r0, 8
/* 80BAD3DC 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_80BAD3E0:
/* 80BAD3E0 7F E3 FB 78 */ mr r3, r31
/* 80BAD3E4 4B FF FA DD */ bl create1st__11daObjBBox_cFv
/* 80BAD3E8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80BAD3EC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80BAD3F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BAD3F4 7C 08 03 A6 */ mtlr r0
/* 80BAD3F8 38 21 00 10 */ addi r1, r1, 0x10
/* 80BAD3FC 4E 80 00 20 */ blr
@@ -1,28 +0,0 @@
lbl_80C5EC80:
/* 80C5EC80 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C5EC84 7C 08 02 A6 */ mflr r0
/* 80C5EC88 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C5EC8C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80C5EC90 7C 7F 1B 78 */ mr r31, r3
/* 80C5EC94 3C 60 80 C6 */ lis r3, d_a_obj_lv4Gate__stringBase0@ha /* 0x80C5F414@ha */
/* 80C5EC98 38 63 F4 14 */ addi r3, r3, d_a_obj_lv4Gate__stringBase0@l /* 0x80C5F414@l */
/* 80C5EC9C 38 80 00 04 */ li r4, 4
/* 80C5ECA0 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C5ECA4 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C5ECA8 3C A5 00 02 */ addis r5, r5, 2
/* 80C5ECAC 38 C0 00 80 */ li r6, 0x80
/* 80C5ECB0 38 A5 C2 F8 */ addi r5, r5, -15624
/* 80C5ECB4 4B 3D D6 39 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 80C5ECB8 3C 80 00 08 */ lis r4, 8
/* 80C5ECBC 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */
/* 80C5ECC0 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */
/* 80C5ECC4 4B 3B 5F 91 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl
/* 80C5ECC8 90 7F 05 A8 */ stw r3, 0x5a8(r31)
/* 80C5ECCC 80 7F 05 A8 */ lwz r3, 0x5a8(r31)
/* 80C5ECD0 30 03 FF FF */ addic r0, r3, -1
/* 80C5ECD4 7C 60 19 10 */ subfe r3, r0, r3
/* 80C5ECD8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80C5ECDC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C5ECE0 7C 08 03 A6 */ mtlr r0
/* 80C5ECE4 38 21 00 10 */ addi r1, r1, 0x10
/* 80C5ECE8 4E 80 00 20 */ blr
@@ -1,59 +0,0 @@
lbl_8059A080:
/* 8059A080 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8059A084 7C 08 02 A6 */ mflr r0
/* 8059A088 90 01 00 24 */ stw r0, 0x24(r1)
/* 8059A08C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8059A090 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8059A094 7C 7E 1B 78 */ mr r30, r3
/* 8059A098 3C 80 80 5A */ lis r4, lit_3642@ha /* 0x8059A3E8@ha */
/* 8059A09C 3B E4 A3 E8 */ addi r31, r4, lit_3642@l /* 0x8059A3E8@l */
/* 8059A0A0 4B FF FF 79 */ bl initBaseMtx__12daObjSMark_cFv
/* 8059A0A4 38 1E 07 E4 */ addi r0, r30, 0x7e4
/* 8059A0A8 90 1E 05 04 */ stw r0, 0x504(r30)
/* 8059A0AC 7F C3 F3 78 */ mr r3, r30
/* 8059A0B0 C0 3F 00 00 */ lfs f1, 0(r31)
/* 8059A0B4 FC 40 08 90 */ fmr f2, f1
/* 8059A0B8 FC 60 08 90 */ fmr f3, f1
/* 8059A0BC C0 9F 00 04 */ lfs f4, 4(r31)
/* 8059A0C0 4B A8 04 A5 */ bl fopAcM_setCullSizeSphere__FP10fopAc_ac_cffff
/* 8059A0C4 38 7E 07 68 */ addi r3, r30, 0x768
/* 8059A0C8 C0 3F 00 08 */ lfs f1, 8(r31)
/* 8059A0CC FC 40 08 90 */ fmr f2, f1
/* 8059A0D0 4B AD BE 89 */ bl SetWall__12dBgS_AcchCirFff
/* 8059A0D4 38 00 00 00 */ li r0, 0
/* 8059A0D8 90 01 00 08 */ stw r0, 8(r1)
/* 8059A0DC 38 7E 05 90 */ addi r3, r30, 0x590
/* 8059A0E0 38 9E 04 D0 */ addi r4, r30, 0x4d0
/* 8059A0E4 38 BE 04 BC */ addi r5, r30, 0x4bc
/* 8059A0E8 7F C6 F3 78 */ mr r6, r30
/* 8059A0EC 38 E0 00 01 */ li r7, 1
/* 8059A0F0 39 1E 07 68 */ addi r8, r30, 0x768
/* 8059A0F4 39 3E 04 F8 */ addi r9, r30, 0x4f8
/* 8059A0F8 39 40 00 00 */ li r10, 0
/* 8059A0FC 4B AD C1 4D */ bl Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz
/* 8059A100 38 7E 05 90 */ addi r3, r30, 0x590
/* 8059A104 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059A108 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059A10C 38 84 0F 38 */ addi r4, r4, 0xf38
/* 8059A110 4B AD C9 9D */ bl CrrPos__9dBgS_AcchFR4dBgS
/* 8059A114 3C 60 80 5A */ lis r3, l_arcName@ha /* 0x8059A410@ha */
/* 8059A118 38 63 A4 10 */ addi r3, r3, l_arcName@l /* 0x8059A410@l */
/* 8059A11C 80 63 00 00 */ lwz r3, 0(r3)
/* 8059A120 38 80 00 03 */ li r4, 3
/* 8059A124 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059A128 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059A12C 3C A5 00 02 */ addis r5, r5, 2
/* 8059A130 38 C0 00 80 */ li r6, 0x80
/* 8059A134 38 A5 C2 F8 */ addi r5, r5, -15624
/* 8059A138 4B AA 21 B5 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 8059A13C 38 9E 05 70 */ addi r4, r30, 0x570
/* 8059A140 38 A0 00 00 */ li r5, 0
/* 8059A144 38 C0 00 00 */ li r6, 0
/* 8059A148 4B A7 AF F5 */ bl mDoLib_setResTimgObj__FPC7ResTIMGP9_GXTexObjUlP10_GXTlutObj
/* 8059A14C 38 60 00 01 */ li r3, 1
/* 8059A150 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8059A154 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8059A158 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8059A15C 7C 08 03 A6 */ mtlr r0
/* 8059A160 38 21 00 20 */ addi r1, r1, 0x20
/* 8059A164 4E 80 00 20 */ blr
@@ -1,30 +0,0 @@
lbl_8059A25C:
/* 8059A25C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059A260 7C 08 02 A6 */ mflr r0
/* 8059A264 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059A268 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8059A26C 93 C1 00 08 */ stw r30, 8(r1)
/* 8059A270 7C 7E 1B 79 */ or. r30, r3, r3
/* 8059A274 7C 9F 23 78 */ mr r31, r4
/* 8059A278 41 82 00 38 */ beq lbl_8059A2B0
/* 8059A27C 3C 80 80 5A */ lis r4, __vt__12dBgS_ObjAcch@ha /* 0x8059A464@ha */
/* 8059A280 38 84 A4 64 */ addi r4, r4, __vt__12dBgS_ObjAcch@l /* 0x8059A464@l */
/* 8059A284 90 9E 00 10 */ stw r4, 0x10(r30)
/* 8059A288 38 04 00 0C */ addi r0, r4, 0xc
/* 8059A28C 90 1E 00 14 */ stw r0, 0x14(r30)
/* 8059A290 38 04 00 18 */ addi r0, r4, 0x18
/* 8059A294 90 1E 00 24 */ stw r0, 0x24(r30)
/* 8059A298 38 80 00 00 */ li r4, 0
/* 8059A29C 4B AD BC F9 */ bl __dt__9dBgS_AcchFv
/* 8059A2A0 7F E0 07 35 */ extsh. r0, r31
/* 8059A2A4 40 81 00 0C */ ble lbl_8059A2B0
/* 8059A2A8 7F C3 F3 78 */ mr r3, r30
/* 8059A2AC 4B D3 4A 91 */ bl __dl__FPv
lbl_8059A2B0:
/* 8059A2B0 7F C3 F3 78 */ mr r3, r30
/* 8059A2B4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8059A2B8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8059A2BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059A2C0 7C 08 03 A6 */ mtlr r0
/* 8059A2C4 38 21 00 10 */ addi r1, r1, 0x10
/* 8059A2C8 4E 80 00 20 */ blr
@@ -1,29 +0,0 @@
lbl_8059A2CC:
/* 8059A2CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059A2D0 7C 08 02 A6 */ mflr r0
/* 8059A2D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8059A2D8 7C 67 1B 78 */ mr r7, r3
/* 8059A2DC 3C 60 80 5A */ lis r3, lit_3642@ha /* 0x8059A3E8@ha */
/* 8059A2E0 38 C3 A3 E8 */ addi r6, r3, lit_3642@l /* 0x8059A3E8@l */
/* 8059A2E4 38 67 04 D0 */ addi r3, r7, 0x4d0
/* 8059A2E8 C0 27 06 28 */ lfs f1, 0x628(r7)
/* 8059A2EC 80 07 00 B0 */ lwz r0, 0xb0(r7)
/* 8059A2F0 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 8059A2F4 38 86 00 0C */ addi r4, r6, 0xc
/* 8059A2F8 7C 44 04 2E */ lfsx f2, r4, r0
/* 8059A2FC 38 87 06 80 */ addi r4, r7, 0x680
/* 8059A300 A8 A7 04 E6 */ lha r5, 0x4e6(r7)
/* 8059A304 C0 86 00 14 */ lfs f4, 0x14(r6)
/* 8059A308 C0 66 00 18 */ lfs f3, 0x18(r6)
/* 8059A30C 3C C0 80 43 */ lis r6, g_env_light@ha /* 0x8042CA54@ha */
/* 8059A310 38 C6 CA 54 */ addi r6, r6, g_env_light@l /* 0x8042CA54@l */
/* 8059A314 C0 06 12 38 */ lfs f0, 0x1238(r6)
/* 8059A318 EC 03 00 32 */ fmuls f0, f3, f0
/* 8059A31C EC 64 00 28 */ fsubs f3, f4, f0
/* 8059A320 38 C7 05 70 */ addi r6, r7, 0x570
/* 8059A324 4B A9 2D 91 */ bl dComIfGd_setSimpleShadow__FP4cXyzffR13cBgS_PolyInfosfP9_GXTexObj
/* 8059A328 38 60 00 01 */ li r3, 1
/* 8059A32C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8059A330 7C 08 03 A6 */ mtlr r0
/* 8059A334 38 21 00 10 */ addi r1, r1, 0x10
/* 8059A338 4E 80 00 20 */ blr
@@ -1,66 +0,0 @@
lbl_8059A168:
/* 8059A168 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8059A16C 7C 08 02 A6 */ mflr r0
/* 8059A170 90 01 00 24 */ stw r0, 0x24(r1)
/* 8059A174 39 61 00 20 */ addi r11, r1, 0x20
/* 8059A178 4B DC 80 65 */ bl _savegpr_29
/* 8059A17C 7C 7E 1B 78 */ mr r30, r3
/* 8059A180 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 8059A184 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 8059A188 40 82 00 80 */ bne lbl_8059A208
/* 8059A18C 7F C0 F3 79 */ or. r0, r30, r30
/* 8059A190 41 82 00 6C */ beq lbl_8059A1FC
/* 8059A194 7C 1F 03 78 */ mr r31, r0
/* 8059A198 4B A7 E9 CD */ bl __ct__10fopAc_ac_cFv
/* 8059A19C 3B BF 05 90 */ addi r29, r31, 0x590
/* 8059A1A0 7F A3 EB 78 */ mr r3, r29
/* 8059A1A4 4B AD BE FD */ bl __ct__9dBgS_AcchFv
/* 8059A1A8 3C 60 80 5A */ lis r3, __vt__12dBgS_ObjAcch@ha /* 0x8059A464@ha */
/* 8059A1AC 38 63 A4 64 */ addi r3, r3, __vt__12dBgS_ObjAcch@l /* 0x8059A464@l */
/* 8059A1B0 90 7D 00 10 */ stw r3, 0x10(r29)
/* 8059A1B4 38 03 00 0C */ addi r0, r3, 0xc
/* 8059A1B8 90 1D 00 14 */ stw r0, 0x14(r29)
/* 8059A1BC 38 03 00 18 */ addi r0, r3, 0x18
/* 8059A1C0 90 1D 00 24 */ stw r0, 0x24(r29)
/* 8059A1C4 38 7D 00 14 */ addi r3, r29, 0x14
/* 8059A1C8 4B AD EC A1 */ bl SetObj__16dBgS_PolyPassChkFv
/* 8059A1CC 38 7F 07 68 */ addi r3, r31, 0x768
/* 8059A1D0 4B AD BC DD */ bl __ct__12dBgS_AcchCirFv
/* 8059A1D4 3C 60 80 3C */ lis r3, __vt__9cCcD_Stts@ha /* 0x803C3728@ha */
/* 8059A1D8 38 03 37 28 */ addi r0, r3, __vt__9cCcD_Stts@l /* 0x803C3728@l */
/* 8059A1DC 90 1F 07 C0 */ stw r0, 0x7c0(r31)
/* 8059A1E0 38 7F 07 C4 */ addi r3, r31, 0x7c4
/* 8059A1E4 4B AE 95 7D */ bl __ct__10dCcD_GSttsFv
/* 8059A1E8 3C 60 80 3B */ lis r3, __vt__9dCcD_Stts@ha /* 0x803AC2E4@ha */
/* 8059A1EC 38 63 C2 E4 */ addi r3, r3, __vt__9dCcD_Stts@l /* 0x803AC2E4@l */
/* 8059A1F0 90 7F 07 C0 */ stw r3, 0x7c0(r31)
/* 8059A1F4 38 03 00 20 */ addi r0, r3, 0x20
/* 8059A1F8 90 1F 07 C4 */ stw r0, 0x7c4(r31)
lbl_8059A1FC:
/* 8059A1FC 80 1E 04 A0 */ lwz r0, 0x4a0(r30)
/* 8059A200 60 00 00 08 */ ori r0, r0, 8
/* 8059A204 90 1E 04 A0 */ stw r0, 0x4a0(r30)
lbl_8059A208:
/* 8059A208 38 7E 05 68 */ addi r3, r30, 0x568
/* 8059A20C 3C 80 80 5A */ lis r4, l_arcName@ha /* 0x8059A410@ha */
/* 8059A210 38 84 A4 10 */ addi r4, r4, l_arcName@l /* 0x8059A410@l */
/* 8059A214 80 84 00 00 */ lwz r4, 0(r4)
/* 8059A218 4B A9 2C A5 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc
/* 8059A21C 7C 7F 1B 78 */ mr r31, r3
/* 8059A220 2C 1F 00 04 */ cmpwi r31, 4
/* 8059A224 40 82 00 1C */ bne lbl_8059A240
/* 8059A228 7F C3 F3 78 */ mr r3, r30
/* 8059A22C 4B FF FE 55 */ bl Create__12daObjSMark_cFv
/* 8059A230 2C 03 00 00 */ cmpwi r3, 0
/* 8059A234 40 82 00 0C */ bne lbl_8059A240
/* 8059A238 38 60 00 05 */ li r3, 5
/* 8059A23C 48 00 00 08 */ b lbl_8059A244
lbl_8059A240:
/* 8059A240 7F E3 FB 78 */ mr r3, r31
lbl_8059A244:
/* 8059A244 39 61 00 20 */ addi r11, r1, 0x20
/* 8059A248 4B DC 7F E1 */ bl _restgpr_29
/* 8059A24C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8059A250 7C 08 03 A6 */ mtlr r0
/* 8059A254 38 21 00 20 */ addi r1, r1, 0x20
/* 8059A258 4E 80 00 20 */ blr
@@ -1,3 +0,0 @@
lbl_8059A3D0:
/* 8059A3D0 38 63 FF DC */ addi r3, r3, -36
/* 8059A3D4 4B FF FE 88 */ b __dt__12dBgS_ObjAcchFv
@@ -1,3 +0,0 @@
lbl_8059A3D8:
/* 8059A3D8 38 63 FF EC */ addi r3, r3, -20
/* 8059A3DC 4B FF FE 80 */ b __dt__12dBgS_ObjAcchFv
@@ -1,30 +0,0 @@
lbl_80D3BD30:
/* 80D3BD30 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D3BD34 7C 08 02 A6 */ mflr r0
/* 80D3BD38 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D3BD3C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D3BD40 93 C1 00 08 */ stw r30, 8(r1)
/* 80D3BD44 7C 7E 1B 79 */ or. r30, r3, r3
/* 80D3BD48 7C 9F 23 78 */ mr r31, r4
/* 80D3BD4C 41 82 00 38 */ beq lbl_80D3BD84
/* 80D3BD50 3C 80 80 D4 */ lis r4, __vt__12dBgS_ObjAcch@ha /* 0x80D3BFDC@ha */
/* 80D3BD54 38 84 BF DC */ addi r4, r4, __vt__12dBgS_ObjAcch@l /* 0x80D3BFDC@l */
/* 80D3BD58 90 9E 00 10 */ stw r4, 0x10(r30)
/* 80D3BD5C 38 04 00 0C */ addi r0, r4, 0xc
/* 80D3BD60 90 1E 00 14 */ stw r0, 0x14(r30)
/* 80D3BD64 38 04 00 18 */ addi r0, r4, 0x18
/* 80D3BD68 90 1E 00 24 */ stw r0, 0x24(r30)
/* 80D3BD6C 38 80 00 00 */ li r4, 0
/* 80D3BD70 4B 33 A2 25 */ bl __dt__9dBgS_AcchFv
/* 80D3BD74 7F E0 07 35 */ extsh. r0, r31
/* 80D3BD78 40 81 00 0C */ ble lbl_80D3BD84
/* 80D3BD7C 7F C3 F3 78 */ mr r3, r30
/* 80D3BD80 4B 59 2F BD */ bl __dl__FPv
lbl_80D3BD84:
/* 80D3BD84 7F C3 F3 78 */ mr r3, r30
/* 80D3BD88 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D3BD8C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80D3BD90 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D3BD94 7C 08 03 A6 */ mtlr r0
/* 80D3BD98 38 21 00 10 */ addi r1, r1, 0x10
/* 80D3BD9C 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_80D3BCE8:
/* 80D3BCE8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D3BCEC 7C 08 02 A6 */ mflr r0
/* 80D3BCF0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D3BCF4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D3BCF8 7C 7F 1B 79 */ or. r31, r3, r3
/* 80D3BCFC 41 82 00 1C */ beq lbl_80D3BD18
/* 80D3BD00 3C A0 80 D4 */ lis r5, __vt__8cM3dGAab@ha /* 0x80D3BFD0@ha */
/* 80D3BD04 38 05 BF D0 */ addi r0, r5, __vt__8cM3dGAab@l /* 0x80D3BFD0@l */
/* 80D3BD08 90 1F 00 18 */ stw r0, 0x18(r31)
/* 80D3BD0C 7C 80 07 35 */ extsh. r0, r4
/* 80D3BD10 40 81 00 08 */ ble lbl_80D3BD18
/* 80D3BD14 4B 59 30 29 */ bl __dl__FPv
lbl_80D3BD18:
/* 80D3BD18 7F E3 FB 78 */ mr r3, r31
/* 80D3BD1C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D3BD20 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D3BD24 7C 08 03 A6 */ mtlr r0
/* 80D3BD28 38 21 00 10 */ addi r1, r1, 0x10
/* 80D3BD2C 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_80D3BCA0:
/* 80D3BCA0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D3BCA4 7C 08 02 A6 */ mflr r0
/* 80D3BCA8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D3BCAC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D3BCB0 7C 7F 1B 79 */ or. r31, r3, r3
/* 80D3BCB4 41 82 00 1C */ beq lbl_80D3BCD0
/* 80D3BCB8 3C A0 80 D4 */ lis r5, __vt__8cM3dGCyl@ha /* 0x80D3BFC4@ha */
/* 80D3BCBC 38 05 BF C4 */ addi r0, r5, __vt__8cM3dGCyl@l /* 0x80D3BFC4@l */
/* 80D3BCC0 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80D3BCC4 7C 80 07 35 */ extsh. r0, r4
/* 80D3BCC8 40 81 00 08 */ ble lbl_80D3BCD0
/* 80D3BCCC 4B 59 30 71 */ bl __dl__FPv
lbl_80D3BCD0:
/* 80D3BCD0 7F E3 FB 78 */ mr r3, r31
/* 80D3BCD4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D3BCD8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D3BCDC 7C 08 03 A6 */ mtlr r0
/* 80D3BCE0 38 21 00 10 */ addi r1, r1, 0x10
/* 80D3BCE4 4E 80 00 20 */ blr
@@ -1,100 +0,0 @@
lbl_80D3BB28:
/* 80D3BB28 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80D3BB2C 7C 08 02 A6 */ mflr r0
/* 80D3BB30 90 01 00 24 */ stw r0, 0x24(r1)
/* 80D3BB34 39 61 00 20 */ addi r11, r1, 0x20
/* 80D3BB38 4B 62 66 A5 */ bl _savegpr_29
/* 80D3BB3C 7C 7F 1B 78 */ mr r31, r3
/* 80D3BB40 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80D3BB44 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80D3BB48 40 82 00 E0 */ bne lbl_80D3BC28
/* 80D3BB4C 7F E0 FB 79 */ or. r0, r31, r31
/* 80D3BB50 41 82 00 CC */ beq lbl_80D3BC1C
/* 80D3BB54 7C 1E 03 78 */ mr r30, r0
/* 80D3BB58 4B 2D D0 0D */ bl __ct__10fopAc_ac_cFv
/* 80D3BB5C 3B BE 05 74 */ addi r29, r30, 0x574
/* 80D3BB60 7F A3 EB 78 */ mr r3, r29
/* 80D3BB64 4B 33 A5 3D */ bl __ct__9dBgS_AcchFv
/* 80D3BB68 3C 60 80 D4 */ lis r3, __vt__12dBgS_ObjAcch@ha /* 0x80D3BFDC@ha */
/* 80D3BB6C 38 63 BF DC */ addi r3, r3, __vt__12dBgS_ObjAcch@l /* 0x80D3BFDC@l */
/* 80D3BB70 90 7D 00 10 */ stw r3, 0x10(r29)
/* 80D3BB74 38 03 00 0C */ addi r0, r3, 0xc
/* 80D3BB78 90 1D 00 14 */ stw r0, 0x14(r29)
/* 80D3BB7C 38 03 00 18 */ addi r0, r3, 0x18
/* 80D3BB80 90 1D 00 24 */ stw r0, 0x24(r29)
/* 80D3BB84 38 7D 00 14 */ addi r3, r29, 0x14
/* 80D3BB88 4B 33 D2 E1 */ bl SetObj__16dBgS_PolyPassChkFv
/* 80D3BB8C 38 7E 07 4C */ addi r3, r30, 0x74c
/* 80D3BB90 4B 33 A3 1D */ bl __ct__12dBgS_AcchCirFv
/* 80D3BB94 3C 60 80 3C */ lis r3, __vt__9cCcD_Stts@ha /* 0x803C3728@ha */
/* 80D3BB98 38 03 37 28 */ addi r0, r3, __vt__9cCcD_Stts@l /* 0x803C3728@l */
/* 80D3BB9C 90 1E 07 A4 */ stw r0, 0x7a4(r30)
/* 80D3BBA0 38 7E 07 A8 */ addi r3, r30, 0x7a8
/* 80D3BBA4 4B 34 7B BD */ bl __ct__10dCcD_GSttsFv
/* 80D3BBA8 3C 60 80 3B */ lis r3, __vt__9dCcD_Stts@ha /* 0x803AC2E4@ha */
/* 80D3BBAC 38 63 C2 E4 */ addi r3, r3, __vt__9dCcD_Stts@l /* 0x803AC2E4@l */
/* 80D3BBB0 90 7E 07 A4 */ stw r3, 0x7a4(r30)
/* 80D3BBB4 38 03 00 20 */ addi r0, r3, 0x20
/* 80D3BBB8 90 1E 07 A8 */ stw r0, 0x7a8(r30)
/* 80D3BBBC 3B BE 07 C8 */ addi r29, r30, 0x7c8
/* 80D3BBC0 7F A3 EB 78 */ mr r3, r29
/* 80D3BBC4 4B 34 7E 65 */ bl __ct__12dCcD_GObjInfFv
/* 80D3BBC8 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */
/* 80D3BBCC 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */
/* 80D3BBD0 90 1D 01 20 */ stw r0, 0x120(r29)
/* 80D3BBD4 3C 60 80 D4 */ lis r3, __vt__8cM3dGAab@ha /* 0x80D3BFD0@ha */
/* 80D3BBD8 38 03 BF D0 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x80D3BFD0@l */
/* 80D3BBDC 90 1D 01 1C */ stw r0, 0x11c(r29)
/* 80D3BBE0 3C 60 80 D4 */ lis r3, __vt__8cM3dGCyl@ha /* 0x80D3BFC4@ha */
/* 80D3BBE4 38 03 BF C4 */ addi r0, r3, __vt__8cM3dGCyl@l /* 0x80D3BFC4@l */
/* 80D3BBE8 90 1D 01 38 */ stw r0, 0x138(r29)
/* 80D3BBEC 3C 60 80 3C */ lis r3, __vt__12cCcD_CylAttr@ha /* 0x803C35A4@ha */
/* 80D3BBF0 38 63 35 A4 */ addi r3, r3, __vt__12cCcD_CylAttr@l /* 0x803C35A4@l */
/* 80D3BBF4 90 7D 01 20 */ stw r3, 0x120(r29)
/* 80D3BBF8 38 03 00 58 */ addi r0, r3, 0x58
/* 80D3BBFC 90 1D 01 38 */ stw r0, 0x138(r29)
/* 80D3BC00 3C 60 80 3B */ lis r3, __vt__8dCcD_Cyl@ha /* 0x803AC050@ha */
/* 80D3BC04 38 63 C0 50 */ addi r3, r3, __vt__8dCcD_Cyl@l /* 0x803AC050@l */
/* 80D3BC08 90 7D 00 3C */ stw r3, 0x3c(r29)
/* 80D3BC0C 38 03 00 2C */ addi r0, r3, 0x2c
/* 80D3BC10 90 1D 01 20 */ stw r0, 0x120(r29)
/* 80D3BC14 38 03 00 84 */ addi r0, r3, 0x84
/* 80D3BC18 90 1D 01 38 */ stw r0, 0x138(r29)
lbl_80D3BC1C:
/* 80D3BC1C 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 80D3BC20 60 00 00 08 */ ori r0, r0, 8
/* 80D3BC24 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_80D3BC28:
/* 80D3BC28 38 7F 05 68 */ addi r3, r31, 0x568
/* 80D3BC2C 3C 80 80 D4 */ lis r4, l_arcName@ha /* 0x80D3BF2C@ha */
/* 80D3BC30 38 84 BF 2C */ addi r4, r4, l_arcName@l /* 0x80D3BF2C@l */
/* 80D3BC34 80 84 00 00 */ lwz r4, 0(r4)
/* 80D3BC38 4B 2F 12 85 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc
/* 80D3BC3C 7C 7E 1B 78 */ mr r30, r3
/* 80D3BC40 2C 1E 00 04 */ cmpwi r30, 4
/* 80D3BC44 40 82 00 40 */ bne lbl_80D3BC84
/* 80D3BC48 7F E3 FB 78 */ mr r3, r31
/* 80D3BC4C 3C 80 80 D4 */ lis r4, CheckCreateHeap__FP10fopAc_ac_c@ha /* 0x80D3B978@ha */
/* 80D3BC50 38 84 B9 78 */ addi r4, r4, CheckCreateHeap__FP10fopAc_ac_c@l /* 0x80D3B978@l */
/* 80D3BC54 38 A0 08 40 */ li r5, 0x840
/* 80D3BC58 4B 2D E8 59 */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl
/* 80D3BC5C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80D3BC60 40 82 00 0C */ bne lbl_80D3BC6C
/* 80D3BC64 38 60 00 05 */ li r3, 5
/* 80D3BC68 48 00 00 20 */ b lbl_80D3BC88
lbl_80D3BC6C:
/* 80D3BC6C 7F E3 FB 78 */ mr r3, r31
/* 80D3BC70 4B FF FD D1 */ bl Create__13daObjWSword_cFv
/* 80D3BC74 2C 03 00 00 */ cmpwi r3, 0
/* 80D3BC78 40 82 00 0C */ bne lbl_80D3BC84
/* 80D3BC7C 38 60 00 05 */ li r3, 5
/* 80D3BC80 48 00 00 08 */ b lbl_80D3BC88
lbl_80D3BC84:
/* 80D3BC84 7F C3 F3 78 */ mr r3, r30
lbl_80D3BC88:
/* 80D3BC88 39 61 00 20 */ addi r11, r1, 0x20
/* 80D3BC8C 4B 62 65 9D */ bl _restgpr_29
/* 80D3BC90 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80D3BC94 7C 08 03 A6 */ mtlr r0
/* 80D3BC98 38 21 00 20 */ addi r1, r1, 0x20
/* 80D3BC9C 4E 80 00 20 */ blr
@@ -1,3 +0,0 @@
lbl_80D3BF08:
/* 80D3BF08 38 63 FF DC */ addi r3, r3, -36
/* 80D3BF0C 4B FF FE 24 */ b __dt__12dBgS_ObjAcchFv
@@ -1,3 +0,0 @@
lbl_80D3BF10:
/* 80D3BF10 38 63 FF EC */ addi r3, r3, -20
/* 80D3BF14 4B FF FE 1C */ b __dt__12dBgS_ObjAcchFv
@@ -1,30 +0,0 @@
lbl_80D3F13C:
/* 80D3F13C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D3F140 7C 08 02 A6 */ mflr r0
/* 80D3F144 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D3F148 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D3F14C 93 C1 00 08 */ stw r30, 8(r1)
/* 80D3F150 7C 7E 1B 79 */ or. r30, r3, r3
/* 80D3F154 7C 9F 23 78 */ mr r31, r4
/* 80D3F158 41 82 00 38 */ beq lbl_80D3F190
/* 80D3F15C 3C 80 80 D4 */ lis r4, __vt__12dBgS_ObjAcch@ha /* 0x80D3F380@ha */
/* 80D3F160 38 84 F3 80 */ addi r4, r4, __vt__12dBgS_ObjAcch@l /* 0x80D3F380@l */
/* 80D3F164 90 9E 00 10 */ stw r4, 0x10(r30)
/* 80D3F168 38 04 00 0C */ addi r0, r4, 0xc
/* 80D3F16C 90 1E 00 14 */ stw r0, 0x14(r30)
/* 80D3F170 38 04 00 18 */ addi r0, r4, 0x18
/* 80D3F174 90 1E 00 24 */ stw r0, 0x24(r30)
/* 80D3F178 38 80 00 00 */ li r4, 0
/* 80D3F17C 4B 33 6E 19 */ bl __dt__9dBgS_AcchFv
/* 80D3F180 7F E0 07 35 */ extsh. r0, r31
/* 80D3F184 40 81 00 0C */ ble lbl_80D3F190
/* 80D3F188 7F C3 F3 78 */ mr r3, r30
/* 80D3F18C 4B 58 FB B1 */ bl __dl__FPv
lbl_80D3F190:
/* 80D3F190 7F C3 F3 78 */ mr r3, r30
/* 80D3F194 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D3F198 83 C1 00 08 */ lwz r30, 8(r1)
/* 80D3F19C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D3F1A0 7C 08 03 A6 */ mtlr r0
/* 80D3F1A4 38 21 00 10 */ addi r1, r1, 0x10
/* 80D3F1A8 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_80D3F0F4:
/* 80D3F0F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D3F0F8 7C 08 02 A6 */ mflr r0
/* 80D3F0FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D3F100 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D3F104 7C 7F 1B 79 */ or. r31, r3, r3
/* 80D3F108 41 82 00 1C */ beq lbl_80D3F124
/* 80D3F10C 3C A0 80 D4 */ lis r5, __vt__8cM3dGAab@ha /* 0x80D3F374@ha */
/* 80D3F110 38 05 F3 74 */ addi r0, r5, __vt__8cM3dGAab@l /* 0x80D3F374@l */
/* 80D3F114 90 1F 00 18 */ stw r0, 0x18(r31)
/* 80D3F118 7C 80 07 35 */ extsh. r0, r4
/* 80D3F11C 40 81 00 08 */ ble lbl_80D3F124
/* 80D3F120 4B 58 FC 1D */ bl __dl__FPv
lbl_80D3F124:
/* 80D3F124 7F E3 FB 78 */ mr r3, r31
/* 80D3F128 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D3F12C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D3F130 7C 08 03 A6 */ mtlr r0
/* 80D3F134 38 21 00 10 */ addi r1, r1, 0x10
/* 80D3F138 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_80D3F0AC:
/* 80D3F0AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D3F0B0 7C 08 02 A6 */ mflr r0
/* 80D3F0B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D3F0B8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D3F0BC 7C 7F 1B 79 */ or. r31, r3, r3
/* 80D3F0C0 41 82 00 1C */ beq lbl_80D3F0DC
/* 80D3F0C4 3C A0 80 D4 */ lis r5, __vt__8cM3dGCyl@ha /* 0x80D3F368@ha */
/* 80D3F0C8 38 05 F3 68 */ addi r0, r5, __vt__8cM3dGCyl@l /* 0x80D3F368@l */
/* 80D3F0CC 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80D3F0D0 7C 80 07 35 */ extsh. r0, r4
/* 80D3F0D4 40 81 00 08 */ ble lbl_80D3F0DC
/* 80D3F0D8 4B 58 FC 65 */ bl __dl__FPv
lbl_80D3F0DC:
/* 80D3F0DC 7F E3 FB 78 */ mr r3, r31
/* 80D3F0E0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D3F0E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D3F0E8 7C 08 03 A6 */ mtlr r0
/* 80D3F0EC 38 21 00 10 */ addi r1, r1, 0x10
/* 80D3F0F0 4E 80 00 20 */ blr
@@ -1,110 +0,0 @@
lbl_80D3EF0C:
/* 80D3EF0C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80D3EF10 7C 08 02 A6 */ mflr r0
/* 80D3EF14 90 01 00 24 */ stw r0, 0x24(r1)
/* 80D3EF18 39 61 00 20 */ addi r11, r1, 0x20
/* 80D3EF1C 4B 62 32 C1 */ bl _savegpr_29
/* 80D3EF20 7C 7F 1B 78 */ mr r31, r3
/* 80D3EF24 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80D3EF28 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80D3EF2C 40 82 00 F8 */ bne lbl_80D3F024
/* 80D3EF30 28 1F 00 00 */ cmplwi r31, 0
/* 80D3EF34 41 82 00 E4 */ beq lbl_80D3F018
/* 80D3EF38 7F FE FB 78 */ mr r30, r31
/* 80D3EF3C 4B 2D 9C 29 */ bl __ct__10fopAc_ac_cFv
/* 80D3EF40 3C 60 80 3B */ lis r3, __vt__12daItemBase_c@ha /* 0x803B3610@ha */
/* 80D3EF44 38 03 36 10 */ addi r0, r3, __vt__12daItemBase_c@l /* 0x803B3610@l */
/* 80D3EF48 90 1E 05 68 */ stw r0, 0x568(r30)
/* 80D3EF4C 3B BE 05 8C */ addi r29, r30, 0x58c
/* 80D3EF50 7F A3 EB 78 */ mr r3, r29
/* 80D3EF54 4B 33 71 4D */ bl __ct__9dBgS_AcchFv
/* 80D3EF58 3C 60 80 D4 */ lis r3, __vt__12dBgS_ObjAcch@ha /* 0x80D3F380@ha */
/* 80D3EF5C 38 63 F3 80 */ addi r3, r3, __vt__12dBgS_ObjAcch@l /* 0x80D3F380@l */
/* 80D3EF60 90 7D 00 10 */ stw r3, 0x10(r29)
/* 80D3EF64 38 03 00 0C */ addi r0, r3, 0xc
/* 80D3EF68 90 1D 00 14 */ stw r0, 0x14(r29)
/* 80D3EF6C 38 03 00 18 */ addi r0, r3, 0x18
/* 80D3EF70 90 1D 00 24 */ stw r0, 0x24(r29)
/* 80D3EF74 38 7D 00 14 */ addi r3, r29, 0x14
/* 80D3EF78 4B 33 9E F1 */ bl SetObj__16dBgS_PolyPassChkFv
/* 80D3EF7C 38 7E 07 64 */ addi r3, r30, 0x764
/* 80D3EF80 4B 33 6F 2D */ bl __ct__12dBgS_AcchCirFv
/* 80D3EF84 3C 60 80 3C */ lis r3, __vt__9cCcD_Stts@ha /* 0x803C3728@ha */
/* 80D3EF88 38 03 37 28 */ addi r0, r3, __vt__9cCcD_Stts@l /* 0x803C3728@l */
/* 80D3EF8C 90 1E 07 BC */ stw r0, 0x7bc(r30)
/* 80D3EF90 38 7E 07 C0 */ addi r3, r30, 0x7c0
/* 80D3EF94 4B 34 47 CD */ bl __ct__10dCcD_GSttsFv
/* 80D3EF98 3C 60 80 3B */ lis r3, __vt__9dCcD_Stts@ha /* 0x803AC2E4@ha */
/* 80D3EF9C 38 63 C2 E4 */ addi r3, r3, __vt__9dCcD_Stts@l /* 0x803AC2E4@l */
/* 80D3EFA0 90 7E 07 BC */ stw r3, 0x7bc(r30)
/* 80D3EFA4 38 03 00 20 */ addi r0, r3, 0x20
/* 80D3EFA8 90 1E 07 C0 */ stw r0, 0x7c0(r30)
/* 80D3EFAC 3B BE 07 E0 */ addi r29, r30, 0x7e0
/* 80D3EFB0 7F A3 EB 78 */ mr r3, r29
/* 80D3EFB4 4B 34 4A 75 */ bl __ct__12dCcD_GObjInfFv
/* 80D3EFB8 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */
/* 80D3EFBC 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */
/* 80D3EFC0 90 1D 01 20 */ stw r0, 0x120(r29)
/* 80D3EFC4 3C 60 80 D4 */ lis r3, __vt__8cM3dGAab@ha /* 0x80D3F374@ha */
/* 80D3EFC8 38 03 F3 74 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x80D3F374@l */
/* 80D3EFCC 90 1D 01 1C */ stw r0, 0x11c(r29)
/* 80D3EFD0 3C 60 80 D4 */ lis r3, __vt__8cM3dGCyl@ha /* 0x80D3F368@ha */
/* 80D3EFD4 38 03 F3 68 */ addi r0, r3, __vt__8cM3dGCyl@l /* 0x80D3F368@l */
/* 80D3EFD8 90 1D 01 38 */ stw r0, 0x138(r29)
/* 80D3EFDC 3C 60 80 3C */ lis r3, __vt__12cCcD_CylAttr@ha /* 0x803C35A4@ha */
/* 80D3EFE0 38 63 35 A4 */ addi r3, r3, __vt__12cCcD_CylAttr@l /* 0x803C35A4@l */
/* 80D3EFE4 90 7D 01 20 */ stw r3, 0x120(r29)
/* 80D3EFE8 38 03 00 58 */ addi r0, r3, 0x58
/* 80D3EFEC 90 1D 01 38 */ stw r0, 0x138(r29)
/* 80D3EFF0 3C 60 80 3B */ lis r3, __vt__8dCcD_Cyl@ha /* 0x803AC050@ha */
/* 80D3EFF4 38 63 C0 50 */ addi r3, r3, __vt__8dCcD_Cyl@l /* 0x803AC050@l */
/* 80D3EFF8 90 7D 00 3C */ stw r3, 0x3c(r29)
/* 80D3EFFC 38 03 00 2C */ addi r0, r3, 0x2c
/* 80D3F000 90 1D 01 20 */ stw r0, 0x120(r29)
/* 80D3F004 38 03 00 84 */ addi r0, r3, 0x84
/* 80D3F008 90 1D 01 38 */ stw r0, 0x138(r29)
/* 80D3F00C 3C 60 80 D4 */ lis r3, __vt__13daObjZCloth_c@ha /* 0x80D3F324@ha */
/* 80D3F010 38 03 F3 24 */ addi r0, r3, __vt__13daObjZCloth_c@l /* 0x80D3F324@l */
/* 80D3F014 90 1F 05 68 */ stw r0, 0x568(r31)
lbl_80D3F018:
/* 80D3F018 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 80D3F01C 60 00 00 08 */ ori r0, r0, 8
/* 80D3F020 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_80D3F024:
/* 80D3F024 38 00 00 31 */ li r0, 0x31
/* 80D3F028 98 1F 09 2A */ stb r0, 0x92a(r31)
/* 80D3F02C 88 1F 09 2A */ lbz r0, 0x92a(r31)
/* 80D3F030 54 00 20 36 */ slwi r0, r0, 4
/* 80D3F034 3C 60 80 3B */ lis r3, field_item_res__10dItem_data@ha /* 0x803ADD88@ha */
/* 80D3F038 38 63 DD 88 */ addi r3, r3, field_item_res__10dItem_data@l /* 0x803ADD88@l */
/* 80D3F03C 7C 83 00 2E */ lwzx r4, r3, r0
/* 80D3F040 38 7F 05 6C */ addi r3, r31, 0x56c
/* 80D3F044 4B 2E DE 79 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc
/* 80D3F048 7C 7E 1B 78 */ mr r30, r3
/* 80D3F04C 2C 1E 00 04 */ cmpwi r30, 4
/* 80D3F050 40 82 00 40 */ bne lbl_80D3F090
/* 80D3F054 7F E3 FB 78 */ mr r3, r31
/* 80D3F058 3C 80 80 03 */ lis r4, CheckFieldItemCreateHeap__FP10fopAc_ac_c@ha /* 0x80037B78@ha */
/* 80D3F05C 38 84 7B 78 */ addi r4, r4, CheckFieldItemCreateHeap__FP10fopAc_ac_c@l /* 0x80037B78@l */
/* 80D3F060 38 A0 2F B0 */ li r5, 0x2fb0
/* 80D3F064 4B 2D B4 4D */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl
/* 80D3F068 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80D3F06C 40 82 00 0C */ bne lbl_80D3F078
/* 80D3F070 38 60 00 05 */ li r3, 5
/* 80D3F074 48 00 00 20 */ b lbl_80D3F094
lbl_80D3F078:
/* 80D3F078 7F E3 FB 78 */ mr r3, r31
/* 80D3F07C 4B FF FE 45 */ bl Create__13daObjZCloth_cFv
/* 80D3F080 2C 03 00 00 */ cmpwi r3, 0
/* 80D3F084 40 82 00 0C */ bne lbl_80D3F090
/* 80D3F088 38 60 00 05 */ li r3, 5
/* 80D3F08C 48 00 00 08 */ b lbl_80D3F094
lbl_80D3F090:
/* 80D3F090 7F C3 F3 78 */ mr r3, r30
lbl_80D3F094:
/* 80D3F094 39 61 00 20 */ addi r11, r1, 0x20
/* 80D3F098 4B 62 31 91 */ bl _restgpr_29
/* 80D3F09C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80D3F0A0 7C 08 03 A6 */ mtlr r0
/* 80D3F0A4 38 21 00 20 */ addi r1, r1, 0x20
/* 80D3F0A8 4E 80 00 20 */ blr
@@ -1,3 +0,0 @@
lbl_80D3F2BC:
/* 80D3F2BC 38 63 FF DC */ addi r3, r3, -36
/* 80D3F2C0 4B FF FE 7C */ b __dt__12dBgS_ObjAcchFv
@@ -1,3 +0,0 @@
lbl_80D3F2C4:
/* 80D3F2C4 38 63 FF EC */ addi r3, r3, -20
/* 80D3F2C8 4B FF FE 74 */ b __dt__12dBgS_ObjAcchFv
+28 -29
View File
@@ -1,29 +1,28 @@
#ifndef D_A_OBJ_BBOX_H
#define D_A_OBJ_BBOX_H
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/cc/d_cc_d.h"
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
class daObjBBox_c : public dBgS_MoveBgActor {
public:
/* 80BACD38 */ void initBaseMtx();
/* 80BACD74 */ void setBaseMtx();
/* 80BACDD8 */ int Create();
/* 80BACE50 */ int CreateHeap();
/* 80BACEC0 */ int create1st();
/* 80BAD0C0 */ int Execute(Mtx**);
/* 80BAD234 */ int Draw();
/* 80BAD2D8 */ int Delete();
u32 getSwNo() { return fopAcM_GetParamBit(this, 0, 8); }
private:
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ dCcD_Stts mStts;
/* 0x5E8 */ dCcD_Cyl mCyl;
}; // Size: 0x724
#endif /* D_A_OBJ_BBOX_H */
#ifndef D_A_OBJ_BBOX_H
#define D_A_OBJ_BBOX_H
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/cc/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
class daObjBBox_c : public dBgS_MoveBgActor {
public:
/* 80BACD38 */ void initBaseMtx();
/* 80BACD74 */ void setBaseMtx();
/* 80BACDD8 */ int Create();
/* 80BACE50 */ int CreateHeap();
/* 80BACEC0 */ int create1st();
/* 80BAD0C0 */ int Execute(Mtx**);
/* 80BAD234 */ int Draw();
/* 80BAD2D8 */ int Delete();
u32 getSwNo() { return fopAcM_GetParamBit(this, 0, 8); }
private:
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ dCcD_Stts mStts;
/* 0x5E8 */ dCcD_Cyl mCyl;
}; // Size: 0x724
#endif /* D_A_OBJ_BBOX_H */
@@ -1,50 +1,50 @@
#ifndef D_A_OBJ_LV4GATE_H
#define D_A_OBJ_LV4GATE_H
#include "d/bg/d_bg_s_movebg_actor.h"
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_hostIO.h"
class daLv4Gate_c : public dBgS_MoveBgActor {
public:
enum Mode_e {
MODE_WAIT_e,
MODE_MOVE_e,
MODE_MOVE_END_e,
};
/* 80C5EBE4 */ void setBaseMtx();
/* 80C5ECEC */ int create();
/* 80C5EEA4 */ void moveGate();
/* 80C5EF48 */ void init_modeWait();
/* 80C5EF54 */ void modeWait();
/* 80C5EFB0 */ void init_modeMove();
/* 80C5EFBC */ void modeMove();
/* 80C5F0C4 */ void init_modeMoveEnd();
/* 80C5F1E4 */ void modeMoveEnd();
/* 80C5EC80 */ virtual int CreateHeap();
/* 80C5EE54 */ virtual int Execute(f32 (**)[3][4]);
/* 80C5F1E8 */ virtual int Draw();
/* 80C5F28C */ virtual int Delete();
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ u8 mMode;
/* 0x5AD */ u8 mGateOpened;
/* 0x5AE */ u8 mInitMove;
/* 0x5AF */ u8 mMoveType;
/* 0x5B0 */ f32 mMoveTarget;
/* 0x5B4 */ f32 mMoveValue;
};
class daLv4Gate_HIO_c : public mDoHIO_entry_c {
public:
/* 80C5EB6C */ daLv4Gate_HIO_c();
/* 80C5F348 */ virtual ~daLv4Gate_HIO_c();
/* 0x4 */ f32 mMoveSpeed;
/* 0x8 */ u8 mShockStrength;
};
#endif /* D_A_OBJ_LV4GATE_H */
#ifndef D_A_OBJ_LV4GATE_H
#define D_A_OBJ_LV4GATE_H
#include "d/bg/d_bg_s_movebg_actor.h"
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_hostIO.h"
class daLv4Gate_c : public dBgS_MoveBgActor {
public:
enum Mode_e {
MODE_WAIT_e,
MODE_MOVE_e,
MODE_MOVE_END_e,
};
/* 80C5EBE4 */ void setBaseMtx();
/* 80C5ECEC */ int create();
/* 80C5EEA4 */ void moveGate();
/* 80C5EF48 */ void init_modeWait();
/* 80C5EF54 */ void modeWait();
/* 80C5EFB0 */ void init_modeMove();
/* 80C5EFBC */ void modeMove();
/* 80C5F0C4 */ void init_modeMoveEnd();
/* 80C5F1E4 */ void modeMoveEnd();
/* 80C5EC80 */ virtual int CreateHeap();
/* 80C5EE54 */ virtual int Execute(Mtx**);
/* 80C5F1E8 */ virtual int Draw();
/* 80C5F28C */ virtual int Delete();
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ u8 mMode;
/* 0x5AD */ u8 mGateOpened;
/* 0x5AE */ u8 mInitMove;
/* 0x5AF */ u8 mMoveType;
/* 0x5B0 */ f32 mMoveTarget;
/* 0x5B4 */ f32 mMoveValue;
};
class daLv4Gate_HIO_c : public mDoHIO_entry_c {
public:
/* 80C5EB6C */ daLv4Gate_HIO_c();
/* 80C5F348 */ virtual ~daLv4Gate_HIO_c() {}
/* 0x4 */ f32 mMoveSpeed;
/* 0x8 */ u8 mShockStrength;
};
#endif /* D_A_OBJ_LV4GATE_H */
@@ -1,24 +1,26 @@
#ifndef D_A_OBJ_STONEMARK_H
#define D_A_OBJ_STONEMARK_H
#include "d/com/d_com_inf_game.h"
class daObjSMark_c : public fopAc_ac_c {
public:
/* 8059A018 */ void initBaseMtx();
/* 8059A038 */ void setBaseMtx();
/* 8059A080 */ int Create();
/* 8059A168 */ int create();
/* 8059A2CC */ int draw();
/* 8059A33C */ int _delete();
/* 0x0568 */ request_of_phase_process_class mpPhase;
/* 0x0570 */ GXTexObj mTexObj;
/* 0x0590 */ dBgS_ObjAcch mObjAcch;
/* 0x0768 */ dBgS_AcchCir mAcchCir;
/* 0x07A8 */ dCcD_Stts mStts;
/* 0x07E4 */ Mtx mCullMtx;
};
#endif /* D_A_OBJ_STONEMARK_H */
#ifndef D_A_OBJ_STONEMARK_H
#define D_A_OBJ_STONEMARK_H
#include "SSystem/SComponent/c_phase.h"
#include "f_op/f_op_actor.h"
#include "d/bg/d_bg_s_acch.h"
#include "d/cc/d_cc_d.h"
class daObjSMark_c : public fopAc_ac_c {
public:
/* 8059A018 */ void initBaseMtx();
/* 8059A038 */ void setBaseMtx();
/* 8059A080 */ int Create();
/* 8059A168 */ int create();
/* 8059A2CC */ int draw();
/* 8059A33C */ int _delete();
/* 0x0568 */ request_of_phase_process_class mpPhase;
/* 0x0570 */ GXTexObj mTexObj;
/* 0x0590 */ dBgS_ObjAcch mObjAcch;
/* 0x0768 */ dBgS_AcchCir mAcchCir;
/* 0x07A8 */ dCcD_Stts mStts;
/* 0x07E4 */ Mtx mCullMtx;
};
#endif /* D_A_OBJ_STONEMARK_H */
@@ -1,6 +1,30 @@
#ifndef D_A_OBJ_WSWORD_H
#define D_A_OBJ_WSWORD_H
#include "dolphin/types.h"
#include "SSystem/SComponent/c_phase.h"
#include "f_op/f_op_actor.h"
#include "d/bg/d_bg_s_acch.h"
#include "d/cc/d_cc_d.h"
class daObjWSword_c : public fopAc_ac_c {
public:
/* 80D3B998 */ void initBaseMtx();
/* 80D3B9D4 */ void setBaseMtx();
/* 80D3BA40 */ int Create();
/* 80D3BAB8 */ int CreateHeap();
/* 80D3BB28 */ int create();
/* 80D3BDA0 */ int execute();
/* 80D3BDF0 */ int draw();
/* 80D3BE54 */ int _delete();
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ dBgS_ObjAcch mAcch;
/* 0x74C */ dBgS_AcchCir mAcchCir;
/* 0x78C */ dCcD_Stts mStts;
/* 0x7C8 */ dCcD_Cyl mCyl;
};
STATIC_ASSERT(sizeof(daObjWSword_c) == 0x904);
#endif /* D_A_OBJ_WSWORD_H */
@@ -1,5 +1,17 @@
#ifndef D_A_OBJ_ZCLOTH_H
#define D_A_OBJ_ZCLOTH_H
#endif /* D_A_OBJ_ZCLOTH_H */
#ifndef D_A_OBJ_ZCLOTH_H
#define D_A_OBJ_ZCLOTH_H
#include "d/a/d_a_itembase.h"
class daObjZCloth_c : public daItemBase_c {
public:
/* 80D3EE18 */ void initBaseMtx();
/* 80D3EE54 */ void setBaseMtx();
/* 80D3EEC0 */ int Create();
/* 80D3EF0C */ int create();
/* 80D3F1AC */ int execute();
/* 80D3F1D0 */ int draw();
/* 80D3F200 */ int _delete();
}; // Size: 0x92C
#endif /* D_A_OBJ_ZCLOTH_H */
+166 -313
View File
@@ -1,313 +1,166 @@
/**
* d_a_obj_bbox.cpp
* Object - Breakable Wooden Box
*/
#include "rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "d/d_procname.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" void initBaseMtx__11daObjBBox_cFv();
extern "C" void setBaseMtx__11daObjBBox_cFv();
extern "C" void Create__11daObjBBox_cFv();
extern "C" void CreateHeap__11daObjBBox_cFv();
extern "C" void create1st__11daObjBBox_cFv();
extern "C" void __dt__8cM3dGCylFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void Execute__11daObjBBox_cFPPA3_A4_f();
extern "C" void Draw__11daObjBBox_cFv();
extern "C" void Delete__11daObjBBox_cFv();
extern "C" static void daObjBBox_create1st__FP11daObjBBox_c();
extern "C" static void daObjBBox_MoveBGDelete__FP11daObjBBox_c();
extern "C" static void daObjBBox_MoveBGExecute__FP11daObjBBox_c();
extern "C" static void daObjBBox_MoveBGDraw__FP11daObjBBox_c();
extern "C" extern char const* const d_a_obj_bbox__stringBase0;
//
// External References:
//
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void dComIfGp_getReverb__Fi();
extern "C" void onSwitch__10dSv_info_cFii();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
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 __ct__10dCcD_GSttsFv();
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" void ChkTgHit__12dCcD_GObjInfFv();
extern "C" void GetTgHitObj__12dCcD_GObjInfFv();
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void SetC__8cM3dGCylFRC4cXyz();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void __dl__FPv();
extern "C" void _savegpr_25();
extern "C" void _restgpr_25();
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_CylAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
// Declarations:
//
/* 80BACD38-80BACD74 000078 003C+00 1/1 0/0 0/0 .text initBaseMtx__11daObjBBox_cFv */
void daObjBBox_c::initBaseMtx() {
mpModel->setBaseScale(mScale);
setBaseMtx();
}
/* 80BACD74-80BACDD8 0000B4 0064+00 2/2 0/0 0/0 .text setBaseMtx__11daObjBBox_cFv */
void daObjBBox_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::YrotM(shape_angle.y);
mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
MTXCopy(mDoMtx_stack_c::get(), mBgMtx);
}
/* 80BAD474-80BAD4B8 000000 0044+00 2/2 0/0 0/0 .rodata l_cyl_src */
const static dCcD_SrcCyl l_cyl_src = {
{
{0x0, {{0x0, 0x0, 0x1f}, {0xd8000000, 0x11}, 0x78}}, // mObj
{dCcD_SE_NONE, 0x1, 0x0, 0x0, 0x0}, // mGObjAt
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg
{0x0}, // mGObjCo
}, // mObjInf
{
{0.0f, 0.0f, 0.0f}, // mCenter
90.0f, // mRadius
100.0f // mHeight
} // mCyl
};
/* 80BACDD8-80BACE50 000118 0078+00 1/0 0/0 0/0 .text Create__11daObjBBox_cFv */
int daObjBBox_c::Create() {
initBaseMtx();
fopAcM_SetMtx(this, mpModel->mBaseTransformMtx);
mStts.Init(0xff, 0xff, this);
mCyl.Set(l_cyl_src);
mCyl.SetStts(&mStts);
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
return 1;
}
/* 80BAD4D4-80BAD4D8 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
static char* l_arcName = "M_BBox";
/* 80BACE50-80BACEC0 000190 0070+00 1/0 0/0 0/0 .text CreateHeap__11daObjBBox_cFv */
int daObjBBox_c::CreateHeap() {
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 4);
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
return mpModel != NULL ? 1 : 0;
}
/* ############################################################################################## */
/* 80BAD4D8-80BAD4F8 -00001 0020+00 1/0 0/0 0/0 .data daObjBBox_METHODS */
SECTION_DATA static void* daObjBBox_METHODS[8] = {
(void*)daObjBBox_create1st__FP11daObjBBox_c,
(void*)daObjBBox_MoveBGDelete__FP11daObjBBox_c,
(void*)daObjBBox_MoveBGExecute__FP11daObjBBox_c,
(void*)NULL,
(void*)daObjBBox_MoveBGDraw__FP11daObjBBox_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 80BAD4F8-80BAD528 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_BBox */
SECTION_DATA extern void* g_profile_Obj_BBox[12] = {
(void*)0xFFFFFFFD, (void*)0x0003FFFD,
(void*)0x007A0000, (void*)&g_fpcLf_Method,
(void*)0x00000724, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x01F30000, (void*)&daObjBBox_METHODS,
(void*)0x00040100, (void*)0x000E0000,
};
/* 80BAD528-80BAD534 000054 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGCyl */
SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGCylFv,
};
/* 80BAD534-80BAD540 000060 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGAabFv,
};
/* 80BAD540-80BAD568 00006C 0028+00 2/2 0/0 0/0 .data __vt__11daObjBBox_c */
SECTION_DATA extern void* __vt__11daObjBBox_c[10] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)CreateHeap__11daObjBBox_cFv,
(void*)Create__11daObjBBox_cFv,
(void*)Execute__11daObjBBox_cFPPA3_A4_f,
(void*)Draw__11daObjBBox_cFv,
(void*)Delete__11daObjBBox_cFv,
(void*)IsDelete__16dBgS_MoveBgActorFv,
(void*)ToFore__16dBgS_MoveBgActorFv,
(void*)ToBack__16dBgS_MoveBgActorFv,
};
/* 80BACEC0-80BAD030 000200 0170+00 1/1 0/0 0/0 .text create1st__11daObjBBox_cFv */
#ifdef NONMATCHING
// vtable explosion
int daObjBBox_c::create1st() {
fopAcM_SetupActor(this, daObjBBox_c);
if (i_fopAcM_isSwitch(this, getSwNo())) {
return cPhs_ERROR_e;
}
int phase = dComIfG_resLoad(&mPhaseReq, l_arcName);
if (phase == cPhs_COMPLEATE_e) {
phase = MoveBGCreate(l_arcName, 7, NULL, 0xC00, NULL);
if (phase == cPhs_ERROR_e) {
return phase;
}
}
return phase;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daObjBBox_c::create1st() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox/create1st__11daObjBBox_cFv.s"
}
#pragma pop
#endif
/* 80BAD030-80BAD078 000370 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm cM3dGCyl::~cM3dGCyl() {
extern "C" asm void __dt__8cM3dGCylFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox/__dt__8cM3dGCylFv.s"
}
#pragma pop
/* 80BAD078-80BAD0C0 0003B8 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm cM3dGAab::~cM3dGAab() {
extern "C" asm void __dt__8cM3dGAabFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox/__dt__8cM3dGAabFv.s"
}
#pragma pop
/* 80BAD4B8-80BAD4C4 000044 000A+02 0/1 0/0 0/0 .rodata particle_id$3793 */
#pragma push
#pragma force_active on
static const u16 particle_id[5] = {
0x83B0, 0x83B1, 0x83B2, 0x83B3, 0x83B4,
};
#pragma pop
/* 80BAD0C0-80BAD234 000400 0174+00 1/0 0/0 0/0 .text Execute__11daObjBBox_cFPPA3_A4_f */
int daObjBBox_c::Execute(Mtx** i_mtx) {
if (mCyl.ChkTgHit() != 0) {
cCcD_Obj* hitObj = mCyl.GetTgHitObj();
if (hitObj != NULL) {
if (hitObj->ChkAtType(0xd8000000)) {
for (int i = 0; i < 5; i++) {
dComIfGp_particle_set(particle_id[i], &current.pos, NULL, &mScale, 0xff, NULL,
-1, NULL, NULL, NULL);
}
fopAcM_seStart(this, Z2SE_OBJ_WOODBOX_BREAK, 0);
i_fopAcM_onSwitch(this, getSwNo());
fopAcM_delete(this);
}
}
}
*i_mtx = &mBgMtx;
setBaseMtx();
mCyl.SetC(current.pos);
dComIfG_Ccsp()->Set(&mCyl);
return 1;
}
/* 80BAD234-80BAD2D8 000574 00A4+00 1/0 0/0 0/0 .text Draw__11daObjBBox_cFv */
int daObjBBox_c::Draw() {
g_env_light.settingTevStruct(0x10, &current.pos, &mTevStr);
g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr);
dComIfGd_setListBG();
mDoExt_modelUpdateDL(mpModel);
dComIfGd_setList();
return 1;
}
/* 80BAD2D8-80BAD30C 000618 0034+00 1/0 0/0 0/0 .text Delete__11daObjBBox_cFv */
int daObjBBox_c::Delete() {
dComIfG_resDelete(&mPhaseReq, l_arcName);
return 1;
}
/* 80BAD30C-80BAD400 00064C 00F4+00 1/0 0/0 0/0 .text daObjBBox_create1st__FP11daObjBBox_c */
#ifdef NONMATCHING
// vtable explosion
static int daObjBBox_create1st(daObjBBox_c* i_this) {
fopAcM_SetupActor(i_this, daObjBBox_c);
return i_this->create1st();
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm int daObjBBox_create1st(daObjBBox_c* i_this) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox/daObjBBox_create1st__FP11daObjBBox_c.s"
}
#pragma pop
#endif
/* 80BAD400-80BAD420 000740 0020+00 1/0 0/0 0/0 .text daObjBBox_MoveBGDelete__FP11daObjBBox_c */
static int daObjBBox_MoveBGDelete(daObjBBox_c* i_this) {
return i_this->MoveBGDelete();
}
/* 80BAD420-80BAD440 000760 0020+00 1/0 0/0 0/0 .text daObjBBox_MoveBGExecute__FP11daObjBBox_c */
static int daObjBBox_MoveBGExecute(daObjBBox_c* i_this) {
return i_this->MoveBGExecute();
}
/* 80BAD440-80BAD46C 000780 002C+00 1/0 0/0 0/0 .text daObjBBox_MoveBGDraw__FP11daObjBBox_c */
static int daObjBBox_MoveBGDraw(daObjBBox_c* i_this) {
return i_this->MoveBGDraw();
}
/**
* d_a_obj_bbox.cpp
* Object - Breakable Wooden Box
*/
#include "rel/d/a/obj/d_a_obj_bbox/d_a_obj_bbox.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
/* 80BAD474-80BAD4B8 000000 0044+00 2/2 0/0 0/0 .rodata l_cyl_src */
const static dCcD_SrcCyl l_cyl_src = {
{
{0x0, {{0x0, 0x0, 0x1f}, {0xd8000000, 0x11}, 0x78}}, // mObj
{dCcD_SE_NONE, 0x1, 0x0, 0x0, 0x0}, // mGObjAt
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg
{0x0}, // mGObjCo
}, // mObjInf
{
{0.0f, 0.0f, 0.0f}, // mCenter
90.0f, // mRadius
100.0f // mHeight
} // mCyl
};
/* 80BAD4D4-80BAD4D8 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
static char* l_arcName = "M_BBox";
/* 80BACD38-80BACD74 000078 003C+00 1/1 0/0 0/0 .text initBaseMtx__11daObjBBox_cFv */
void daObjBBox_c::initBaseMtx() {
mpModel->setBaseScale(mScale);
setBaseMtx();
}
/* 80BACD74-80BACDD8 0000B4 0064+00 2/2 0/0 0/0 .text setBaseMtx__11daObjBBox_cFv */
void daObjBBox_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::YrotM(shape_angle.y);
mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
MTXCopy(mDoMtx_stack_c::get(), mBgMtx);
}
/* 80BACDD8-80BACE50 000118 0078+00 1/0 0/0 0/0 .text Create__11daObjBBox_cFv */
int daObjBBox_c::Create() {
initBaseMtx();
fopAcM_SetMtx(this, mpModel->mBaseTransformMtx);
mStts.Init(0xff, 0xff, this);
mCyl.Set(l_cyl_src);
mCyl.SetStts(&mStts);
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
return 1;
}
/* 80BACE50-80BACEC0 000190 0070+00 1/0 0/0 0/0 .text CreateHeap__11daObjBBox_cFv */
int daObjBBox_c::CreateHeap() {
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 4);
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
return mpModel != NULL ? 1 : 0;
}
/* 80BACEC0-80BAD030 000200 0170+00 1/1 0/0 0/0 .text create1st__11daObjBBox_cFv */
int daObjBBox_c::create1st() {
fopAcM_SetupActor(this, daObjBBox_c);
if (i_fopAcM_isSwitch(this, getSwNo())) {
return cPhs_ERROR_e;
}
int phase = dComIfG_resLoad(&mPhaseReq, l_arcName);
if (phase == cPhs_COMPLEATE_e) {
phase = MoveBGCreate(l_arcName, 7, NULL, 0xC00, NULL);
if (phase == cPhs_ERROR_e) {
return phase;
}
}
return phase;
}
/* 80BAD0C0-80BAD234 000400 0174+00 1/0 0/0 0/0 .text Execute__11daObjBBox_cFPPA3_A4_f */
int daObjBBox_c::Execute(Mtx** i_mtx) {
static const u16 particle_id[5] = {
0x83B0, 0x83B1, 0x83B2, 0x83B3, 0x83B4,
};
if (mCyl.ChkTgHit() != 0) {
cCcD_Obj* hitObj = mCyl.GetTgHitObj();
if (hitObj != NULL) {
if (hitObj->ChkAtType(0xd8000000)) {
for (int i = 0; i < 5; i++) {
dComIfGp_particle_set(particle_id[i], &current.pos, NULL, &mScale, 0xff, NULL,
-1, NULL, NULL, NULL);
}
fopAcM_seStart(this, Z2SE_OBJ_WOODBOX_BREAK, 0);
i_fopAcM_onSwitch(this, getSwNo());
fopAcM_delete(this);
}
}
}
*i_mtx = &mBgMtx;
setBaseMtx();
mCyl.SetC(current.pos);
dComIfG_Ccsp()->Set(&mCyl);
return 1;
}
/* 80BAD234-80BAD2D8 000574 00A4+00 1/0 0/0 0/0 .text Draw__11daObjBBox_cFv */
int daObjBBox_c::Draw() {
g_env_light.settingTevStruct(0x10, &current.pos, &mTevStr);
g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr);
dComIfGd_setListBG();
mDoExt_modelUpdateDL(mpModel);
dComIfGd_setList();
return 1;
}
/* 80BAD2D8-80BAD30C 000618 0034+00 1/0 0/0 0/0 .text Delete__11daObjBBox_cFv */
int daObjBBox_c::Delete() {
dComIfG_resDelete(&mPhaseReq, l_arcName);
return 1;
}
/* 80BAD30C-80BAD400 00064C 00F4+00 1/0 0/0 0/0 .text daObjBBox_create1st__FP11daObjBBox_c */
static int daObjBBox_create1st(daObjBBox_c* i_this) {
fopAcM_SetupActor(i_this, daObjBBox_c);
return i_this->create1st();
}
/* 80BAD400-80BAD420 000740 0020+00 1/0 0/0 0/0 .text daObjBBox_MoveBGDelete__FP11daObjBBox_c */
static int daObjBBox_MoveBGDelete(daObjBBox_c* i_this) {
return i_this->MoveBGDelete();
}
/* 80BAD420-80BAD440 000760 0020+00 1/0 0/0 0/0 .text daObjBBox_MoveBGExecute__FP11daObjBBox_c */
static int daObjBBox_MoveBGExecute(daObjBBox_c* i_this) {
return i_this->MoveBGExecute();
}
/* 80BAD440-80BAD46C 000780 002C+00 1/0 0/0 0/0 .text daObjBBox_MoveBGDraw__FP11daObjBBox_c */
static int daObjBBox_MoveBGDraw(daObjBBox_c* i_this) {
return i_this->MoveBGDraw();
}
/* 80BAD4D8-80BAD4F8 -00001 0020+00 1/0 0/0 0/0 .data daObjBBox_METHODS */
static actor_method_class daObjBBox_METHODS = {
(process_method_func)daObjBBox_create1st,
(process_method_func)daObjBBox_MoveBGDelete,
(process_method_func)daObjBBox_MoveBGExecute,
(process_method_func)NULL,
(process_method_func)daObjBBox_MoveBGDraw,
};
/* 80BAD4F8-80BAD528 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_BBox */
extern actor_process_profile_definition g_profile_Obj_BBox = {
fpcLy_CURRENT_e,
3,
fpcPi_CURRENT_e,
PROC_Obj_BBox,
&g_fpcLf_Method.mBase,
sizeof(daObjBBox_c),
0,
0,
&g_fopAc_Method.base,
0x1F3,
&daObjBBox_METHODS,
0x40100,
fopAc_ACTOR_e,
fopAc_CULLBOX_CUSTOM_e,
};
+239 -291
View File
@@ -1,291 +1,239 @@
/**
* d_a_obj_lv4Gate.cpp
* Arbiter's Grounds Generic Gate
*/
#include "rel/d/a/obj/d_a_obj_lv4Gate/d_a_obj_lv4Gate.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
#include "dol2asm.h"
extern "C" void CreateHeap__11daLv4Gate_cFv();
extern "C" bool Create__16dBgS_MoveBgActorFv();
extern "C" void Execute__11daLv4Gate_cFPPA3_A4_f();
extern "C" void Draw__11daLv4Gate_cFv();
extern "C" void Delete__11daLv4Gate_cFv();
extern "C" bool IsDelete__16dBgS_MoveBgActorFv();
extern "C" bool ToFore__16dBgS_MoveBgActorFv();
extern "C" bool ToBack__16dBgS_MoveBgActorFv();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" extern char const* const d_a_obj_lv4Gate__stringBase0;
extern void* __vt__11daLv4Gate_c[10];
/* 80C5F41C-80C5F428 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80C5F428-80C5F43C 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
// unused data?
#pragma push
#pragma force_active on
static u32 lit_1787[1 + 4 /* padding */] = {
0x02000201,
/* padding */
0x40080000,
0x00000000,
0x3FE00000,
0x00000000,
};
#pragma pop
/* 80C5EB6C-80C5EB9C 0000EC 0030+00 1/1 0/0 0/0 .text __ct__15daLv4Gate_HIO_cFv */
daLv4Gate_HIO_c::daLv4Gate_HIO_c() {
mMoveSpeed = 2.0f;
mShockStrength = 3;
}
/* 80C5EBE4-80C5EC80 000164 009C+00 2/2 0/0 0/0 .text setBaseMtx__11daLv4Gate_cFv */
void daLv4Gate_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
mDoMtx_stack_c::transM(mMoveValue, 0.0f, 0.0f);
mpModel->setBaseScale(mScale);
mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
}
/* ############################################################################################## */
/* 80C5F414-80C5F414 000020 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80C5F414 = "L4Gate";
#pragma pop
/* 80C5EC80-80C5ECEC 000200 006C+00 1/0 0/0 0/0 .text CreateHeap__11daLv4Gate_cFv */
// vtable ordering issue
#ifdef NONMATCHING
int daLv4Gate_c::CreateHeap() {
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("L4Gate", 4);
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
if (mpModel == NULL) {
return 0;
}
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm int daLv4Gate_c::CreateHeap() {
extern "C" asm void CreateHeap__11daLv4Gate_cFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_lv4Gate/d_a_obj_lv4Gate/CreateHeap__11daLv4Gate_cFv.s"
}
#pragma pop
#endif
/* 80C5ECEC-80C5EE54 00026C 0168+00 1/1 0/0 0/0 .text create__11daLv4Gate_cFv */
int daLv4Gate_c::create() {
fopAcM_SetupActor(this, daLv4Gate_c);
int phase = dComIfG_resLoad(&mPhase, "L4Gate");
if (phase == cPhs_COMPLEATE_e) {
if (MoveBGCreate("L4Gate", 7, dBgS_MoveBGProc_TypicalRotY, 0x2300, NULL) == cPhs_ERROR_e) {
return cPhs_ERROR_e;
}
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
mInitMove = i_fopAcM_isSwitch(this, fopAcM_GetParam(this) & 0xFF);
mMoveType = fopAcM_GetParam(this) >> 8;
f32 target;
// type 0 is a right side gate, otherwise a left side gate
if (mMoveType == 0) {
target = -250.0f;
} else {
target = 250.0f;
}
mMoveTarget = target;
mMoveValue = 0.0f;
mGateOpened = false;
if (mInitMove) {
mMoveValue = mMoveTarget;
mGateOpened = true;
init_modeMoveEnd();
} else {
init_modeWait();
}
setBaseMtx();
}
return phase;
}
/* 80C5EE54-80C5EEA4 0003D4 0050+00 1/0 0/0 0/0 .text Execute__11daLv4Gate_cFPPA3_A4_f */
int daLv4Gate_c::Execute(f32 (**param_0)[3][4]) {
moveGate();
*param_0 = &mpModel->getBaseTRMtx();
setBaseMtx();
return 1;
}
/* 80C5F52C-80C5F538 000014 000C+00 3/3 0/0 0/0 .bss l_HIO */
static daLv4Gate_HIO_c l_HIO;
/* 80C5EEA4-80C5EF48 000424 00A4+00 1/1 0/0 0/0 .text moveGate__11daLv4Gate_cFv */
void daLv4Gate_c::moveGate() {
typedef void (daLv4Gate_c::*modeFunc)();
static modeFunc mode_proc[] = {&daLv4Gate_c::modeWait, &daLv4Gate_c::modeMove,
&daLv4Gate_c::modeMoveEnd};
(this->*mode_proc[mMode])();
}
/* 80C5EF48-80C5EF54 0004C8 000C+00 1/1 0/0 0/0 .text init_modeWait__11daLv4Gate_cFv */
void daLv4Gate_c::init_modeWait() {
mMode = MODE_WAIT_e;
}
/* 80C5EF54-80C5EFB0 0004D4 005C+00 1/0 0/0 0/0 .text modeWait__11daLv4Gate_cFv */
void daLv4Gate_c::modeWait() {
mInitMove = i_fopAcM_isSwitch(this, fopAcM_GetParam(this) & 0xFF);
if (mInitMove) {
init_modeMove();
}
}
/* 80C5EFB0-80C5EFBC 000530 000C+00 1/1 0/0 0/0 .text init_modeMove__11daLv4Gate_cFv */
void daLv4Gate_c::init_modeMove() {
mMode = MODE_MOVE_e;
}
/* 80C5EFBC-80C5F0C4 00053C 0108+00 1/0 0/0 0/0 .text modeMove__11daLv4Gate_cFv */
void daLv4Gate_c::modeMove() {
mDoMtx_stack_c::ZXYrotS(shape_angle.x, shape_angle.y, shape_angle.z);
cXyz sound_pos(mMoveTarget, 0.0f, 0.0f);
mDoMtx_stack_c::multVec(&sound_pos, &sound_pos);
sound_pos += current.pos;
i_mDoAud_seStartLevel(Z2SE_OBJ_GORONGATE_MOVE, &sound_pos, 0,
dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
if (cLib_addCalc(&mMoveValue, mMoveTarget, 0.2f, l_HIO.mMoveSpeed, 0.5f) == 0.0f) {
init_modeMoveEnd();
}
}
/* 80C5F0C4-80C5F1E4 000644 0120+00 2/2 0/0 0/0 .text init_modeMoveEnd__11daLv4Gate_cFv
*/
void daLv4Gate_c::init_modeMoveEnd() {
if (!mGateOpened) {
mDoMtx_stack_c::ZXYrotS(shape_angle.x, shape_angle.y, shape_angle.z);
cXyz sound_pos(mMoveTarget, 0.0f, 0.0f);
mDoMtx_stack_c::multVec(&sound_pos, &sound_pos);
sound_pos += current.pos;
mDoAud_seStart(Z2SE_OBJ_GORONGATE_STOP, &sound_pos, 0,
dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
dComIfGp_getVibration().StartShock(l_HIO.mShockStrength, 15, cXyz(0.0f, 1.0f, 0.0f));
}
mMode = MODE_MOVE_END_e;
}
/* 80C5F1E4-80C5F1E8 000764 0004+00 1/0 0/0 0/0 .text modeMoveEnd__11daLv4Gate_cFv */
void daLv4Gate_c::modeMoveEnd() {}
/* 80C5F1E8-80C5F28C 000768 00A4+00 1/0 0/0 0/0 .text Draw__11daLv4Gate_cFv */
int daLv4Gate_c::Draw() {
g_env_light.settingTevStruct(0x10, &current.pos, &mTevStr);
g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr);
dComIfGd_setListBG();
mDoExt_modelUpdateDL(mpModel);
dComIfGd_setList();
return 1;
}
/* 80C5F28C-80C5F2BC 00080C 0030+00 1/0 0/0 0/0 .text Delete__11daLv4Gate_cFv */
int daLv4Gate_c::Delete() {
dComIfG_resDelete(&mPhase, "L4Gate");
return 1;
}
/* 80C5F2BC-80C5F2E8 00083C 002C+00 1/0 0/0 0/0 .text daLv4Gate_Draw__FP11daLv4Gate_c */
static int daLv4Gate_Draw(daLv4Gate_c* i_this) {
return i_this->MoveBGDraw();
}
/* 80C5F2E8-80C5F308 000868 0020+00 1/0 0/0 0/0 .text daLv4Gate_Execute__FP11daLv4Gate_c
*/
static int daLv4Gate_Execute(daLv4Gate_c* i_this) {
return i_this->MoveBGExecute();
}
/* 80C5F308-80C5F328 000888 0020+00 1/0 0/0 0/0 .text daLv4Gate_Delete__FP11daLv4Gate_c
*/
static int daLv4Gate_Delete(daLv4Gate_c* i_this) {
return i_this->MoveBGDelete();
}
/* 80C5F328-80C5F348 0008A8 0020+00 1/0 0/0 0/0 .text daLv4Gate_Create__FP10fopAc_ac_c */
static int daLv4Gate_Create(fopAc_ac_c* i_this) {
return static_cast<daLv4Gate_c*>(i_this)->create();
}
/* 80C5F348-80C5F3A4 0008C8 005C+00 2/1 0/0 0/0 .text __dt__15daLv4Gate_HIO_cFv */
daLv4Gate_HIO_c::~daLv4Gate_HIO_c() {}
/* 80C5F484-80C5F4A4 -00001 0020+00 1/0 0/0 0/0 .data l_daLv4Gate_Method */
static actor_method_class l_daLv4Gate_Method = {
(process_method_func)daLv4Gate_Create, (process_method_func)daLv4Gate_Delete,
(process_method_func)daLv4Gate_Execute, (process_method_func)NULL,
(process_method_func)daLv4Gate_Draw,
};
/* 80C5F4A4-80C5F4D4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Lv4Gate */
extern actor_process_profile_definition g_profile_Obj_Lv4Gate = {
fpcLy_CURRENT_e,
3,
fpcPi_CURRENT_e,
PROC_Obj_Lv4Gate,
&g_fpcLf_Method.mBase,
sizeof(daLv4Gate_c),
0,
0,
&g_fopAc_Method.base,
637,
&l_daLv4Gate_Method,
0x40000,
fopAc_ACTOR_e,
fopAc_CULLBOX_CUSTOM_e,
};
/* 80C5F4D4-80C5F4FC 0000B8 0028+00 1/1 0/0 0/0 .data __vt__11daLv4Gate_c */
SECTION_DATA extern void* __vt__11daLv4Gate_c[10] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)CreateHeap__11daLv4Gate_cFv,
(void*)Create__16dBgS_MoveBgActorFv,
(void*)Execute__11daLv4Gate_cFPPA3_A4_f,
(void*)Draw__11daLv4Gate_cFv,
(void*)Delete__11daLv4Gate_cFv,
(void*)IsDelete__16dBgS_MoveBgActorFv,
(void*)ToFore__16dBgS_MoveBgActorFv,
(void*)ToBack__16dBgS_MoveBgActorFv,
};
/**
* d_a_obj_lv4Gate.cpp
* Arbiter's Grounds Generic Gate
*/
#include "rel/d/a/obj/d_a_obj_lv4Gate/d_a_obj_lv4Gate.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
/* 80C5F41C-80C5F428 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80C5F428-80C5F43C 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
// unused data?
#pragma push
#pragma force_active on
static u32 lit_1787[1 + 4 /* padding */] = {
0x02000201,
/* padding */
0x40080000,
0x00000000,
0x3FE00000,
0x00000000,
};
#pragma pop
/* 80C5F52C-80C5F538 000014 000C+00 3/3 0/0 0/0 .bss l_HIO */
static daLv4Gate_HIO_c l_HIO;
/* 80C5EB6C-80C5EB9C 0000EC 0030+00 1/1 0/0 0/0 .text __ct__15daLv4Gate_HIO_cFv */
daLv4Gate_HIO_c::daLv4Gate_HIO_c() {
mMoveSpeed = 2.0f;
mShockStrength = 3;
}
/* 80C5EBE4-80C5EC80 000164 009C+00 2/2 0/0 0/0 .text setBaseMtx__11daLv4Gate_cFv */
void daLv4Gate_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
mDoMtx_stack_c::transM(mMoveValue, 0.0f, 0.0f);
mpModel->setBaseScale(mScale);
mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
}
/* 80C5EC80-80C5ECEC 000200 006C+00 1/0 0/0 0/0 .text CreateHeap__11daLv4Gate_cFv */
int daLv4Gate_c::CreateHeap() {
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("L4Gate", 4);
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
if (mpModel == NULL) {
return 0;
}
return 1;
}
/* 80C5ECEC-80C5EE54 00026C 0168+00 1/1 0/0 0/0 .text create__11daLv4Gate_cFv */
int daLv4Gate_c::create() {
fopAcM_SetupActor(this, daLv4Gate_c);
int phase = dComIfG_resLoad(&mPhase, "L4Gate");
if (phase == cPhs_COMPLEATE_e) {
if (MoveBGCreate("L4Gate", 7, dBgS_MoveBGProc_TypicalRotY, 0x2300, NULL) == cPhs_ERROR_e) {
return cPhs_ERROR_e;
}
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
mInitMove = i_fopAcM_isSwitch(this, fopAcM_GetParam(this) & 0xFF);
mMoveType = fopAcM_GetParam(this) >> 8;
f32 target;
// type 0 is a right side gate, otherwise a left side gate
if (mMoveType == 0) {
target = -250.0f;
} else {
target = 250.0f;
}
mMoveTarget = target;
mMoveValue = 0.0f;
mGateOpened = false;
if (mInitMove) {
mMoveValue = mMoveTarget;
mGateOpened = true;
init_modeMoveEnd();
} else {
init_modeWait();
}
setBaseMtx();
}
return phase;
}
/* 80C5EE54-80C5EEA4 0003D4 0050+00 1/0 0/0 0/0 .text Execute__11daLv4Gate_cFPPA3_A4_f */
int daLv4Gate_c::Execute(Mtx** i_mtxP) {
moveGate();
*i_mtxP = &mpModel->getBaseTRMtx();
setBaseMtx();
return 1;
}
/* 80C5EEA4-80C5EF48 000424 00A4+00 1/1 0/0 0/0 .text moveGate__11daLv4Gate_cFv */
void daLv4Gate_c::moveGate() {
typedef void (daLv4Gate_c::*modeFunc)();
static modeFunc mode_proc[] = {&daLv4Gate_c::modeWait, &daLv4Gate_c::modeMove,
&daLv4Gate_c::modeMoveEnd};
(this->*mode_proc[mMode])();
}
/* 80C5EF48-80C5EF54 0004C8 000C+00 1/1 0/0 0/0 .text init_modeWait__11daLv4Gate_cFv */
void daLv4Gate_c::init_modeWait() {
mMode = MODE_WAIT_e;
}
/* 80C5EF54-80C5EFB0 0004D4 005C+00 1/0 0/0 0/0 .text modeWait__11daLv4Gate_cFv */
void daLv4Gate_c::modeWait() {
mInitMove = i_fopAcM_isSwitch(this, fopAcM_GetParam(this) & 0xFF);
if (mInitMove) {
init_modeMove();
}
}
/* 80C5EFB0-80C5EFBC 000530 000C+00 1/1 0/0 0/0 .text init_modeMove__11daLv4Gate_cFv */
void daLv4Gate_c::init_modeMove() {
mMode = MODE_MOVE_e;
}
/* 80C5EFBC-80C5F0C4 00053C 0108+00 1/0 0/0 0/0 .text modeMove__11daLv4Gate_cFv */
void daLv4Gate_c::modeMove() {
mDoMtx_stack_c::ZXYrotS(shape_angle.x, shape_angle.y, shape_angle.z);
cXyz sound_pos(mMoveTarget, 0.0f, 0.0f);
mDoMtx_stack_c::multVec(&sound_pos, &sound_pos);
sound_pos += current.pos;
i_mDoAud_seStartLevel(Z2SE_OBJ_GORONGATE_MOVE, &sound_pos, 0,
dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
if (cLib_addCalc(&mMoveValue, mMoveTarget, 0.2f, l_HIO.mMoveSpeed, 0.5f) == 0.0f) {
init_modeMoveEnd();
}
}
/* 80C5F0C4-80C5F1E4 000644 0120+00 2/2 0/0 0/0 .text init_modeMoveEnd__11daLv4Gate_cFv
*/
void daLv4Gate_c::init_modeMoveEnd() {
if (!mGateOpened) {
mDoMtx_stack_c::ZXYrotS(shape_angle.x, shape_angle.y, shape_angle.z);
cXyz sound_pos(mMoveTarget, 0.0f, 0.0f);
mDoMtx_stack_c::multVec(&sound_pos, &sound_pos);
sound_pos += current.pos;
mDoAud_seStart(Z2SE_OBJ_GORONGATE_STOP, &sound_pos, 0,
dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
dComIfGp_getVibration().StartShock(l_HIO.mShockStrength, 15, cXyz(0.0f, 1.0f, 0.0f));
}
mMode = MODE_MOVE_END_e;
}
/* 80C5F1E4-80C5F1E8 000764 0004+00 1/0 0/0 0/0 .text modeMoveEnd__11daLv4Gate_cFv */
void daLv4Gate_c::modeMoveEnd() {}
/* 80C5F1E8-80C5F28C 000768 00A4+00 1/0 0/0 0/0 .text Draw__11daLv4Gate_cFv */
int daLv4Gate_c::Draw() {
g_env_light.settingTevStruct(0x10, &current.pos, &mTevStr);
g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr);
dComIfGd_setListBG();
mDoExt_modelUpdateDL(mpModel);
dComIfGd_setList();
return 1;
}
/* 80C5F28C-80C5F2BC 00080C 0030+00 1/0 0/0 0/0 .text Delete__11daLv4Gate_cFv */
int daLv4Gate_c::Delete() {
dComIfG_resDelete(&mPhase, "L4Gate");
return 1;
}
/* 80C5F2BC-80C5F2E8 00083C 002C+00 1/0 0/0 0/0 .text daLv4Gate_Draw__FP11daLv4Gate_c */
static int daLv4Gate_Draw(daLv4Gate_c* i_this) {
return i_this->MoveBGDraw();
}
/* 80C5F2E8-80C5F308 000868 0020+00 1/0 0/0 0/0 .text daLv4Gate_Execute__FP11daLv4Gate_c
*/
static int daLv4Gate_Execute(daLv4Gate_c* i_this) {
return i_this->MoveBGExecute();
}
/* 80C5F308-80C5F328 000888 0020+00 1/0 0/0 0/0 .text daLv4Gate_Delete__FP11daLv4Gate_c
*/
static int daLv4Gate_Delete(daLv4Gate_c* i_this) {
return i_this->MoveBGDelete();
}
/* 80C5F328-80C5F348 0008A8 0020+00 1/0 0/0 0/0 .text daLv4Gate_Create__FP10fopAc_ac_c */
static int daLv4Gate_Create(fopAc_ac_c* i_this) {
return static_cast<daLv4Gate_c*>(i_this)->create();
}
/* 80C5F484-80C5F4A4 -00001 0020+00 1/0 0/0 0/0 .data l_daLv4Gate_Method */
static actor_method_class l_daLv4Gate_Method = {
(process_method_func)daLv4Gate_Create, (process_method_func)daLv4Gate_Delete,
(process_method_func)daLv4Gate_Execute, (process_method_func)NULL,
(process_method_func)daLv4Gate_Draw,
};
/* 80C5F4A4-80C5F4D4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Lv4Gate */
extern actor_process_profile_definition g_profile_Obj_Lv4Gate = {
fpcLy_CURRENT_e,
3,
fpcPi_CURRENT_e,
PROC_Obj_Lv4Gate,
&g_fpcLf_Method.mBase,
sizeof(daLv4Gate_c),
0,
0,
&g_fopAc_Method.base,
637,
&l_daLv4Gate_Method,
0x40000,
fopAc_ACTOR_e,
fopAc_CULLBOX_CUSTOM_e,
};
@@ -7,61 +7,14 @@
*/
#include "rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark.h"
#include "d/d_procname.h"
#include "dol2asm.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "m_Do/m_Do_lib.h"
#include "f_op/f_op_actor_mng.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
//
// Forward References:
//
extern "C" void initBaseMtx__12daObjSMark_cFv();
extern "C" void setBaseMtx__12daObjSMark_cFv();
extern "C" void Create__12daObjSMark_cFv();
extern "C" void create__12daObjSMark_cFv();
extern "C" void __dt__12dBgS_ObjAcchFv();
extern "C" void draw__12daObjSMark_cFv();
extern "C" void _delete__12daObjSMark_cFv();
extern "C" static void daObjSMark_Draw__FP12daObjSMark_c();
extern "C" static void daObjSMark_Delete__FP12daObjSMark_c();
extern "C" static void daObjSMark_Create__FP10fopAc_ac_c();
extern "C" static void func_8059A3D0();
extern "C" static void func_8059A3D8();
extern "C" extern char const* const d_a_obj_stoneMark__stringBase0;
extern void* __vt__12dBgS_ObjAcch[9];
//
// External References:
//
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz();
extern "C" void mDoLib_setResTimgObj__FPC7ResTIMGP9_GXTexObjUlP10_GXTlutObj();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcM_setCullSizeSphere__FP10fopAc_ac_cffff();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void dComIfGd_setSimpleShadow__FP4cXyzffR13cBgS_PolyInfosfP9_GXTexObj();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void __ct__12dBgS_AcchCirFv();
extern "C" void SetWall__12dBgS_AcchCirFff();
extern "C" void __dt__9dBgS_AcchFv();
extern "C" void __ct__9dBgS_AcchFv();
extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz();
extern "C" void CrrPos__9dBgS_AcchFR4dBgS();
extern "C" void SetObj__16dBgS_PolyPassChkFv();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void __dl__FPv();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
//
// Declarations:
//
/* 8059A410-8059A414 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
static char* l_arcName = "A_IwaAto";
/* 8059A018-8059A038 000078 0020+00 1/1 0/0 0/0 .text initBaseMtx__12daObjSMark_cFv */
void daObjSMark_c::initBaseMtx() {
@@ -72,70 +25,23 @@ void daObjSMark_c::initBaseMtx() {
void daObjSMark_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(shape_angle);
MTXCopy((MtxP)&mDoMtx_stack_c::now,(MtxP)&mCullMtx);
MTXCopy(mDoMtx_stack_c::get(), mCullMtx);
}
/* ############################################################################################## */
/* 8059A3E8-8059A3EC 000000 0004+00 2/2 0/0 0/0 .rodata @3642 */
SECTION_RODATA static u8 const lit_3642[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x8059A3E8, &lit_3642);
/* 8059A3EC-8059A3F0 000004 0004+00 0/1 0/0 0/0 .rodata @3643 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3643 = 100.0f;
COMPILER_STRIP_GATE(0x8059A3EC, &lit_3643);
#pragma pop
/* 8059A3F0-8059A3F4 000008 0004+00 0/1 0/0 0/0 .rodata @3644 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3644 = 30.0f;
COMPILER_STRIP_GATE(0x8059A3F0, &lit_3644);
#pragma pop
/* 8059A404-8059A404 00001C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8059A404 = "A_IwaAto";
#pragma pop
/* 8059A410-8059A414 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
static char* l_arcName = "A_IwaAto";
/* 8059A080-8059A168 0000E0 00E8+00 1/1 0/0 0/0 .text Create__12daObjSMark_cFv */
#ifdef NONMATCHING
// matches with literals
int daObjSMark_c::Create() {
initBaseMtx();
fopAcM_SetMtx(this,(MtxP)&mCullMtx);
fopAcM_SetMtx(this, mCullMtx);
fopAcM_setCullSizeSphere(this,0.0f,0.0f,0.0f,100.0f);
mAcchCir.SetWall(30.0f,30.0f);
mObjAcch.Set(&fopAcM_GetPosition_p(this),&fopAcM_GetOldPosition_p(this),this,1,&mAcchCir,&fopAcM_GetSpeed_p(this),0,0);
mObjAcch.Set(&fopAcM_GetPosition_p(this),&fopAcM_GetOldPosition_p(this),this,1,
&mAcchCir,&fopAcM_GetSpeed_p(this),0,0);
mObjAcch.CrrPos(dComIfG_Bgsp());
mDoLib_setResTimgObj((ResTIMG*)dComIfG_getObjectRes(l_arcName,3),&mTexObj,0,0);
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daObjSMark_c::Create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/Create__12daObjSMark_cFv.s"
}
#pragma pop
#endif
/* 8059A168-8059A25C 0001C8 00F4+00 1/1 0/0 0/0 .text create__12daObjSMark_cFv */
#ifdef NONMATCHING
// matches, but has issues with weak labels being used
int daObjSMark_c::create() {
fopAcM_SetupActor(this, daObjSMark_c);
@@ -148,58 +54,13 @@ int daObjSMark_c::create() {
return phase;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daObjSMark_c::create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/func_8059A168.s"
}
#pragma pop
#endif
/* 8059A25C-8059A2CC 0002BC 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dBgS_ObjAcch::~dBgS_ObjAcch() {
extern "C" asm void __dt__12dBgS_ObjAcchFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/__dt__12dBgS_ObjAcchFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 8059A3F4-8059A3FC 00000C 0008+00 0/1 0/0 0/0 .rodata l_shadow_size$3714 */
#pragma push
#pragma force_active on
static const f32 l_shadow_size[2] = {
55.0f,
85.0f
};
COMPILER_STRIP_GATE(0x8059A3F4, &l_shadow_size);
#pragma pop
/* 8059A3FC-8059A400 000014 0004+00 0/1 0/0 0/0 .rodata @3718 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3718 = -3.0f / 5.0f;
COMPILER_STRIP_GATE(0x8059A3FC, &lit_3718);
#pragma pop
/* 8059A400-8059A404 000018 0004+00 0/1 0/0 0/0 .rodata @3719 */
#pragma push
#pragma force_active on
SECTION_RODATA static u32 const lit_3719 = 0x3ECCCCCC;
COMPILER_STRIP_GATE(0x8059A400, &lit_3719);
#pragma pop
/* 8059A2CC-8059A33C 00032C 0070+00 1/1 0/0 0/0 .text draw__12daObjSMark_cFv */
#ifdef NONMATCHING
// matches with literals
int daObjSMark_c::draw() {
static const f32 l_shadow_size[2] = {
55.0f,
85.0f
};
dComIfGd_setSimpleShadow(&current.pos,
mObjAcch.GetGroundH(),
l_shadow_size[fopAcM_GetParam(this) & 0xFF],
@@ -209,16 +70,6 @@ int daObjSMark_c::draw() {
&this->mTexObj);
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daObjSMark_c::draw() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/draw__12daObjSMark_cFv.s"
}
#pragma pop
#endif
/* 8059A33C-8059A370 00039C 0034+00 1/1 0/0 0/0 .text _delete__12daObjSMark_cFv */
int daObjSMark_c::_delete() {
@@ -243,36 +94,16 @@ static int daObjSMark_Create(fopAc_ac_c* i_this) {
return static_cast<daObjSMark_c*>(i_this)->create();
}
/* 8059A3D0-8059A3D8 000430 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_8059A3D0() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/func_8059A3D0.s"
}
#pragma pop
/* 8059A3D8-8059A3E0 000438 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_8059A3D8() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/func_8059A3D8.s"
}
#pragma pop
/* 8059A404-8059A404 00001C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* ############################################################################################## */
/* 8059A414-8059A434 -00001 0020+00 1/0 0/0 0/0 .data l_daObjSMark_Method */
static actor_method_class l_daObjSMark_Method = {
(process_method_func)daObjSMark_Create__FP10fopAc_ac_c,
(process_method_func)daObjSMark_Delete__FP12daObjSMark_c,
(process_method_func)0,
(process_method_func)0,
(process_method_func)daObjSMark_Draw__FP12daObjSMark_c
(process_method_func)daObjSMark_Create,
(process_method_func)daObjSMark_Delete,
(process_method_func)NULL,
(process_method_func)NULL,
(process_method_func)daObjSMark_Draw,
};
/* 8059A434-8059A464 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_StoneMark */
@@ -292,16 +123,3 @@ extern actor_process_profile_definition g_profile_Obj_StoneMark = {
fopAc_ACTOR_e, // mActorType
fopAc_CULLSPHERE_8_e, // mCullType
};
/* 8059A464-8059A488 000054 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */
SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12dBgS_ObjAcchFv,
(void*)NULL,
(void*)NULL,
(void*)func_8059A3D8,
(void*)NULL,
(void*)NULL,
(void*)func_8059A3D0,
};
+149 -326
View File
@@ -1,326 +1,149 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_obj_wsword
//
#include "rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "d/cc/d_cc_d.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
#include "dol2asm.h"
#include "f_op/f_op_actor_mng.h"
//
// Types:
//
class daObjWSword_c : public fopAc_ac_c {
public:
/* 80D3B998 */ void initBaseMtx();
/* 80D3B9D4 */ void setBaseMtx();
/* 80D3BA40 */ int Create();
/* 80D3BAB8 */ int CreateHeap();
/* 80D3BB28 */ int create();
/* 80D3BDA0 */ int execute();
/* 80D3BDF0 */ int draw();
/* 80D3BE54 */ int _delete();
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ dBgS_Acch mAcch;
/* 0x74C */ dBgS_AcchCir mAcchCir;
/* 0x78C */ dCcD_Stts mStts;
/* 0x7C8 */ dCcD_Cyl mCyl;
}; // Size: 0x904
//
// Forward References:
//
extern "C" static void CheckCreateHeap__FP10fopAc_ac_c();
extern "C" void initBaseMtx__13daObjWSword_cFv();
extern "C" void setBaseMtx__13daObjWSword_cFv();
extern "C" void Create__13daObjWSword_cFv();
extern "C" void CreateHeap__13daObjWSword_cFv();
extern "C" void create__13daObjWSword_cFv();
extern "C" void __dt__8cM3dGCylFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void __dt__12dBgS_ObjAcchFv();
extern "C" void execute__13daObjWSword_cFv();
extern "C" void draw__13daObjWSword_cFv();
extern "C" void _delete__13daObjWSword_cFv();
extern "C" static void daObjWSword_Draw__FP13daObjWSword_c();
extern "C" static void daObjWSword_Execute__FP13daObjWSword_c();
extern "C" static void daObjWSword_Delete__FP13daObjWSword_c();
extern "C" static void daObjWSword_Create__FP10fopAc_ac_c();
extern "C" static void func_80D3BF08();
extern "C" static void func_80D3BF10();
extern "C" extern char const* const d_a_obj_wsword__stringBase0;
//
// External References:
//
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void __ct__12dBgS_AcchCirFv();
extern "C" void __dt__9dBgS_AcchFv();
extern "C" void __ct__9dBgS_AcchFv();
extern "C" void SetObj__16dBgS_PolyPassChkFv();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void SetC__8cM3dGCylFRC4cXyz();
extern "C" void __dl__FPv();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_CylAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
//
// Declarations:
//
/* 80D3B978-80D3B998 000078 0020+00 1/1 0/0 0/0 .text CheckCreateHeap__FP10fopAc_ac_c */
static int CheckCreateHeap(fopAc_ac_c* i_this) {
return static_cast<daObjWSword_c*>(i_this)->CreateHeap();
}
/* 80D3B998-80D3B9D4 000098 003C+00 1/1 0/0 0/0 .text initBaseMtx__13daObjWSword_cFv */
void daObjWSword_c::initBaseMtx() {
mpModel->setBaseScale(mScale);
setBaseMtx();
}
/* 80D3B9D4-80D3BA40 0000D4 006C+00 2/2 0/0 0/0 .text setBaseMtx__13daObjWSword_cFv */
void daObjWSword_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
PSMTXCopy(mDoMtx_stack_c::get(), mpModel->mBaseTransformMtx);
}
/* 80D3BF2C-80D3BF30 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
static char* l_arcName = "Obj_brksw";
/* 80D3BF30-80D3BF74 000004 0044+00 1/1 0/0 0/0 .data l_cyl_src */
static dCcD_SrcCyl l_cyl_src = {
{
{0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x19}}, // mObj
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjAt
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg
{0x0}, // mGObjCo
}, // mObjInf
{
{0.0f, 0.0f, 0.0f}, // mCenter
50.0f, // mRadius
150.0f // mHeight
} // mCyl
};
/* 80D3BA40-80D3BAB8 000140 0078+00 1/1 0/0 0/0 .text Create__13daObjWSword_cFv */
int daObjWSword_c::Create() {
initBaseMtx();
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
mStts.Init(0xff, 0xff, this);
mCyl.Set(l_cyl_src);
mCyl.SetStts(&mStts);
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
return 1;
}
/* 80D3BAB8-80D3BB28 0001B8 0070+00 1/1 0/0 0/0 .text CreateHeap__13daObjWSword_cFv */
int daObjWSword_c::CreateHeap() {
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 3);
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
return mpModel != NULL ? 1 : 0;
}
/* ############################################################################################## */
/* 80D3BF74-80D3BF94 -00001 0020+00 1/0 0/0 0/0 .data l_daObjWSword_Method */
static void* l_daObjWSword_Method[8] = {
(void*)daObjWSword_Create__FP10fopAc_ac_c,
(void*)daObjWSword_Delete__FP13daObjWSword_c,
(void*)daObjWSword_Execute__FP13daObjWSword_c,
(void*)NULL,
(void*)daObjWSword_Draw__FP13daObjWSword_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 80D3BF94-80D3BFC4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_WoodenSword */
SECTION_DATA extern void* g_profile_Obj_WoodenSword[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x01700000, (void*)&g_fpcLf_Method,
(void*)0x00000904, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x020F0000, (void*)&l_daObjWSword_Method,
(void*)0x00040100, (void*)0x000E0000,
};
/* 80D3BFC4-80D3BFD0 000098 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGCyl */
SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGCylFv,
};
/* 80D3BFD0-80D3BFDC 0000A4 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGAabFv,
};
/* 80D3BFDC-80D3C000 0000B0 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */
SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12dBgS_ObjAcchFv,
(void*)NULL,
(void*)NULL,
(void*)func_80D3BF10,
(void*)NULL,
(void*)NULL,
(void*)func_80D3BF08,
};
/* 80D3BB28-80D3BCA0 000228 0178+00 1/1 0/0 0/0 .text create__13daObjWSword_cFv */
#ifdef NONMATCHING
// vtable issue
int daObjWSword_c::create() {
fopAcM_SetupActor(this, daObjWSword_c);
int phase = dComIfG_resLoad(&mPhaseReq, l_arcName);
if (phase == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckCreateHeap, 0x840)) {
return cPhs_ERROR_e;
} else if (!Create()) {
return cPhs_ERROR_e;
}
}
return phase;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daObjWSword_c::create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/func_80D3BB28.s"
}
#pragma pop
/* 80D3BCA0-80D3BCE8 0003A0 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm cM3dGCyl::~cM3dGCyl() {
extern "C" asm void __dt__8cM3dGCylFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/__dt__8cM3dGCylFv.s"
}
#pragma pop
/* 80D3BCE8-80D3BD30 0003E8 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm cM3dGAab::~cM3dGAab() {
extern "C" asm void __dt__8cM3dGAabFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/__dt__8cM3dGAabFv.s"
}
#pragma pop
/* 80D3BD30-80D3BDA0 000430 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// dBgS_ObjAcch::~dBgS_ObjAcch()
extern "C" asm void __dt__12dBgS_ObjAcchFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/__dt__12dBgS_ObjAcchFv.s"
}
#pragma pop
#endif
/* 80D3BDA0-80D3BDF0 0004A0 0050+00 1/1 0/0 0/0 .text execute__13daObjWSword_cFv */
int daObjWSword_c::execute() {
setBaseMtx();
mCyl.SetC(current.pos);
dComIfG_Ccsp()->Set(&mCyl);
return 1;
}
/* 80D3BDF0-80D3BE54 0004F0 0064+00 1/1 0/0 0/0 .text draw__13daObjWSword_cFv */
int daObjWSword_c::draw() {
g_env_light.settingTevStruct(0, &current.pos, &mTevStr);
g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr);
mDoExt_modelUpdateDL(mpModel);
return 1;
}
/* 80D3BE54-80D3BE88 000554 0034+00 1/1 0/0 0/0 .text _delete__13daObjWSword_cFv */
int daObjWSword_c::_delete() {
dComIfG_resDelete(&mPhaseReq, l_arcName);
return 1;
}
/* 80D3BE88-80D3BEA8 000588 0020+00 1/0 0/0 0/0 .text daObjWSword_Draw__FP13daObjWSword_c
*/
static int daObjWSword_Draw(daObjWSword_c* i_this) {
return i_this->draw();
}
/* 80D3BEA8-80D3BEC8 0005A8 0020+00 1/0 0/0 0/0 .text daObjWSword_Execute__FP13daObjWSword_c */
static int daObjWSword_Execute(daObjWSword_c* i_this) {
return i_this->execute();
}
/* 80D3BEC8-80D3BEE8 0005C8 0020+00 1/0 0/0 0/0 .text daObjWSword_Delete__FP13daObjWSword_c */
static int daObjWSword_Delete(daObjWSword_c* i_this) {
return i_this->_delete();
}
/* 80D3BEE8-80D3BF08 0005E8 0020+00 1/0 0/0 0/0 .text daObjWSword_Create__FP10fopAc_ac_c
*/
static int daObjWSword_Create(fopAc_ac_c* i_this) {
return static_cast<daObjWSword_c*>(i_this)->create();
}
/* 80D3BF08-80D3BF10 000608 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80D3BF08() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/func_80D3BF08.s"
}
#pragma pop
/* 80D3BF10-80D3BF18 000610 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80D3BF10() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword/func_80D3BF10.s"
}
#pragma pop
/* 80D3BF20-80D3BF20 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/**
* d_a_obj_wsword.cpp
* Object - Wooden Sword
*/
#include "rel/d/a/obj/d_a_obj_wsword/d_a_obj_wsword.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
#include "f_op/f_op_actor_mng.h"
/* 80D3BF2C-80D3BF30 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
static char* l_arcName = "Obj_brksw";
/* 80D3BF30-80D3BF74 000004 0044+00 1/1 0/0 0/0 .data l_cyl_src */
static dCcD_SrcCyl l_cyl_src = {
{
{0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x19}}, // mObj
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjAt
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg
{0x0}, // mGObjCo
}, // mObjInf
{
{0.0f, 0.0f, 0.0f}, // mCenter
50.0f, // mRadius
150.0f // mHeight
} // mCyl
};
/* 80D3B978-80D3B998 000078 0020+00 1/1 0/0 0/0 .text CheckCreateHeap__FP10fopAc_ac_c */
static int CheckCreateHeap(fopAc_ac_c* i_this) {
return static_cast<daObjWSword_c*>(i_this)->CreateHeap();
}
/* 80D3B998-80D3B9D4 000098 003C+00 1/1 0/0 0/0 .text initBaseMtx__13daObjWSword_cFv */
void daObjWSword_c::initBaseMtx() {
mpModel->setBaseScale(mScale);
setBaseMtx();
}
/* 80D3B9D4-80D3BA40 0000D4 006C+00 2/2 0/0 0/0 .text setBaseMtx__13daObjWSword_cFv */
void daObjWSword_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
}
/* 80D3BA40-80D3BAB8 000140 0078+00 1/1 0/0 0/0 .text Create__13daObjWSword_cFv */
int daObjWSword_c::Create() {
initBaseMtx();
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
mStts.Init(0xff, 0xff, this);
mCyl.Set(l_cyl_src);
mCyl.SetStts(&mStts);
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
return 1;
}
/* 80D3BAB8-80D3BB28 0001B8 0070+00 1/1 0/0 0/0 .text CreateHeap__13daObjWSword_cFv */
int daObjWSword_c::CreateHeap() {
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 3);
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
return mpModel != NULL ? 1 : 0;
}
/* 80D3BB28-80D3BCA0 000228 0178+00 1/1 0/0 0/0 .text create__13daObjWSword_cFv */
int daObjWSword_c::create() {
fopAcM_SetupActor(this, daObjWSword_c);
int phase = dComIfG_resLoad(&mPhaseReq, l_arcName);
if (phase == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckCreateHeap, 0x840)) {
return cPhs_ERROR_e;
} else if (!Create()) {
return cPhs_ERROR_e;
}
}
return phase;
}
/* 80D3BDA0-80D3BDF0 0004A0 0050+00 1/1 0/0 0/0 .text execute__13daObjWSword_cFv */
int daObjWSword_c::execute() {
setBaseMtx();
mCyl.SetC(current.pos);
dComIfG_Ccsp()->Set(&mCyl);
return 1;
}
/* 80D3BDF0-80D3BE54 0004F0 0064+00 1/1 0/0 0/0 .text draw__13daObjWSword_cFv */
int daObjWSword_c::draw() {
g_env_light.settingTevStruct(0, &current.pos, &mTevStr);
g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr);
mDoExt_modelUpdateDL(mpModel);
return 1;
}
/* 80D3BE54-80D3BE88 000554 0034+00 1/1 0/0 0/0 .text _delete__13daObjWSword_cFv */
int daObjWSword_c::_delete() {
dComIfG_resDelete(&mPhaseReq, l_arcName);
return 1;
}
/* 80D3BE88-80D3BEA8 000588 0020+00 1/0 0/0 0/0 .text daObjWSword_Draw__FP13daObjWSword_c
*/
static int daObjWSword_Draw(daObjWSword_c* i_this) {
return i_this->draw();
}
/* 80D3BEA8-80D3BEC8 0005A8 0020+00 1/0 0/0 0/0 .text daObjWSword_Execute__FP13daObjWSword_c */
static int daObjWSword_Execute(daObjWSword_c* i_this) {
return i_this->execute();
}
/* 80D3BEC8-80D3BEE8 0005C8 0020+00 1/0 0/0 0/0 .text daObjWSword_Delete__FP13daObjWSword_c */
static int daObjWSword_Delete(daObjWSword_c* i_this) {
return i_this->_delete();
}
/* 80D3BEE8-80D3BF08 0005E8 0020+00 1/0 0/0 0/0 .text daObjWSword_Create__FP10fopAc_ac_c
*/
static int daObjWSword_Create(fopAc_ac_c* i_this) {
return static_cast<daObjWSword_c*>(i_this)->create();
}
/* 80D3BF74-80D3BF94 -00001 0020+00 1/0 0/0 0/0 .data l_daObjWSword_Method */
static actor_method_class l_daObjWSword_Method = {
(process_method_func)daObjWSword_Create,
(process_method_func)daObjWSword_Delete,
(process_method_func)daObjWSword_Execute,
(process_method_func)NULL,
(process_method_func)daObjWSword_Draw,
};
/* 80D3BF94-80D3BFC4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_WoodenSword */
extern actor_process_profile_definition g_profile_Obj_WoodenSword = {
fpcLy_CURRENT_e,
7,
fpcPi_CURRENT_e,
PROC_Obj_WoodenSword,
&g_fpcLf_Method.mBase,
sizeof(daObjWSword_c),
0,
0,
&g_fopAc_Method.base,
0x20F,
&l_daObjWSword_Method,
0x40100,
fopAc_ACTOR_e,
fopAc_CULLBOX_CUSTOM_e,
};
+114 -310
View File
@@ -1,310 +1,114 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_obj_zcloth
//
#include "rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth.h"
#include "dol2asm.h"
#include "f_op/f_op_actor_mng.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_item_data.h"
#include "d/a/d_a_itembase_static.h"
//
// Types:
//
class daObjZCloth_c : public daItemBase_c {
public:
/* 80D3EE18 */ void initBaseMtx();
/* 80D3EE54 */ void setBaseMtx();
/* 80D3EEC0 */ int Create();
/* 80D3EF0C */ int create();
/* 80D3F1AC */ int execute();
/* 80D3F1D0 */ int draw();
/* 80D3F200 */ int _delete();
}; // Size: 0x92C
//
// Forward References:
//
extern "C" void initBaseMtx__13daObjZCloth_cFv();
extern "C" void setBaseMtx__13daObjZCloth_cFv();
extern "C" void Create__13daObjZCloth_cFv();
extern "C" void create__13daObjZCloth_cFv();
extern "C" void __dt__8cM3dGCylFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void __dt__12dBgS_ObjAcchFv();
extern "C" void execute__13daObjZCloth_cFv();
extern "C" void draw__13daObjZCloth_cFv();
extern "C" void _delete__13daObjZCloth_cFv();
extern "C" static void daObjZCloth_Draw__FP13daObjZCloth_c();
extern "C" static void daObjZCloth_Execute__FP13daObjZCloth_c();
extern "C" static void daObjZCloth_Delete__FP13daObjZCloth_c();
extern "C" static void daObjZCloth_Create__FP10fopAc_ac_c();
extern "C" static void func_80D3F2BC();
extern "C" static void func_80D3F2C4();
//
// External References:
//
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void CheckFieldItemCreateHeap__FP10fopAc_ac_c();
extern "C" void __ct__12dBgS_AcchCirFv();
extern "C" void __dt__9dBgS_AcchFv();
extern "C" void __ct__9dBgS_AcchFv();
extern "C" void SetObj__16dBgS_PolyPassChkFv();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" bool clothCreate__12daItemBase_cFv();
extern "C" bool __CreateHeap__12daItemBase_cFv();
extern "C" void DrawBase__12daItemBase_cFv();
extern "C" void RotateYBase__12daItemBase_cFv();
extern "C" void setListStart__12daItemBase_cFv();
extern "C" void settingBeforeDraw__12daItemBase_cFv();
extern "C" void setTevStr__12daItemBase_cFv();
extern "C" void setShadow__12daItemBase_cFv();
extern "C" void animEntry__12daItemBase_cFv();
extern "C" void chkFlag__12daItemBase_cFi();
extern "C" void getTevFrm__12daItemBase_cFv();
extern "C" void getBtpFrm__12daItemBase_cFv();
extern "C" void getShadowSize__12daItemBase_cFv();
extern "C" void getCollisionH__12daItemBase_cFv();
extern "C" void getCollisionR__12daItemBase_cFv();
extern "C" void __dl__FPv();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" void* field_item_res__10dItem_data[1020];
extern "C" extern void* __vt__12daItemBase_c[17 + 1 /* padding */];
extern "C" extern void* __vt__12cCcD_CylAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
//
// Declarations:
//
/* 80D3EE18-80D3EE54 000078 003C+00 1/1 0/0 0/0 .text initBaseMtx__13daObjZCloth_cFv */
void daObjZCloth_c::initBaseMtx() {
mpModel->mBaseScale = mScale;
setBaseMtx();
}
/* 80D3EE54-80D3EEC0 0000B4 006C+00 2/2 0/0 0/0 .text setBaseMtx__13daObjZCloth_cFv */
void daObjZCloth_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
MTXCopy(mDoMtx_stack_c::now, mpModel->mBaseTransformMtx);
}
/* 80D3EEC0-80D3EF0C 000120 004C+00 1/1 0/0 0/0 .text Create__13daObjZCloth_cFv */
int daObjZCloth_c::Create() {
initBaseMtx();
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
return 1;
}
/* ############################################################################################## */
/* 80D3F2D4-80D3F2F4 -00001 0020+00 1/0 0/0 0/0 .data l_daObjZCloth_Method */
SECTION_DATA static void* l_daObjZCloth_Method[8] = {
(void*)daObjZCloth_Create__FP10fopAc_ac_c,
(void*)daObjZCloth_Delete__FP13daObjZCloth_c,
(void*)daObjZCloth_Execute__FP13daObjZCloth_c,
(void*)NULL,
(void*)daObjZCloth_Draw__FP13daObjZCloth_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 80D3F2F4-80D3F324 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_ZoraCloth */
SECTION_DATA extern void* g_profile_Obj_ZoraCloth[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x01780000, (void*)&g_fpcLf_Method,
(void*)0x0000092C, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x02200000, (void*)&l_daObjZCloth_Method,
(void*)0x00040100, (void*)0x000E0000,
};
/* 80D3F324-80D3F368 000050 0044+00 1/1 0/0 0/0 .data __vt__13daObjZCloth_c */
SECTION_DATA extern void* __vt__13daObjZCloth_c[17] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)DrawBase__12daItemBase_cFv,
(void*)setListStart__12daItemBase_cFv,
(void*)settingBeforeDraw__12daItemBase_cFv,
(void*)setTevStr__12daItemBase_cFv,
(void*)setShadow__12daItemBase_cFv,
(void*)animEntry__12daItemBase_cFv,
(void*)RotateYBase__12daItemBase_cFv,
(void*)clothCreate__12daItemBase_cFv,
(void*)__CreateHeap__12daItemBase_cFv,
(void*)chkFlag__12daItemBase_cFi,
(void*)getTevFrm__12daItemBase_cFv,
(void*)getBtpFrm__12daItemBase_cFv,
(void*)getShadowSize__12daItemBase_cFv,
(void*)getCollisionH__12daItemBase_cFv,
(void*)getCollisionR__12daItemBase_cFv,
};
/* 80D3F368-80D3F374 000094 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGCyl */
SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGCylFv,
};
/* 80D3F374-80D3F380 0000A0 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGAabFv,
};
/* 80D3F380-80D3F3A4 0000AC 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */
SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12dBgS_ObjAcchFv,
(void*)NULL,
(void*)NULL,
(void*)func_80D3F2C4,
(void*)NULL,
(void*)NULL,
(void*)func_80D3F2BC,
};
/* 80D3EF0C-80D3F0AC 00016C 01A0+00 1/1 0/0 0/0 .text create__13daObjZCloth_cFv */
#ifdef NONMATCHING
// Matches but weird vtable
int daObjZCloth_c::create() {
fopAcM_SetupActor(this, daObjZCloth_c);
m_itemNo = 0x31;
int phase = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(m_itemNo));
if (phase == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckFieldItemCreateHeap, 0x2fb0)) {
return cPhs_ERROR_e;
}
else if (!Create()) {
return cPhs_ERROR_e;
}
}
return phase;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daObjZCloth_c::create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/func_80D3EF0C.s"
}
#pragma pop
#endif
/* 80D3F0AC-80D3F0F4 00030C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// cM3dGCyl::~cM3dGCyl()
extern "C" asm void __dt__8cM3dGCylFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/__dt__8cM3dGCylFv.s"
}
#pragma pop
/* 80D3F0F4-80D3F13C 000354 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// cM3dGAab::~cM3dGAab()
extern "C" asm void __dt__8cM3dGAabFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/__dt__8cM3dGAabFv.s"
}
#pragma pop
/* 80D3F13C-80D3F1AC 00039C 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// dBgS_ObjAcch::~dBgS_ObjAcch()
extern "C" asm void __dt__12dBgS_ObjAcchFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/__dt__12dBgS_ObjAcchFv.s"
}
#pragma pop
/* 80D3F1AC-80D3F1D0 00040C 0024+00 1/1 0/0 0/0 .text execute__13daObjZCloth_cFv */
int daObjZCloth_c::execute() {
setBaseMtx();
return 1;
}
/* 80D3F1D0-80D3F200 000430 0030+00 1/1 0/0 0/0 .text draw__13daObjZCloth_cFv */
int daObjZCloth_c::draw() {
DrawBase();
return 1;
}
/* 80D3F200-80D3F23C 000460 003C+00 1/1 0/0 0/0 .text _delete__13daObjZCloth_cFv */
int daObjZCloth_c::_delete() {
dComIfG_resDelete(&mPhase, dItem_data::getFieldArc(m_itemNo));
return 1;
}
/* 80D3F23C-80D3F25C 00049C 0020+00 1/0 0/0 0/0 .text daObjZCloth_Draw__FP13daObjZCloth_c */
static int daObjZCloth_Draw(daObjZCloth_c* i_this) {
return i_this->draw();
}
/* 80D3F25C-80D3F27C 0004BC 0020+00 1/0 0/0 0/0 .text daObjZCloth_Execute__FP13daObjZCloth_c */
static int daObjZCloth_Execute(daObjZCloth_c* i_this) {
return i_this->execute();
}
/* 80D3F27C-80D3F29C 0004DC 0020+00 1/0 0/0 0/0 .text daObjZCloth_Delete__FP13daObjZCloth_c */
static int daObjZCloth_Delete(daObjZCloth_c* i_this) {
return i_this->_delete();
}
/* 80D3F29C-80D3F2BC 0004FC 0020+00 1/0 0/0 0/0 .text daObjZCloth_Create__FP10fopAc_ac_c */
static int daObjZCloth_Create(fopAc_ac_c* i_this) {
return static_cast<daObjZCloth_c*>(i_this)->create();
}
/* 80D3F2BC-80D3F2C4 00051C 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80D3F2BC() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/func_80D3F2BC.s"
}
#pragma pop
/* 80D3F2C4-80D3F2CC 000524 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80D3F2C4() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth/func_80D3F2C4.s"
}
#pragma pop
/**
* d_a_obj_zcloth.cpp
* Object - Zora Armor
*/
#include "rel/d/a/obj/d_a_obj_zcloth/d_a_obj_zcloth.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "f_op/f_op_actor_mng.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_item_data.h"
#include "d/a/d_a_itembase_static.h"
#include "d/d_procname.h"
/* 80D3EE18-80D3EE54 000078 003C+00 1/1 0/0 0/0 .text initBaseMtx__13daObjZCloth_cFv */
void daObjZCloth_c::initBaseMtx() {
mpModel->setBaseScale(mScale);
setBaseMtx();
}
/* 80D3EE54-80D3EEC0 0000B4 006C+00 2/2 0/0 0/0 .text setBaseMtx__13daObjZCloth_cFv */
void daObjZCloth_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
}
/* 80D3EEC0-80D3EF0C 000120 004C+00 1/1 0/0 0/0 .text Create__13daObjZCloth_cFv */
int daObjZCloth_c::Create() {
initBaseMtx();
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
return 1;
}
/* 80D3EF0C-80D3F0AC 00016C 01A0+00 1/1 0/0 0/0 .text create__13daObjZCloth_cFv */
int daObjZCloth_c::create() {
fopAcM_SetupActor(this, daObjZCloth_c);
m_itemNo = 0x31;
int phase = dComIfG_resLoad(&mPhase, dItem_data::getFieldArc(m_itemNo));
if (phase == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckFieldItemCreateHeap, 0x2fb0)) {
return cPhs_ERROR_e;
}
else if (!Create()) {
return cPhs_ERROR_e;
}
}
return phase;
}
/* 80D3F1AC-80D3F1D0 00040C 0024+00 1/1 0/0 0/0 .text execute__13daObjZCloth_cFv */
int daObjZCloth_c::execute() {
setBaseMtx();
return 1;
}
/* 80D3F1D0-80D3F200 000430 0030+00 1/1 0/0 0/0 .text draw__13daObjZCloth_cFv */
int daObjZCloth_c::draw() {
DrawBase();
return 1;
}
/* 80D3F200-80D3F23C 000460 003C+00 1/1 0/0 0/0 .text _delete__13daObjZCloth_cFv */
int daObjZCloth_c::_delete() {
dComIfG_resDelete(&mPhase, dItem_data::getFieldArc(m_itemNo));
return 1;
}
/* 80D3F23C-80D3F25C 00049C 0020+00 1/0 0/0 0/0 .text daObjZCloth_Draw__FP13daObjZCloth_c */
static int daObjZCloth_Draw(daObjZCloth_c* i_this) {
return i_this->draw();
}
/* 80D3F25C-80D3F27C 0004BC 0020+00 1/0 0/0 0/0 .text daObjZCloth_Execute__FP13daObjZCloth_c */
static int daObjZCloth_Execute(daObjZCloth_c* i_this) {
return i_this->execute();
}
/* 80D3F27C-80D3F29C 0004DC 0020+00 1/0 0/0 0/0 .text daObjZCloth_Delete__FP13daObjZCloth_c */
static int daObjZCloth_Delete(daObjZCloth_c* i_this) {
return i_this->_delete();
}
/* 80D3F29C-80D3F2BC 0004FC 0020+00 1/0 0/0 0/0 .text daObjZCloth_Create__FP10fopAc_ac_c */
static int daObjZCloth_Create(fopAc_ac_c* i_this) {
return static_cast<daObjZCloth_c*>(i_this)->create();
}
/* 80D3F2D4-80D3F2F4 -00001 0020+00 1/0 0/0 0/0 .data l_daObjZCloth_Method */
static actor_method_class l_daObjZCloth_Method = {
(process_method_func)daObjZCloth_Create,
(process_method_func)daObjZCloth_Delete,
(process_method_func)daObjZCloth_Execute,
(process_method_func)NULL,
(process_method_func)daObjZCloth_Draw,
};
/* 80D3F2F4-80D3F324 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_ZoraCloth */
extern actor_process_profile_definition g_profile_Obj_ZoraCloth = {
fpcLy_CURRENT_e,
7,
fpcPi_CURRENT_e,
PROC_Obj_ZoraCloth,
&g_fpcLf_Method.mBase,
sizeof(daObjZCloth_c),
0,
0,
&g_fopAc_Method.base,
0x220,
&l_daObjZCloth_Method,
0x40100,
fopAc_ACTOR_e,
fopAc_CULLBOX_CUSTOM_e,
};