d_a_obj_prop OK (#336)

* d_a_obj_prop OK

* d_a_obj_prop OK
This commit is contained in:
Trueffel 2023-05-24 09:47:19 +02:00 committed by GitHub
parent d88870949d
commit 98317b2c17
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 170 additions and 600 deletions

View File

@ -21,8 +21,8 @@ Total | 34.493338% | 1386864 | 4020672
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 34.493338% | 1386864 | 4020672
RELs | 33.562950% | 3859848 | 11500324
Total | 33.803965% | 5246712 | 15520996
RELs | 33.578532% | 3861640 | 11500324
Total | 33.815510% | 5248504 | 15520996
## RELs
@ -571,7 +571,7 @@ d_a_obj_pleaf | 44.689221% | 2272 | 5084
d_a_obj_poCandle | 44.244604% | 2460 | 5560
d_a_obj_poFire | 36.999540% | 3216 | 8692
d_a_obj_poTbox | 44.731739% | 2768 | 6188
d_a_obj_prop | 47.868217% | 988 | 2064
d_a_obj_prop | 100.000000% | 2064 | 2064
d_a_obj_pumpkin | 29.152971% | 4612 | 15820
d_a_obj_rcircle | 43.989432% | 1332 | 3028
d_a_obj_rfHole | 43.621701% | 2380 | 5456
@ -785,4 +785,4 @@ d_a_vrbox2 | 34.977578% | 2184 | 6244
d_a_warp_bug | 54.940711% | 1112 | 2024
d_a_ykgr | 44.400631% | 2252 | 5072
f_pc_profile_lst | 100.000000% | 28156 | 28156
Total | 33.569176% | 3860564 | 11500324
Total | 33.578532% | 3861640 | 11500324

View File

@ -1,14 +0,0 @@
lbl_80CB5408:
/* 80CB5408 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CB540C 7C 08 02 A6 */ mflr r0
/* 80CB5410 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CB5414 38 80 FF FF */ li r4, -1
/* 80CB5418 81 83 05 70 */ lwz r12, 0x570(r3)
/* 80CB541C 81 8C 00 08 */ lwz r12, 8(r12)
/* 80CB5420 7D 89 03 A6 */ mtctr r12
/* 80CB5424 4E 80 04 21 */ bctrl
/* 80CB5428 38 60 00 01 */ li r3, 1
/* 80CB542C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CB5430 7C 08 03 A6 */ mtlr r0
/* 80CB5434 38 21 00 10 */ addi r1, r1, 0x10
/* 80CB5438 4E 80 00 20 */ blr

View File

@ -1,16 +0,0 @@
lbl_80CB51F8:
/* 80CB51F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CB51FC 7C 08 02 A6 */ mflr r0
/* 80CB5200 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CB5204 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80CB5208 7C 7F 1B 78 */ mr r31, r3
/* 80CB520C 4B 36 39 59 */ bl __ct__10fopAc_ac_cFv
/* 80CB5210 3C 60 80 CB */ lis r3, __vt__11daObjProp_c@ha /* 0x80CB567C@ha */
/* 80CB5214 38 03 56 7C */ addi r0, r3, __vt__11daObjProp_c@l /* 0x80CB567C@l */
/* 80CB5218 90 1F 05 70 */ stw r0, 0x570(r31)
/* 80CB521C 7F E3 FB 78 */ mr r3, r31
/* 80CB5220 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80CB5224 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CB5228 7C 08 03 A6 */ mtlr r0
/* 80CB522C 38 21 00 10 */ addi r1, r1, 0x10
/* 80CB5230 4E 80 00 20 */ blr

View File

@ -1,35 +0,0 @@
lbl_80CB5234:
/* 80CB5234 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CB5238 7C 08 02 A6 */ mflr r0
/* 80CB523C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CB5240 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80CB5244 93 C1 00 08 */ stw r30, 8(r1)
/* 80CB5248 7C 7E 1B 79 */ or. r30, r3, r3
/* 80CB524C 7C 9F 23 78 */ mr r31, r4
/* 80CB5250 41 82 00 48 */ beq lbl_80CB5298
/* 80CB5254 3C 60 80 CB */ lis r3, __vt__11daObjProp_c@ha /* 0x80CB567C@ha */
/* 80CB5258 38 03 56 7C */ addi r0, r3, __vt__11daObjProp_c@l /* 0x80CB567C@l */
/* 80CB525C 90 1E 05 70 */ stw r0, 0x570(r30)
/* 80CB5260 7F C3 F3 78 */ mr r3, r30
/* 80CB5264 41 82 00 08 */ beq lbl_80CB526C
/* 80CB5268 38 63 05 68 */ addi r3, r3, 0x568
lbl_80CB526C:
/* 80CB526C 3C 80 80 CB */ lis r4, l_arcName@ha /* 0x80CB5628@ha */
/* 80CB5270 38 84 56 28 */ addi r4, r4, l_arcName@l /* 0x80CB5628@l */
/* 80CB5274 80 84 00 00 */ lwz r4, 0(r4)
/* 80CB5278 4B 37 7D 91 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
/* 80CB527C 7F C3 F3 78 */ mr r3, r30
/* 80CB5280 38 80 00 00 */ li r4, 0
/* 80CB5284 4B 36 3A 09 */ bl __dt__10fopAc_ac_cFv
/* 80CB5288 7F E0 07 35 */ extsh. r0, r31
/* 80CB528C 40 81 00 0C */ ble lbl_80CB5298
/* 80CB5290 7F C3 F3 78 */ mr r3, r30
/* 80CB5294 4B 61 9A A9 */ bl __dl__FPv
lbl_80CB5298:
/* 80CB5298 7F C3 F3 78 */ mr r3, r30
/* 80CB529C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80CB52A0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80CB52A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CB52A8 7C 08 03 A6 */ mtlr r0
/* 80CB52AC 38 21 00 10 */ addi r1, r1, 0x10
/* 80CB52B0 4E 80 00 20 */ blr

View File

@ -1,33 +0,0 @@
lbl_80CB52B4:
/* 80CB52B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CB52B8 7C 08 02 A6 */ mflr r0
/* 80CB52BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CB52C0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80CB52C4 7C 7F 1B 78 */ mr r31, r3
/* 80CB52C8 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 80CB52CC 3C 60 80 CB */ lis r3, l_arcName@ha /* 0x80CB5628@ha */
/* 80CB52D0 38 63 56 28 */ addi r3, r3, l_arcName@l /* 0x80CB5628@l */
/* 80CB52D4 80 63 00 00 */ lwz r3, 0(r3)
/* 80CB52D8 54 00 16 BA */ rlwinm r0, r0, 2, 0x1a, 0x1d
/* 80CB52DC 3C 80 80 CB */ lis r4, BMD_IDX@ha /* 0x80CB5614@ha */
/* 80CB52E0 38 84 56 14 */ addi r4, r4, BMD_IDX@l /* 0x80CB5614@l */
/* 80CB52E4 7C 84 00 2E */ lwzx r4, r4, r0
/* 80CB52E8 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80CB52EC 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80CB52F0 3C A5 00 02 */ addis r5, r5, 2
/* 80CB52F4 38 C0 00 80 */ li r6, 0x80
/* 80CB52F8 38 A5 C2 F8 */ addi r5, r5, -15624
/* 80CB52FC 4B 38 6F F1 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 80CB5300 3C 80 00 08 */ lis r4, 8
/* 80CB5304 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */
/* 80CB5308 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */
/* 80CB530C 4B 35 F9 49 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl
/* 80CB5310 90 7F 05 74 */ stw r3, 0x574(r31)
/* 80CB5314 80 7F 05 74 */ lwz r3, 0x574(r31)
/* 80CB5318 30 03 FF FF */ addic r0, r3, -1
/* 80CB531C 7C 60 19 10 */ subfe r3, r0, r3
/* 80CB5320 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80CB5324 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CB5328 7C 08 03 A6 */ mtlr r0
/* 80CB532C 38 21 00 10 */ addi r1, r1, 0x10
/* 80CB5330 4E 80 00 20 */ blr

View File

@ -1,60 +0,0 @@
lbl_80CB5334:
/* 80CB5334 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CB5338 7C 08 02 A6 */ mflr r0
/* 80CB533C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CB5340 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80CB5344 93 C1 00 08 */ stw r30, 8(r1)
/* 80CB5348 7C 7E 1B 78 */ mr r30, r3
/* 80CB534C 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80CB5350 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80CB5354 40 82 00 1C */ bne lbl_80CB5370
/* 80CB5358 28 1E 00 00 */ cmplwi r30, 0
/* 80CB535C 41 82 00 08 */ beq lbl_80CB5364
/* 80CB5360 4B FF FE 99 */ bl __ct__11daObjProp_cFv
lbl_80CB5364:
/* 80CB5364 80 1E 04 A0 */ lwz r0, 0x4a0(r30)
/* 80CB5368 60 00 00 08 */ ori r0, r0, 8
/* 80CB536C 90 1E 04 A0 */ stw r0, 0x4a0(r30)
lbl_80CB5370:
/* 80CB5370 7F C3 F3 78 */ mr r3, r30
/* 80CB5374 28 1E 00 00 */ cmplwi r30, 0
/* 80CB5378 41 82 00 08 */ beq lbl_80CB5380
/* 80CB537C 38 7E 05 68 */ addi r3, r30, 0x568
lbl_80CB5380:
/* 80CB5380 3C 80 80 CB */ lis r4, l_arcName@ha /* 0x80CB5628@ha */
/* 80CB5384 38 84 56 28 */ addi r4, r4, l_arcName@l /* 0x80CB5628@l */
/* 80CB5388 80 84 00 00 */ lwz r4, 0(r4)
/* 80CB538C 4B 37 7B 31 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc
/* 80CB5390 7C 7F 1B 78 */ mr r31, r3
/* 80CB5394 2C 1F 00 04 */ cmpwi r31, 4
/* 80CB5398 40 82 00 54 */ bne lbl_80CB53EC
/* 80CB539C 7F C3 F3 78 */ mr r3, r30
/* 80CB53A0 3C 80 80 CB */ lis r4, daObjProp_c_createHeap__FP10fopAc_ac_c@ha /* 0x80CB51D8@ha */
/* 80CB53A4 38 84 51 D8 */ addi r4, r4, daObjProp_c_createHeap__FP10fopAc_ac_c@l /* 0x80CB51D8@l */
/* 80CB53A8 38 A0 10 00 */ li r5, 0x1000
/* 80CB53AC 4B 36 51 05 */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl
/* 80CB53B0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80CB53B4 40 82 00 0C */ bne lbl_80CB53C0
/* 80CB53B8 38 60 00 05 */ li r3, 5
/* 80CB53BC 48 00 00 34 */ b lbl_80CB53F0
lbl_80CB53C0:
/* 80CB53C0 7F C3 F3 78 */ mr r3, r30
/* 80CB53C4 48 00 01 21 */ bl init__11daObjProp_cFv
/* 80CB53C8 7F C3 F3 78 */ mr r3, r30
/* 80CB53CC 48 00 01 29 */ bl setModelMtx__11daObjProp_cFv
/* 80CB53D0 80 7E 05 74 */ lwz r3, 0x574(r30)
/* 80CB53D4 38 03 00 24 */ addi r0, r3, 0x24
/* 80CB53D8 90 1E 05 04 */ stw r0, 0x504(r30)
/* 80CB53DC 80 7E 05 74 */ lwz r3, 0x574(r30)
/* 80CB53E0 80 83 00 04 */ lwz r4, 4(r3)
/* 80CB53E4 7F C3 F3 78 */ mr r3, r30
/* 80CB53E8 4B 36 51 91 */ bl fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData
lbl_80CB53EC:
/* 80CB53EC 7F E3 FB 78 */ mr r3, r31
lbl_80CB53F0:
/* 80CB53F0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80CB53F4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80CB53F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CB53FC 7C 08 03 A6 */ mtlr r0
/* 80CB5400 38 21 00 10 */ addi r1, r1, 0x10
/* 80CB5404 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80CB55AC:
/* 80CB55AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CB55B0 7C 08 02 A6 */ mflr r0
/* 80CB55B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CB55B8 4B FF FE 51 */ bl Delete__11daObjProp_cFv
/* 80CB55BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CB55C0 7C 08 03 A6 */ mtlr r0
/* 80CB55C4 38 21 00 10 */ addi r1, r1, 0x10
/* 80CB55C8 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80CB51D8:
/* 80CB51D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CB51DC 7C 08 02 A6 */ mflr r0
/* 80CB51E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CB51E4 48 00 00 D1 */ bl createHeap__11daObjProp_cFv
/* 80CB51E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CB51EC 7C 08 03 A6 */ mtlr r0
/* 80CB51F0 38 21 00 10 */ addi r1, r1, 0x10
/* 80CB51F4 4E 80 00 20 */ blr

View File

@ -1,24 +0,0 @@
lbl_80CB5558:
/* 80CB5558 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CB555C 7C 08 02 A6 */ mflr r0
/* 80CB5560 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CB5564 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80CB5568 7C 7F 1B 78 */ mr r31, r3
/* 80CB556C 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80CB5570 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80CB5574 40 82 00 1C */ bne lbl_80CB5590
/* 80CB5578 28 1F 00 00 */ cmplwi r31, 0
/* 80CB557C 41 82 00 08 */ beq lbl_80CB5584
/* 80CB5580 4B FF FC 79 */ bl __ct__11daObjProp_cFv
lbl_80CB5584:
/* 80CB5584 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 80CB5588 60 00 00 08 */ ori r0, r0, 8
/* 80CB558C 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_80CB5590:
/* 80CB5590 7F E3 FB 78 */ mr r3, r31
/* 80CB5594 4B FF FD A1 */ bl create__11daObjProp_cFv
/* 80CB5598 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80CB559C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CB55A0 7C 08 03 A6 */ mtlr r0
/* 80CB55A4 38 21 00 10 */ addi r1, r1, 0x10
/* 80CB55A8 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80CB55EC:
/* 80CB55EC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CB55F0 7C 08 02 A6 */ mflr r0
/* 80CB55F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CB55F8 4B FF FE 45 */ bl draw__11daObjProp_cFv
/* 80CB55FC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CB5600 7C 08 03 A6 */ mtlr r0
/* 80CB5604 38 21 00 10 */ addi r1, r1, 0x10
/* 80CB5608 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80CB55CC:
/* 80CB55CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CB55D0 7C 08 02 A6 */ mflr r0
/* 80CB55D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CB55D8 4B FF FE C9 */ bl execute__11daObjProp_cFv
/* 80CB55DC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CB55E0 7C 08 03 A6 */ mtlr r0
/* 80CB55E4 38 21 00 10 */ addi r1, r1, 0x10
/* 80CB55E8 4E 80 00 20 */ blr

View File

@ -1,26 +0,0 @@
lbl_80CB543C:
/* 80CB543C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CB5440 7C 08 02 A6 */ mflr r0
/* 80CB5444 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CB5448 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80CB544C 7C 7F 1B 78 */ mr r31, r3
/* 80CB5450 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80CB5454 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80CB5458 38 80 00 00 */ li r4, 0
/* 80CB545C 38 BF 04 D0 */ addi r5, r31, 0x4d0
/* 80CB5460 38 DF 01 0C */ addi r6, r31, 0x10c
/* 80CB5464 4B 4E E3 61 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c
/* 80CB5468 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80CB546C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80CB5470 80 9F 05 74 */ lwz r4, 0x574(r31)
/* 80CB5474 80 84 00 04 */ lwz r4, 4(r4)
/* 80CB5478 38 BF 01 0C */ addi r5, r31, 0x10c
/* 80CB547C 4B 4E F9 25 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
/* 80CB5480 80 7F 05 74 */ lwz r3, 0x574(r31)
/* 80CB5484 4B 35 87 A9 */ bl mDoExt_modelUpdate__FP8J3DModel
/* 80CB5488 38 60 00 01 */ li r3, 1
/* 80CB548C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80CB5490 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CB5494 7C 08 03 A6 */ mtlr r0
/* 80CB5498 38 21 00 10 */ addi r1, r1, 0x10
/* 80CB549C 4E 80 00 20 */ blr

View File

@ -1,18 +0,0 @@
lbl_80CB54A0:
/* 80CB54A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CB54A4 7C 08 02 A6 */ mflr r0
/* 80CB54A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CB54AC A8 A3 04 E6 */ lha r5, 0x4e6(r3)
/* 80CB54B0 88 03 05 78 */ lbz r0, 0x578(r3)
/* 80CB54B4 54 00 08 3C */ slwi r0, r0, 1
/* 80CB54B8 3C 80 80 CB */ lis r4, ADD_ANGLE@ha /* 0x80CB561C@ha */
/* 80CB54BC 38 84 56 1C */ addi r4, r4, ADD_ANGLE@l /* 0x80CB561C@l */
/* 80CB54C0 7C 04 02 AE */ lhax r0, r4, r0
/* 80CB54C4 7C 05 02 14 */ add r0, r5, r0
/* 80CB54C8 B0 03 04 E6 */ sth r0, 0x4e6(r3)
/* 80CB54CC 48 00 00 29 */ bl setModelMtx__11daObjProp_cFv
/* 80CB54D0 38 60 00 01 */ li r3, 1
/* 80CB54D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CB54D8 7C 08 03 A6 */ mtlr r0
/* 80CB54DC 38 21 00 10 */ addi r1, r1, 0x10
/* 80CB54E0 4E 80 00 20 */ blr

View File

@ -1,5 +0,0 @@
lbl_80CB54E4:
/* 80CB54E4 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 80CB54E8 54 00 E7 FE */ rlwinm r0, r0, 0x1c, 0x1f, 0x1f
/* 80CB54EC 98 03 05 78 */ stb r0, 0x578(r3)
/* 80CB54F0 4E 80 00 20 */ blr

View File

@ -1,26 +0,0 @@
lbl_80CB54F4:
/* 80CB54F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80CB54F8 7C 08 02 A6 */ mflr r0
/* 80CB54FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80CB5500 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80CB5504 7C 7F 1B 78 */ mr r31, r3
/* 80CB5508 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80CB550C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80CB5510 C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
/* 80CB5514 C0 5F 04 D4 */ lfs f2, 0x4d4(r31)
/* 80CB5518 C0 7F 04 D8 */ lfs f3, 0x4d8(r31)
/* 80CB551C 4B 69 13 CD */ bl PSMTXTrans
/* 80CB5520 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80CB5524 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80CB5528 A8 9F 04 E6 */ lha r4, 0x4e6(r31)
/* 80CB552C 4B 35 6F 09 */ bl mDoMtx_YrotM__FPA4_fs
/* 80CB5530 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80CB5534 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80CB5538 80 9F 05 74 */ lwz r4, 0x574(r31)
/* 80CB553C 38 84 00 24 */ addi r4, r4, 0x24
/* 80CB5540 4B 69 0F 71 */ bl PSMTXCopy
/* 80CB5544 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80CB5548 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80CB554C 7C 08 03 A6 */ mtlr r0
/* 80CB5550 38 21 00 10 */ addi r1, r1, 0x10
/* 80CB5554 4E 80 00 20 */ blr

View File

@ -568,6 +568,7 @@ JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(JKRHeap** o_heap, u32 i_si
u32 mDoExt_adjustSolidHeapToSystem(JKRSolidHeap* i_heap);
JKRHeap* mDoExt_getCurrentHeap();
void mDoExt_removeMesgFont();
void mDoExt_modelUpdate(J3DModel* i_model);
void mDoExt_modelUpdateDL(J3DModel* i_model);
J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 param_1, u32 param_2);
void mDoExt_setAraCacheSize(u32 size);

View File

@ -1,6 +1,30 @@
#ifndef D_A_OBJ_PROP_H
#define D_A_OBJ_PROP_H
#include "dolphin/types.h"
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
class daObjProp_c : public fopAc_ac_c {
public:
/* 80CB51F8 */ daObjProp_c();
/* 80CB52B4 */ bool createHeap();
/* 80CB5334 */ int create();
/* 80CB5408 */ int Delete();
/* 80CB543C */ int draw();
/* 80CB54A0 */ int execute();
/* 80CB54E4 */ void init();
/* 80CB54F4 */ void setModelMtx();
u32 getNameArg_0() { return fopAcM_GetParamBit(this, 0, 4); }
u32 getArg_0() { return fopAcM_GetParamBit(this, 4, 4); }
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ /* 80CB5234 */ virtual ~daObjProp_c();
/* 0x574 */ J3DModel* mpModel;
/* 0x578 */ u8 mArg;
}; // Size: 0x57C
#endif /* D_A_OBJ_PROP_H */

View File

@ -1,304 +1,151 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_obj_prop
//
/**
* d_a_obj_prop.cpp
* Object - Propeller
*/
#include "rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct mDoMtx_stack_c {
static u8 now[48];
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
/* 80018C8C */ ~fopAc_ac_c();
};
struct daObjProp_c {
/* 80CB51F8 */ daObjProp_c();
/* 80CB5234 */ ~daObjProp_c();
/* 80CB52B4 */ void createHeap();
/* 80CB5334 */ void create();
/* 80CB5408 */ void Delete();
/* 80CB543C */ void draw();
/* 80CB54A0 */ void execute();
/* 80CB54E4 */ void init();
/* 80CB54F4 */ void setModelMtx();
};
struct dKy_tevstr_c {};
struct J3DModelData {};
struct cXyz {};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct J3DModel {};
//
// Forward References:
//
extern "C" static void daObjProp_c_createHeap__FP10fopAc_ac_c();
extern "C" void __ct__11daObjProp_cFv();
extern "C" void __dt__11daObjProp_cFv();
extern "C" void createHeap__11daObjProp_cFv();
extern "C" void create__11daObjProp_cFv();
extern "C" void Delete__11daObjProp_cFv();
extern "C" void draw__11daObjProp_cFv();
extern "C" void execute__11daObjProp_cFv();
extern "C" void init__11daObjProp_cFv();
extern "C" void setModelMtx__11daObjProp_cFv();
extern "C" static void daObjProp_create__FP11daObjProp_c();
extern "C" static void daObjProp_Delete__FP11daObjProp_c();
extern "C" static void daObjProp_execute__FP11daObjProp_c();
extern "C" static void daObjProp_draw__FP11daObjProp_c();
extern "C" extern char const* const d_a_obj_prop__stringBase0;
//
// External References:
//
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void mDoExt_modelUpdate__FP8J3DModel();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__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 settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void __dl__FPv();
extern "C" void PSMTXCopy();
extern "C" void PSMTXTrans();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
//
// Declarations:
//
#include "JSystem/JKernel/JKRHeap.h"
#include "d/d_procname.h"
/* 80CB51D8-80CB51F8 000078 0020+00 1/1 0/0 0/0 .text daObjProp_c_createHeap__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjProp_c_createHeap(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_c_createHeap__FP10fopAc_ac_c.s"
static bool daObjProp_c_createHeap(fopAc_ac_c* i_this) {
return static_cast<daObjProp_c*>(i_this)->createHeap();
}
#pragma pop
/* ############################################################################################## */
/* 80CB5620-80CB5620 00000C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80CB5620 = "L7Prop";
#pragma pop
/* 80CB5628-80CB562C -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_prop__stringBase0;
static const char* l_arcName = "L7Prop";
/* 80CB51F8-80CB5234 000098 003C+00 2/2 0/0 0/0 .text __ct__11daObjProp_cFv */
daObjProp_c::daObjProp_c() {}
inline request_of_phase_process_class* daObjProp_getRes(daObjProp_c* i_prop) {
daObjProp_c* mProp2 = (daObjProp_c*)i_prop;
return mProp2 != NULL ? &mProp2->mPhaseReq : (request_of_phase_process_class*)mProp2;
}
/* 80CB5234-80CB52B4 0000D4 0080+00 1/0 0/0 0/0 .text __dt__11daObjProp_cFv */
daObjProp_c::~daObjProp_c() {
dComIfG_resDelete(daObjProp_getRes(this), l_arcName);
}
static const u32 BMD_IDX[] = {3, 4};
/* 80CB52B4-80CB5334 000154 0080+00 1/1 0/0 0/0 .text createHeap__11daObjProp_cFv */
bool daObjProp_c::createHeap() {
u32 nameArg = getNameArg_0();
u32 bmd = BMD_IDX[nameArg];
mpModel = mDoExt_J3DModel__create((J3DModelData*)dComIfG_getObjectRes(l_arcName, bmd), 0x80000,
0x11000084);
return mpModel != NULL;
}
/* 80CB5334-80CB5408 0001D4 00D4+00 1/1 0/0 0/0 .text create__11daObjProp_cFv */
int daObjProp_c::create() {
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daObjProp_c();
fopAcM_OnCondition(this, 8);
}
daObjProp_c* tmp = this;
if (this) {
tmp = (daObjProp_c*)&mPhaseReq;
}
int phase = dComIfG_resLoad((request_of_phase_process_class*)tmp, l_arcName);
if (phase == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)daObjProp_c_createHeap, 0x1000)) {
return cPhs_ERROR_e;
} else {
init();
setModelMtx();
mCullMtx = mpModel->getBaseTRMtx();
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
}
}
return phase;
}
/* 80CB5408-80CB543C 0002A8 0034+00 1/1 0/0 0/0 .text Delete__11daObjProp_cFv */
int daObjProp_c::Delete() {
this->~daObjProp_c();
return 1;
}
/* 80CB543C-80CB54A0 0002DC 0064+00 1/1 0/0 0/0 .text draw__11daObjProp_cFv */
int daObjProp_c::draw() {
g_env_light.settingTevStruct(NULL, &current.pos, &mTevStr);
g_env_light.setLightTevColorType_MAJI(mpModel->mModelData, &mTevStr);
mDoExt_modelUpdate(mpModel);
return 1;
}
static const s16 ADD_ANGLE[] = {0x1800, 0xE800};
/* 80CB54A0-80CB54E4 000340 0044+00 1/1 0/0 0/0 .text execute__11daObjProp_cFv */
int daObjProp_c::execute() {
shape_angle.y += ADD_ANGLE[mArg];
setModelMtx();
return 1;
}
/* 80CB54E4-80CB54F4 000384 0010+00 1/1 0/0 0/0 .text init__11daObjProp_cFv */
void daObjProp_c::init() {
mArg = getArg_0() & 1;
}
/* 80CB54F4-80CB5558 000394 0064+00 2/2 0/0 0/0 .text setModelMtx__11daObjProp_cFv */
void daObjProp_c::setModelMtx() {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::YrotM(shape_angle.y);
PSMTXCopy(mDoMtx_stack_c::now, mpModel->mBaseTransformMtx);
}
/* 80CB5558-80CB55AC 0003F8 0054+00 1/0 0/0 0/0 .text daObjProp_create__FP11daObjProp_c */
static int daObjProp_create(daObjProp_c* i_this) {
if (!fopAcM_CheckCondition(i_this, 8)) {
new (i_this) daObjProp_c();
fopAcM_OnCondition(i_this, 8);
}
return i_this->create();
}
/* 80CB55AC-80CB55CC 00044C 0020+00 1/0 0/0 0/0 .text daObjProp_Delete__FP11daObjProp_c */
static int daObjProp_Delete(daObjProp_c* i_this) {
return i_this->Delete();
}
/* 80CB55CC-80CB55EC 00046C 0020+00 1/0 0/0 0/0 .text daObjProp_execute__FP11daObjProp_c */
static int daObjProp_execute(daObjProp_c* i_this) {
return i_this->execute();
}
/* 80CB55EC-80CB560C 00048C 0020+00 1/0 0/0 0/0 .text daObjProp_draw__FP11daObjProp_c */
static int daObjProp_draw(daObjProp_c* i_this) {
return i_this->draw();
}
/* 80CB562C-80CB564C -00001 0020+00 1/0 0/0 0/0 .data daObjProp_METHODS */
SECTION_DATA static void* daObjProp_METHODS[8] = {
(void*)daObjProp_create__FP11daObjProp_c,
(void*)daObjProp_Delete__FP11daObjProp_c,
(void*)daObjProp_execute__FP11daObjProp_c,
(void*)NULL,
(void*)daObjProp_draw__FP11daObjProp_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class daObjProp_METHODS = {
(process_method_func)daObjProp_create, (process_method_func)daObjProp_Delete,
(process_method_func)daObjProp_execute, (process_method_func)NULL,
(process_method_func)daObjProp_draw,
};
/* 80CB564C-80CB567C -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Prop */
SECTION_DATA extern void* g_profile_Obj_Prop[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x01970000, (void*)&g_fpcLf_Method,
(void*)0x0000057C, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x02E10000, (void*)&daObjProp_METHODS,
(void*)0x00040000, (void*)0x030E0000,
};
/* 80CB567C-80CB5688 000054 000C+00 2/2 0/0 0/0 .data __vt__11daObjProp_c */
SECTION_DATA extern void* __vt__11daObjProp_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__11daObjProp_cFv,
};
/* 80CB51F8-80CB5234 000098 003C+00 2/2 0/0 0/0 .text __ct__11daObjProp_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daObjProp_c::daObjProp_c() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/__ct__11daObjProp_cFv.s"
}
#pragma pop
/* 80CB5234-80CB52B4 0000D4 0080+00 1/0 0/0 0/0 .text __dt__11daObjProp_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daObjProp_c::~daObjProp_c() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/__dt__11daObjProp_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80CB5614-80CB561C 000000 0008+00 1/1 0/0 0/0 .rodata BMD_IDX$3638 */
SECTION_RODATA static u8 const BMD_IDX[8] = {
0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04,
};
COMPILER_STRIP_GATE(0x80CB5614, &BMD_IDX);
/* 80CB52B4-80CB5334 000154 0080+00 1/1 0/0 0/0 .text createHeap__11daObjProp_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjProp_c::createHeap() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/createHeap__11daObjProp_cFv.s"
}
#pragma pop
/* 80CB5334-80CB5408 0001D4 00D4+00 1/1 0/0 0/0 .text create__11daObjProp_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjProp_c::create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/create__11daObjProp_cFv.s"
}
#pragma pop
/* 80CB5408-80CB543C 0002A8 0034+00 1/1 0/0 0/0 .text Delete__11daObjProp_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjProp_c::Delete() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/Delete__11daObjProp_cFv.s"
}
#pragma pop
/* 80CB543C-80CB54A0 0002DC 0064+00 1/1 0/0 0/0 .text draw__11daObjProp_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjProp_c::draw() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/draw__11daObjProp_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80CB561C-80CB5620 000008 0004+00 1/1 0/0 0/0 .rodata ADD_ANGLE$3689 */
SECTION_RODATA static u8 const ADD_ANGLE[4] = {
0x18,
0x00,
0xE8,
0x00,
};
COMPILER_STRIP_GATE(0x80CB561C, &ADD_ANGLE);
/* 80CB54A0-80CB54E4 000340 0044+00 1/1 0/0 0/0 .text execute__11daObjProp_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjProp_c::execute() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/execute__11daObjProp_cFv.s"
}
#pragma pop
/* 80CB54E4-80CB54F4 000384 0010+00 1/1 0/0 0/0 .text init__11daObjProp_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjProp_c::init() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/init__11daObjProp_cFv.s"
}
#pragma pop
/* 80CB54F4-80CB5558 000394 0064+00 2/2 0/0 0/0 .text setModelMtx__11daObjProp_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjProp_c::setModelMtx() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/setModelMtx__11daObjProp_cFv.s"
}
#pragma pop
/* 80CB5558-80CB55AC 0003F8 0054+00 1/0 0/0 0/0 .text daObjProp_create__FP11daObjProp_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjProp_create(daObjProp_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_create__FP11daObjProp_c.s"
}
#pragma pop
/* 80CB55AC-80CB55CC 00044C 0020+00 1/0 0/0 0/0 .text daObjProp_Delete__FP11daObjProp_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjProp_Delete(daObjProp_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_Delete__FP11daObjProp_c.s"
}
#pragma pop
/* 80CB55CC-80CB55EC 00046C 0020+00 1/0 0/0 0/0 .text daObjProp_execute__FP11daObjProp_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjProp_execute(daObjProp_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_execute__FP11daObjProp_c.s"
}
#pragma pop
/* 80CB55EC-80CB560C 00048C 0020+00 1/0 0/0 0/0 .text daObjProp_draw__FP11daObjProp_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjProp_draw(daObjProp_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_draw__FP11daObjProp_c.s"
}
#pragma pop
/* 80CB5620-80CB5620 00000C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
extern actor_process_profile_definition g_profile_Obj_Prop = {
-3,
7,
-3,
PROC_Obj_Prop,
&g_fpcLf_Method.mBase,
sizeof(daObjProp_c),
0,
0,
&g_fopAc_Method.base,
0x02E1,
&daObjProp_METHODS,
0x00040000,
3,
14,
};

View File

@ -8,16 +8,7 @@
#include "d/a/d_a_player.h"
#include "d/d_procname.h"
/* ############################################################################################## */
/* 804D5724-804D5728 000000 0002+02 1/1 0/0 0/0 .rodata l_dist_tbl$3641 */
SECTION_RODATA static u8 const l_dist_tbl[2 + 2 /* padding */] = {
0x23,
0x24,
/* padding */
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x804D5724, &l_dist_tbl);
static const u8 l_dist_tbl[] = { 0x23, 0x24 };
/* 804D5318-804D5354 000078 003C+00 1/1 0/0 0/0 .text Create__8daAttp_cFv */
int daAttp_c::Create() {