mirror of https://github.com/zeldaret/tp.git
d_a_obj_cdoor OK, d_a_obj_wchain mostly done, work on d_a_alink_wolf (#2047)
This commit is contained in:
parent
ba44ade90c
commit
4640b758c9
10
Progress.md
10
Progress.md
|
|
@ -21,8 +21,8 @@ Total | 50.002885% | 2010452 | 4020672
|
|||
Section | Percentage | Decompiled (bytes) | Total (bytes)
|
||||
---|---|---|---
|
||||
main.dol | 50.002885% | 2010452 | 4020672
|
||||
RELs | 35.505434% | 4083240 | 11500324
|
||||
Total | 39.260960% | 6093692 | 15520996
|
||||
RELs | 35.541016% | 4087332 | 11500324
|
||||
Total | 39.287324% | 6097784 | 15520996
|
||||
|
||||
## RELs
|
||||
|
||||
|
|
@ -373,7 +373,7 @@ d_a_obj_catdoor | 82.338611% | 2704 | 3284
|
|||
d_a_obj_cb | 43.008475% | 2436 | 5664
|
||||
d_a_obj_cblock | 42.294713% | 3008 | 7112
|
||||
d_a_obj_cboard | 100.000000% | 2648 | 2648
|
||||
d_a_obj_cdoor | 40.255786% | 2644 | 6568
|
||||
d_a_obj_cdoor | 100.000000% | 6568 | 6568
|
||||
d_a_obj_chandelier | 100.000000% | 5504 | 5504
|
||||
d_a_obj_chest | 39.833795% | 2876 | 7220
|
||||
d_a_obj_cho | 33.555219% | 4436 | 13220
|
||||
|
|
@ -663,7 +663,7 @@ d_a_obj_warp_obrg | 34.784076% | 4124 | 11856
|
|||
d_a_obj_waterGate | 47.279550% | 2016 | 4264
|
||||
d_a_obj_waterPillar | 37.877429% | 5068 | 13380
|
||||
d_a_obj_waterfall | 34.033613% | 2268 | 6664
|
||||
d_a_obj_wchain | 31.823745% | 3120 | 9804
|
||||
d_a_obj_wchain | 33.537332% | 3288 | 9804
|
||||
d_a_obj_wdStick | 32.908234% | 4748 | 14428
|
||||
d_a_obj_web0 | 75.286533% | 4204 | 5584
|
||||
d_a_obj_web1 | 100.000000% | 5772 | 5772
|
||||
|
|
@ -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.505434% | 4083240 | 11500324
|
||||
Total | 35.541016% | 4087332 | 11500324
|
||||
|
|
|
|||
|
|
@ -1,82 +0,0 @@
|
|||
lbl_80BC6DB8:
|
||||
/* 80BC6DB8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80BC6DBC 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC6DC0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80BC6DC4 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80BC6DC8 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80BC6DCC 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80BC6DD0 88 03 05 AE */ lbz r0, 0x5ae(r3)
|
||||
/* 80BC6DD4 54 00 10 3A */ slwi r0, r0, 2
|
||||
/* 80BC6DD8 3C 60 80 BC */ lis r3, l_arcName@ha /* 0x80BC7D78@ha */
|
||||
/* 80BC6DDC 38 63 7D 78 */ addi r3, r3, l_arcName@l /* 0x80BC7D78@l */
|
||||
/* 80BC6DE0 7C 63 00 2E */ lwzx r3, r3, r0
|
||||
/* 80BC6DE4 3C 80 80 BC */ lis r4, l_bmdIdx@ha /* 0x80BC7D18@ha */
|
||||
/* 80BC6DE8 38 84 7D 18 */ addi r4, r4, l_bmdIdx@l /* 0x80BC7D18@l */
|
||||
/* 80BC6DEC 7C 84 00 2E */ lwzx r4, r4, r0
|
||||
/* 80BC6DF0 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80BC6DF4 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80BC6DF8 3F C5 00 02 */ addis r30, r5, 2
|
||||
/* 80BC6DFC 3B DE C2 F8 */ addi r30, r30, -15624
|
||||
/* 80BC6E00 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80BC6E04 38 C0 00 80 */ li r6, 0x80
|
||||
/* 80BC6E08 4B 47 54 E5 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
|
||||
/* 80BC6E0C 3C 80 00 08 */ lis r4, 8
|
||||
/* 80BC6E10 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */
|
||||
/* 80BC6E14 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */
|
||||
/* 80BC6E18 4B 44 DE 3D */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl
|
||||
/* 80BC6E1C 90 7F 05 A8 */ stw r3, 0x5a8(r31)
|
||||
/* 80BC6E20 80 1F 05 A8 */ lwz r0, 0x5a8(r31)
|
||||
/* 80BC6E24 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80BC6E28 40 82 00 0C */ bne lbl_80BC6E34
|
||||
/* 80BC6E2C 38 60 00 00 */ li r3, 0
|
||||
/* 80BC6E30 48 00 00 A8 */ b lbl_80BC6ED8
|
||||
lbl_80BC6E34:
|
||||
/* 80BC6E34 88 1F 05 AE */ lbz r0, 0x5ae(r31)
|
||||
/* 80BC6E38 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 80BC6E3C 40 82 00 98 */ bne lbl_80BC6ED4
|
||||
/* 80BC6E40 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
|
||||
/* 80BC6E44 3C 60 80 BC */ lis r3, l_arcName@ha /* 0x80BC7D78@ha */
|
||||
/* 80BC6E48 38 63 7D 78 */ addi r3, r3, l_arcName@l /* 0x80BC7D78@l */
|
||||
/* 80BC6E4C 7C 63 00 2E */ lwzx r3, r3, r0
|
||||
/* 80BC6E50 38 80 00 06 */ li r4, 6
|
||||
/* 80BC6E54 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80BC6E58 38 C0 00 80 */ li r6, 0x80
|
||||
/* 80BC6E5C 4B 47 54 91 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
|
||||
/* 80BC6E60 7C 64 1B 78 */ mr r4, r3
|
||||
/* 80BC6E64 38 7F 05 C0 */ addi r3, r31, 0x5c0
|
||||
/* 80BC6E68 38 A0 00 01 */ li r5, 1
|
||||
/* 80BC6E6C 38 C0 00 00 */ li r6, 0
|
||||
/* 80BC6E70 3C E0 80 BC */ lis r7, lit_3783@ha /* 0x80BC7D30@ha */
|
||||
/* 80BC6E74 C0 27 7D 30 */ lfs f1, lit_3783@l(r7) /* 0x80BC7D30@l */
|
||||
/* 80BC6E78 38 E0 00 00 */ li r7, 0
|
||||
/* 80BC6E7C 39 00 FF FF */ li r8, -1
|
||||
/* 80BC6E80 39 20 00 00 */ li r9, 0
|
||||
/* 80BC6E84 4B 44 69 59 */ bl init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb
|
||||
/* 80BC6E88 88 1F 05 AE */ lbz r0, 0x5ae(r31)
|
||||
/* 80BC6E8C 54 00 10 3A */ slwi r0, r0, 2
|
||||
/* 80BC6E90 3C 60 80 BC */ lis r3, l_arcName@ha /* 0x80BC7D78@ha */
|
||||
/* 80BC6E94 38 63 7D 78 */ addi r3, r3, l_arcName@l /* 0x80BC7D78@l */
|
||||
/* 80BC6E98 7C 63 00 2E */ lwzx r3, r3, r0
|
||||
/* 80BC6E9C 38 80 00 05 */ li r4, 5
|
||||
/* 80BC6EA0 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80BC6EA4 38 C0 00 80 */ li r6, 0x80
|
||||
/* 80BC6EA8 4B 47 54 45 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
|
||||
/* 80BC6EAC 7C 64 1B 78 */ mr r4, r3
|
||||
/* 80BC6EB0 38 7F 05 DC */ addi r3, r31, 0x5dc
|
||||
/* 80BC6EB4 38 A0 00 01 */ li r5, 1
|
||||
/* 80BC6EB8 38 C0 00 00 */ li r6, 0
|
||||
/* 80BC6EBC 3C E0 80 BC */ lis r7, lit_3783@ha /* 0x80BC7D30@ha */
|
||||
/* 80BC6EC0 C0 27 7D 30 */ lfs f1, lit_3783@l(r7) /* 0x80BC7D30@l */
|
||||
/* 80BC6EC4 38 E0 00 00 */ li r7, 0
|
||||
/* 80BC6EC8 39 00 FF FF */ li r8, -1
|
||||
/* 80BC6ECC 39 20 00 00 */ li r9, 0
|
||||
/* 80BC6ED0 4B 44 69 0D */ bl init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb
|
||||
lbl_80BC6ED4:
|
||||
/* 80BC6ED4 38 60 00 01 */ li r3, 1
|
||||
lbl_80BC6ED8:
|
||||
/* 80BC6ED8 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80BC6EDC 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 80BC6EE0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80BC6EE4 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC6EE8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80BC6EEC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
lbl_80BC7C04:
|
||||
/* 80BC7C04 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80BC7C08 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC7C0C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80BC7C10 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80BC7C14 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80BC7C18 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80BC7C1C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
|
||||
/* 80BC7C20 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
|
||||
/* 80BC7C24 38 80 00 10 */ li r4, 0x10
|
||||
/* 80BC7C28 38 BE 04 D0 */ addi r5, r30, 0x4d0
|
||||
/* 80BC7C2C 38 DE 01 0C */ addi r6, r30, 0x10c
|
||||
/* 80BC7C30 4B 5D BB 95 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c
|
||||
/* 80BC7C34 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
|
||||
/* 80BC7C38 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
|
||||
/* 80BC7C3C 80 9E 05 A8 */ lwz r4, 0x5a8(r30)
|
||||
/* 80BC7C40 80 84 00 04 */ lwz r4, 4(r4)
|
||||
/* 80BC7C44 38 BE 01 0C */ addi r5, r30, 0x10c
|
||||
/* 80BC7C48 4B 5D D1 59 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
|
||||
/* 80BC7C4C 88 1E 05 AE */ lbz r0, 0x5ae(r30)
|
||||
/* 80BC7C50 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 80BC7C54 40 82 00 34 */ bne lbl_80BC7C88
|
||||
/* 80BC7C58 80 7E 05 A8 */ lwz r3, 0x5a8(r30)
|
||||
/* 80BC7C5C 80 83 00 04 */ lwz r4, 4(r3)
|
||||
/* 80BC7C60 88 1E 05 B0 */ lbz r0, 0x5b0(r30)
|
||||
/* 80BC7C64 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80BC7C68 41 82 00 14 */ beq lbl_80BC7C7C
|
||||
/* 80BC7C6C 38 7E 05 C0 */ addi r3, r30, 0x5c0
|
||||
/* 80BC7C70 C0 3E 05 D0 */ lfs f1, 0x5d0(r30)
|
||||
/* 80BC7C74 4B 44 5D 59 */ bl entry__13mDoExt_bckAnmFP12J3DModelDataf
|
||||
/* 80BC7C78 48 00 00 10 */ b lbl_80BC7C88
|
||||
lbl_80BC7C7C:
|
||||
/* 80BC7C7C 38 7E 05 DC */ addi r3, r30, 0x5dc
|
||||
/* 80BC7C80 C0 3E 05 EC */ lfs f1, 0x5ec(r30)
|
||||
/* 80BC7C84 4B 44 5D 49 */ bl entry__13mDoExt_bckAnmFP12J3DModelDataf
|
||||
lbl_80BC7C88:
|
||||
/* 80BC7C88 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80BC7C8C 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80BC7C90 80 04 5F 70 */ lwz r0, 0x5f70(r4)
|
||||
/* 80BC7C94 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
|
||||
/* 80BC7C98 3B E3 4A C8 */ addi r31, r3, j3dSys@l /* 0x80434AC8@l */
|
||||
/* 80BC7C9C 90 1F 00 48 */ stw r0, 0x48(r31)
|
||||
/* 80BC7CA0 80 04 5F 74 */ lwz r0, 0x5f74(r4)
|
||||
/* 80BC7CA4 90 1F 00 4C */ stw r0, 0x4c(r31)
|
||||
/* 80BC7CA8 80 7E 05 A8 */ lwz r3, 0x5a8(r30)
|
||||
/* 80BC7CAC 4B 44 60 19 */ bl mDoExt_modelUpdateDL__FP8J3DModel
|
||||
/* 80BC7CB0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80BC7CB4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80BC7CB8 80 03 5F 80 */ lwz r0, 0x5f80(r3)
|
||||
/* 80BC7CBC 90 1F 00 48 */ stw r0, 0x48(r31)
|
||||
/* 80BC7CC0 80 03 5F 84 */ lwz r0, 0x5f84(r3)
|
||||
/* 80BC7CC4 90 1F 00 4C */ stw r0, 0x4c(r31)
|
||||
/* 80BC7CC8 38 60 00 01 */ li r3, 1
|
||||
/* 80BC7CCC 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80BC7CD0 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 80BC7CD4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80BC7CD8 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC7CDC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80BC7CE0 4E 80 00 20 */ blr
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
lbl_80BC7424:
|
||||
/* 80BC7424 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80BC7428 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC742C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80BC7430 80 A3 05 A8 */ lwz r5, 0x5a8(r3)
|
||||
/* 80BC7434 38 05 00 24 */ addi r0, r5, 0x24
|
||||
/* 80BC7438 90 04 00 00 */ stw r0, 0(r4)
|
||||
/* 80BC743C 88 03 05 AE */ lbz r0, 0x5ae(r3)
|
||||
/* 80BC7440 2C 00 00 01 */ cmpwi r0, 1
|
||||
/* 80BC7444 41 82 00 1C */ beq lbl_80BC7460
|
||||
/* 80BC7448 40 80 00 1C */ bge lbl_80BC7464
|
||||
/* 80BC744C 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80BC7450 40 80 00 08 */ bge lbl_80BC7458
|
||||
/* 80BC7454 48 00 00 10 */ b lbl_80BC7464
|
||||
lbl_80BC7458:
|
||||
/* 80BC7458 48 00 00 21 */ bl execCdoor__12daObjCdoor_cFv
|
||||
/* 80BC745C 48 00 00 08 */ b lbl_80BC7464
|
||||
lbl_80BC7460:
|
||||
/* 80BC7460 48 00 01 D1 */ bl execWgate__12daObjCdoor_cFv
|
||||
lbl_80BC7464:
|
||||
/* 80BC7464 38 60 00 01 */ li r3, 1
|
||||
/* 80BC7468 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80BC746C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC7470 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80BC7474 4E 80 00 20 */ blr
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
lbl_80BC7234:
|
||||
/* 80BC7234 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80BC7238 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC723C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80BC7240 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80BC7244 7C 7F 1B 79 */ or. r31, r3, r3
|
||||
/* 80BC7248 41 82 00 1C */ beq lbl_80BC7264
|
||||
/* 80BC724C 3C A0 80 BC */ lis r5, __vt__12J3DFrameCtrl@ha /* 0x80BC7EAC@ha */
|
||||
/* 80BC7250 38 05 7E AC */ addi r0, r5, __vt__12J3DFrameCtrl@l /* 0x80BC7EAC@l */
|
||||
/* 80BC7254 90 1F 00 00 */ stw r0, 0(r31)
|
||||
/* 80BC7258 7C 80 07 35 */ extsh. r0, r4
|
||||
/* 80BC725C 40 81 00 08 */ ble lbl_80BC7264
|
||||
/* 80BC7260 4B 70 7A DD */ bl __dl__FPv
|
||||
lbl_80BC7264:
|
||||
/* 80BC7264 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80BC7268 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80BC726C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80BC7270 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC7274 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80BC7278 4E 80 00 20 */ blr
|
||||
|
|
@ -1,60 +0,0 @@
|
|||
lbl_80BC729C:
|
||||
/* 80BC729C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80BC72A0 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC72A4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80BC72A8 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80BC72AC 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80BC72B0 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 80BC72B4 7C 9F 23 78 */ mr r31, r4
|
||||
/* 80BC72B8 41 82 00 A4 */ beq lbl_80BC735C
|
||||
/* 80BC72BC 3C 60 80 BC */ lis r3, __vt__12daObjCdoor_c@ha /* 0x80BC7E80@ha */
|
||||
/* 80BC72C0 38 03 7E 80 */ addi r0, r3, __vt__12daObjCdoor_c@l /* 0x80BC7E80@l */
|
||||
/* 80BC72C4 90 1E 05 9C */ stw r0, 0x59c(r30)
|
||||
/* 80BC72C8 38 7E 05 A0 */ addi r3, r30, 0x5a0
|
||||
/* 80BC72CC 88 1E 05 AE */ lbz r0, 0x5ae(r30)
|
||||
/* 80BC72D0 54 00 10 3A */ slwi r0, r0, 2
|
||||
/* 80BC72D4 3C 80 80 BC */ lis r4, l_arcName@ha /* 0x80BC7D78@ha */
|
||||
/* 80BC72D8 38 84 7D 78 */ addi r4, r4, l_arcName@l /* 0x80BC7D78@l */
|
||||
/* 80BC72DC 7C 84 00 2E */ lwzx r4, r4, r0
|
||||
/* 80BC72E0 4B 46 5D 29 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
|
||||
/* 80BC72E4 34 1E 05 DC */ addic. r0, r30, 0x5dc
|
||||
/* 80BC72E8 41 82 00 20 */ beq lbl_80BC7308
|
||||
/* 80BC72EC 34 1E 05 DC */ addic. r0, r30, 0x5dc
|
||||
/* 80BC72F0 41 82 00 18 */ beq lbl_80BC7308
|
||||
/* 80BC72F4 34 1E 05 DC */ addic. r0, r30, 0x5dc
|
||||
/* 80BC72F8 41 82 00 10 */ beq lbl_80BC7308
|
||||
/* 80BC72FC 3C 60 80 BC */ lis r3, __vt__12J3DFrameCtrl@ha /* 0x80BC7EAC@ha */
|
||||
/* 80BC7300 38 03 7E AC */ addi r0, r3, __vt__12J3DFrameCtrl@l /* 0x80BC7EAC@l */
|
||||
/* 80BC7304 90 1E 05 DC */ stw r0, 0x5dc(r30)
|
||||
lbl_80BC7308:
|
||||
/* 80BC7308 34 1E 05 C0 */ addic. r0, r30, 0x5c0
|
||||
/* 80BC730C 41 82 00 20 */ beq lbl_80BC732C
|
||||
/* 80BC7310 34 1E 05 C0 */ addic. r0, r30, 0x5c0
|
||||
/* 80BC7314 41 82 00 18 */ beq lbl_80BC732C
|
||||
/* 80BC7318 34 1E 05 C0 */ addic. r0, r30, 0x5c0
|
||||
/* 80BC731C 41 82 00 10 */ beq lbl_80BC732C
|
||||
/* 80BC7320 3C 60 80 BC */ lis r3, __vt__12J3DFrameCtrl@ha /* 0x80BC7EAC@ha */
|
||||
/* 80BC7324 38 03 7E AC */ addi r0, r3, __vt__12J3DFrameCtrl@l /* 0x80BC7EAC@l */
|
||||
/* 80BC7328 90 1E 05 C0 */ stw r0, 0x5c0(r30)
|
||||
lbl_80BC732C:
|
||||
/* 80BC732C 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 80BC7330 41 82 00 1C */ beq lbl_80BC734C
|
||||
/* 80BC7334 3C 60 80 3B */ lis r3, __vt__16dBgS_MoveBgActor@ha /* 0x803AB9A0@ha */
|
||||
/* 80BC7338 38 03 B9 A0 */ addi r0, r3, __vt__16dBgS_MoveBgActor@l /* 0x803AB9A0@l */
|
||||
/* 80BC733C 90 1E 05 9C */ stw r0, 0x59c(r30)
|
||||
/* 80BC7340 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80BC7344 38 80 00 00 */ li r4, 0
|
||||
/* 80BC7348 4B 45 19 45 */ bl __dt__10fopAc_ac_cFv
|
||||
lbl_80BC734C:
|
||||
/* 80BC734C 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 80BC7350 40 81 00 0C */ ble lbl_80BC735C
|
||||
/* 80BC7354 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80BC7358 4B 70 79 E5 */ bl __dl__FPv
|
||||
lbl_80BC735C:
|
||||
/* 80BC735C 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80BC7360 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80BC7364 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 80BC7368 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80BC736C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC7370 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80BC7374 4E 80 00 20 */ blr
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
lbl_80BC7BF8:
|
||||
/* 80BC7BF8 38 00 00 00 */ li r0, 0
|
||||
/* 80BC7BFC 98 03 05 B7 */ stb r0, 0x5b7(r3)
|
||||
/* 80BC7C00 4E 80 00 20 */ blr
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
lbl_80BC7B9C:
|
||||
/* 80BC7B9C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80BC7BA0 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC7BA4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80BC7BA8 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80BC7BAC 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80BC7BB0 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80BC7BB4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80BC7BB8 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80BC7BBC 38 7F 4F F8 */ addi r3, r31, 0x4ff8
|
||||
/* 80BC7BC0 A8 9E 05 B4 */ lha r4, 0x5b4(r30)
|
||||
/* 80BC7BC4 4B 47 FE B5 */ bl endCheck__16dEvent_manager_cFs
|
||||
/* 80BC7BC8 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80BC7BCC 41 82 00 14 */ beq lbl_80BC7BE0
|
||||
/* 80BC7BD0 38 00 00 03 */ li r0, 3
|
||||
/* 80BC7BD4 98 1E 05 B7 */ stb r0, 0x5b7(r30)
|
||||
/* 80BC7BD8 38 7F 4E C8 */ addi r3, r31, 0x4ec8
|
||||
/* 80BC7BDC 4B 47 A8 8D */ bl reset__14dEvt_control_cFv
|
||||
lbl_80BC7BE0:
|
||||
/* 80BC7BE0 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80BC7BE4 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 80BC7BE8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80BC7BEC 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC7BF0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80BC7BF4 4E 80 00 20 */ blr
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
lbl_80BC7B34:
|
||||
/* 80BC7B34 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80BC7B38 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC7B3C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80BC7B40 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80BC7B44 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80BC7B48 A0 03 00 F8 */ lhz r0, 0xf8(r3)
|
||||
/* 80BC7B4C 28 00 00 02 */ cmplwi r0, 2
|
||||
/* 80BC7B50 40 82 00 10 */ bne lbl_80BC7B60
|
||||
/* 80BC7B54 38 00 00 02 */ li r0, 2
|
||||
/* 80BC7B58 98 1F 05 B7 */ stb r0, 0x5b7(r31)
|
||||
/* 80BC7B5C 48 00 00 2C */ b lbl_80BC7B88
|
||||
lbl_80BC7B60:
|
||||
/* 80BC7B60 A8 9F 05 B4 */ lha r4, 0x5b4(r31)
|
||||
/* 80BC7B64 88 BF 05 B6 */ lbz r5, 0x5b6(r31)
|
||||
/* 80BC7B68 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */
|
||||
/* 80BC7B6C 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */
|
||||
/* 80BC7B70 38 E0 00 00 */ li r7, 0
|
||||
/* 80BC7B74 39 00 00 01 */ li r8, 1
|
||||
/* 80BC7B78 4B 45 3B 05 */ bl fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs
|
||||
/* 80BC7B7C A0 1F 00 FA */ lhz r0, 0xfa(r31)
|
||||
/* 80BC7B80 60 00 00 02 */ ori r0, r0, 2
|
||||
/* 80BC7B84 B0 1F 00 FA */ sth r0, 0xfa(r31)
|
||||
lbl_80BC7B88:
|
||||
/* 80BC7B88 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80BC7B8C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80BC7B90 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC7B94 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80BC7B98 4E 80 00 20 */ blr
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
lbl_80BC7AD0:
|
||||
/* 80BC7AD0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80BC7AD4 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC7AD8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80BC7ADC 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80BC7AE0 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80BC7AE4 88 03 05 B6 */ lbz r0, 0x5b6(r3)
|
||||
/* 80BC7AE8 28 00 00 FF */ cmplwi r0, 0xff
|
||||
/* 80BC7AEC 41 82 00 34 */ beq lbl_80BC7B20
|
||||
/* 80BC7AF0 38 00 00 01 */ li r0, 1
|
||||
/* 80BC7AF4 98 1F 05 B7 */ stb r0, 0x5b7(r31)
|
||||
/* 80BC7AF8 A8 9F 05 B4 */ lha r4, 0x5b4(r31)
|
||||
/* 80BC7AFC 88 BF 05 B6 */ lbz r5, 0x5b6(r31)
|
||||
/* 80BC7B00 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */
|
||||
/* 80BC7B04 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */
|
||||
/* 80BC7B08 38 E0 00 00 */ li r7, 0
|
||||
/* 80BC7B0C 39 00 00 01 */ li r8, 1
|
||||
/* 80BC7B10 4B 45 3B 6D */ bl fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs
|
||||
/* 80BC7B14 A0 1F 00 FA */ lhz r0, 0xfa(r31)
|
||||
/* 80BC7B18 60 00 00 02 */ ori r0, r0, 2
|
||||
/* 80BC7B1C B0 1F 00 FA */ sth r0, 0xfa(r31)
|
||||
lbl_80BC7B20:
|
||||
/* 80BC7B20 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80BC7B24 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80BC7B28 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC7B2C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80BC7B30 4E 80 00 20 */ blr
|
||||
|
|
@ -1,205 +0,0 @@
|
|||
lbl_80BC6F30:
|
||||
/* 80BC6F30 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80BC6F34 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC6F38 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80BC6F3C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80BC6F40 4B 79 B2 9D */ bl _savegpr_29
|
||||
/* 80BC6F44 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80BC6F48 80 03 04 A0 */ lwz r0, 0x4a0(r3)
|
||||
/* 80BC6F4C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
|
||||
/* 80BC6F50 40 82 00 74 */ bne lbl_80BC6FC4
|
||||
/* 80BC6F54 7F C0 F3 79 */ or. r0, r30, r30
|
||||
/* 80BC6F58 41 82 00 60 */ beq lbl_80BC6FB8
|
||||
/* 80BC6F5C 7C 1F 03 78 */ mr r31, r0
|
||||
/* 80BC6F60 4B 4B 16 C5 */ bl __ct__16dBgS_MoveBgActorFv
|
||||
/* 80BC6F64 3C 60 80 BC */ lis r3, __vt__12daObjCdoor_c@ha /* 0x80BC7E80@ha */
|
||||
/* 80BC6F68 38 03 7E 80 */ addi r0, r3, __vt__12daObjCdoor_c@l /* 0x80BC7E80@l */
|
||||
/* 80BC6F6C 90 1F 05 9C */ stw r0, 0x59c(r31)
|
||||
/* 80BC6F70 3B BF 05 C0 */ addi r29, r31, 0x5c0
|
||||
/* 80BC6F74 3C 60 80 BC */ lis r3, __vt__12J3DFrameCtrl@ha /* 0x80BC7EAC@ha */
|
||||
/* 80BC6F78 38 03 7E AC */ addi r0, r3, __vt__12J3DFrameCtrl@l /* 0x80BC7EAC@l */
|
||||
/* 80BC6F7C 90 1F 05 C0 */ stw r0, 0x5c0(r31)
|
||||
/* 80BC6F80 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80BC6F84 38 80 00 00 */ li r4, 0
|
||||
/* 80BC6F88 4B 76 14 75 */ bl init__12J3DFrameCtrlFs
|
||||
/* 80BC6F8C 38 00 00 00 */ li r0, 0
|
||||
/* 80BC6F90 90 1D 00 18 */ stw r0, 0x18(r29)
|
||||
/* 80BC6F94 3B BF 05 DC */ addi r29, r31, 0x5dc
|
||||
/* 80BC6F98 3C 60 80 BC */ lis r3, __vt__12J3DFrameCtrl@ha /* 0x80BC7EAC@ha */
|
||||
/* 80BC6F9C 38 03 7E AC */ addi r0, r3, __vt__12J3DFrameCtrl@l /* 0x80BC7EAC@l */
|
||||
/* 80BC6FA0 90 1F 05 DC */ stw r0, 0x5dc(r31)
|
||||
/* 80BC6FA4 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80BC6FA8 38 80 00 00 */ li r4, 0
|
||||
/* 80BC6FAC 4B 76 14 51 */ bl init__12J3DFrameCtrlFs
|
||||
/* 80BC6FB0 38 00 00 00 */ li r0, 0
|
||||
/* 80BC6FB4 90 1D 00 18 */ stw r0, 0x18(r29)
|
||||
lbl_80BC6FB8:
|
||||
/* 80BC6FB8 80 1E 04 A0 */ lwz r0, 0x4a0(r30)
|
||||
/* 80BC6FBC 60 00 00 08 */ ori r0, r0, 8
|
||||
/* 80BC6FC0 90 1E 04 A0 */ stw r0, 0x4a0(r30)
|
||||
lbl_80BC6FC4:
|
||||
/* 80BC6FC4 80 1E 00 B0 */ lwz r0, 0xb0(r30)
|
||||
/* 80BC6FC8 54 00 C7 3E */ rlwinm r0, r0, 0x18, 0x1c, 0x1f
|
||||
/* 80BC6FCC 98 1E 05 AE */ stb r0, 0x5ae(r30)
|
||||
/* 80BC6FD0 38 7E 05 A0 */ addi r3, r30, 0x5a0
|
||||
/* 80BC6FD4 88 1E 05 AE */ lbz r0, 0x5ae(r30)
|
||||
/* 80BC6FD8 54 00 10 3A */ slwi r0, r0, 2
|
||||
/* 80BC6FDC 3C 80 80 BC */ lis r4, l_arcName@ha /* 0x80BC7D78@ha */
|
||||
/* 80BC6FE0 38 84 7D 78 */ addi r4, r4, l_arcName@l /* 0x80BC7D78@l */
|
||||
/* 80BC6FE4 7C 84 00 2E */ lwzx r4, r4, r0
|
||||
/* 80BC6FE8 4B 46 5E D5 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc
|
||||
/* 80BC6FEC 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80BC6FF0 2C 1F 00 04 */ cmpwi r31, 4
|
||||
/* 80BC6FF4 40 82 02 24 */ bne lbl_80BC7218
|
||||
/* 80BC6FF8 88 1E 05 AE */ lbz r0, 0x5ae(r30)
|
||||
/* 80BC6FFC 54 00 10 3A */ slwi r0, r0, 2
|
||||
/* 80BC7000 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80BC7004 3C 80 80 BC */ lis r4, l_arcName@ha /* 0x80BC7D78@ha */
|
||||
/* 80BC7008 38 84 7D 78 */ addi r4, r4, l_arcName@l /* 0x80BC7D78@l */
|
||||
/* 80BC700C 7C 84 00 2E */ lwzx r4, r4, r0
|
||||
/* 80BC7010 3C A0 80 BC */ lis r5, l_dzbIdx@ha /* 0x80BC7D20@ha */
|
||||
/* 80BC7014 38 A5 7D 20 */ addi r5, r5, l_dzbIdx@l /* 0x80BC7D20@l */
|
||||
/* 80BC7018 7C A5 00 2E */ lwzx r5, r5, r0
|
||||
/* 80BC701C 38 C0 00 00 */ li r6, 0
|
||||
/* 80BC7020 38 E0 0C 00 */ li r7, 0xc00
|
||||
/* 80BC7024 39 00 00 00 */ li r8, 0
|
||||
/* 80BC7028 4B 4B 17 95 */ bl MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f
|
||||
/* 80BC702C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80BC7030 2C 1F 00 05 */ cmpwi r31, 5
|
||||
/* 80BC7034 40 82 00 0C */ bne lbl_80BC7040
|
||||
/* 80BC7038 38 60 00 05 */ li r3, 5
|
||||
/* 80BC703C 48 00 01 E0 */ b lbl_80BC721C
|
||||
lbl_80BC7040:
|
||||
/* 80BC7040 80 7E 05 A8 */ lwz r3, 0x5a8(r30)
|
||||
/* 80BC7044 38 03 00 24 */ addi r0, r3, 0x24
|
||||
/* 80BC7048 90 1E 05 04 */ stw r0, 0x504(r30)
|
||||
/* 80BC704C 3C 60 80 45 */ lis r3, mStayNo__20dStage_roomControl_c+0x0@ha /* 0x80450D64@ha */
|
||||
/* 80BC7050 88 03 0D 64 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0@l(r3) /* 0x80450D64@l */
|
||||
/* 80BC7054 98 1E 04 8C */ stb r0, 0x48c(r30)
|
||||
/* 80BC7058 80 7E 05 A8 */ lwz r3, 0x5a8(r30)
|
||||
/* 80BC705C 80 83 00 04 */ lwz r4, 4(r3)
|
||||
/* 80BC7060 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80BC7064 4B 45 35 15 */ bl fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData
|
||||
/* 80BC7068 80 1E 00 B0 */ lwz r0, 0xb0(r30)
|
||||
/* 80BC706C 54 00 06 3E */ clrlwi r0, r0, 0x18
|
||||
/* 80BC7070 90 1E 05 BC */ stw r0, 0x5bc(r30)
|
||||
/* 80BC7074 38 00 FF FF */ li r0, -1
|
||||
/* 80BC7078 90 1E 05 B8 */ stw r0, 0x5b8(r30)
|
||||
/* 80BC707C 38 00 00 00 */ li r0, 0
|
||||
/* 80BC7080 98 1E 05 AC */ stb r0, 0x5ac(r30)
|
||||
/* 80BC7084 88 1E 05 AE */ lbz r0, 0x5ae(r30)
|
||||
/* 80BC7088 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 80BC708C 40 82 00 E0 */ bne lbl_80BC716C
|
||||
/* 80BC7090 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80BC7094 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80BC7098 80 9E 05 BC */ lwz r4, 0x5bc(r30)
|
||||
/* 80BC709C 88 1E 04 BA */ lbz r0, 0x4ba(r30)
|
||||
/* 80BC70A0 7C 05 07 74 */ extsb r5, r0
|
||||
/* 80BC70A4 4B 46 E2 BD */ bl isSwitch__10dSv_info_cCFii
|
||||
/* 80BC70A8 98 7E 05 B0 */ stb r3, 0x5b0(r30)
|
||||
/* 80BC70AC 80 1E 00 B0 */ lwz r0, 0xb0(r30)
|
||||
/* 80BC70B0 54 00 A6 3E */ rlwinm r0, r0, 0x14, 0x18, 0x1f
|
||||
/* 80BC70B4 98 1E 05 B6 */ stb r0, 0x5b6(r30)
|
||||
/* 80BC70B8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80BC70BC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80BC70C0 38 63 4F F8 */ addi r3, r3, 0x4ff8
|
||||
/* 80BC70C4 7F C4 F3 78 */ mr r4, r30
|
||||
/* 80BC70C8 88 BE 05 B6 */ lbz r5, 0x5b6(r30)
|
||||
/* 80BC70CC 4B 48 05 CD */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc
|
||||
/* 80BC70D0 B0 7E 05 B4 */ sth r3, 0x5b4(r30)
|
||||
/* 80BC70D4 38 00 00 00 */ li r0, 0
|
||||
/* 80BC70D8 98 1E 05 B7 */ stb r0, 0x5b7(r30)
|
||||
/* 80BC70DC 88 1E 05 B6 */ lbz r0, 0x5b6(r30)
|
||||
/* 80BC70E0 28 00 00 FF */ cmplwi r0, 0xff
|
||||
/* 80BC70E4 40 82 00 0C */ bne lbl_80BC70F0
|
||||
/* 80BC70E8 38 00 00 03 */ li r0, 3
|
||||
/* 80BC70EC 98 1E 05 B7 */ stb r0, 0x5b7(r30)
|
||||
lbl_80BC70F0:
|
||||
/* 80BC70F0 88 1E 05 B0 */ lbz r0, 0x5b0(r30)
|
||||
/* 80BC70F4 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80BC70F8 41 82 00 38 */ beq lbl_80BC7130
|
||||
/* 80BC70FC A8 1E 05 C8 */ lha r0, 0x5c8(r30)
|
||||
/* 80BC7100 3C 60 80 BC */ lis r3, lit_3909@ha /* 0x80BC7D38@ha */
|
||||
/* 80BC7104 C8 23 7D 38 */ lfd f1, lit_3909@l(r3) /* 0x80BC7D38@l */
|
||||
/* 80BC7108 6C 00 80 00 */ xoris r0, r0, 0x8000
|
||||
/* 80BC710C 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 80BC7110 3C 00 43 30 */ lis r0, 0x4330
|
||||
/* 80BC7114 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 80BC7118 C8 01 00 08 */ lfd f0, 8(r1)
|
||||
/* 80BC711C EC 00 08 28 */ fsubs f0, f0, f1
|
||||
/* 80BC7120 D0 1E 05 D0 */ stfs f0, 0x5d0(r30)
|
||||
/* 80BC7124 38 7E 05 C0 */ addi r3, r30, 0x5c0
|
||||
/* 80BC7128 4B 44 63 01 */ bl play__14mDoExt_baseAnmFv
|
||||
/* 80BC712C 48 00 00 34 */ b lbl_80BC7160
|
||||
lbl_80BC7130:
|
||||
/* 80BC7130 A8 1E 05 C8 */ lha r0, 0x5c8(r30)
|
||||
/* 80BC7134 3C 60 80 BC */ lis r3, lit_3909@ha /* 0x80BC7D38@ha */
|
||||
/* 80BC7138 C8 23 7D 38 */ lfd f1, lit_3909@l(r3) /* 0x80BC7D38@l */
|
||||
/* 80BC713C 6C 00 80 00 */ xoris r0, r0, 0x8000
|
||||
/* 80BC7140 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 80BC7144 3C 00 43 30 */ lis r0, 0x4330
|
||||
/* 80BC7148 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 80BC714C C8 01 00 08 */ lfd f0, 8(r1)
|
||||
/* 80BC7150 EC 00 08 28 */ fsubs f0, f0, f1
|
||||
/* 80BC7154 D0 1E 05 EC */ stfs f0, 0x5ec(r30)
|
||||
/* 80BC7158 38 7E 05 DC */ addi r3, r30, 0x5dc
|
||||
/* 80BC715C 4B 44 62 CD */ bl play__14mDoExt_baseAnmFv
|
||||
lbl_80BC7160:
|
||||
/* 80BC7160 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80BC7164 48 00 05 F9 */ bl init_modeWait__12daObjCdoor_cFv
|
||||
/* 80BC7168 48 00 00 60 */ b lbl_80BC71C8
|
||||
lbl_80BC716C:
|
||||
/* 80BC716C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80BC7170 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80BC7174 80 9E 05 BC */ lwz r4, 0x5bc(r30)
|
||||
/* 80BC7178 88 1E 04 BA */ lbz r0, 0x4ba(r30)
|
||||
/* 80BC717C 7C 05 07 74 */ extsb r5, r0
|
||||
/* 80BC7180 4B 46 E1 E1 */ bl isSwitch__10dSv_info_cCFii
|
||||
/* 80BC7184 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80BC7188 41 82 00 30 */ beq lbl_80BC71B8
|
||||
/* 80BC718C 38 00 00 01 */ li r0, 1
|
||||
/* 80BC7190 98 1E 05 AC */ stb r0, 0x5ac(r30)
|
||||
/* 80BC7194 C0 3E 04 D4 */ lfs f1, 0x4d4(r30)
|
||||
/* 80BC7198 88 1E 05 AE */ lbz r0, 0x5ae(r30)
|
||||
/* 80BC719C 54 00 10 3A */ slwi r0, r0, 2
|
||||
/* 80BC71A0 3C 60 80 BC */ lis r3, l_moveOffsetY@ha /* 0x80BC7D80@ha */
|
||||
/* 80BC71A4 38 63 7D 80 */ addi r3, r3, l_moveOffsetY@l /* 0x80BC7D80@l */
|
||||
/* 80BC71A8 7C 03 04 2E */ lfsx f0, r3, r0
|
||||
/* 80BC71AC EC 01 00 2A */ fadds f0, f1, f0
|
||||
/* 80BC71B0 D0 1E 04 D4 */ stfs f0, 0x4d4(r30)
|
||||
/* 80BC71B4 48 00 00 14 */ b lbl_80BC71C8
|
||||
lbl_80BC71B8:
|
||||
/* 80BC71B8 3C 60 80 BC */ lis r3, daObjCdoor_searchChain__FP10fopAc_ac_cPv@ha /* 0x80BC6EF0@ha */
|
||||
/* 80BC71BC 38 63 6E F0 */ addi r3, r3, daObjCdoor_searchChain__FP10fopAc_ac_cPv@l /* 0x80BC6EF0@l */
|
||||
/* 80BC71C0 7F C4 F3 78 */ mr r4, r30
|
||||
/* 80BC71C4 4B 45 26 35 */ bl fopAcIt_Judge__FPFPvPv_PvPv
|
||||
lbl_80BC71C8:
|
||||
/* 80BC71C8 C0 5E 04 D8 */ lfs f2, 0x4d8(r30)
|
||||
/* 80BC71CC C0 3E 04 D4 */ lfs f1, 0x4d4(r30)
|
||||
/* 80BC71D0 88 1E 05 AE */ lbz r0, 0x5ae(r30)
|
||||
/* 80BC71D4 54 00 10 3A */ slwi r0, r0, 2
|
||||
/* 80BC71D8 3C 60 80 BC */ lis r3, l_attentionOffsetY@ha /* 0x80BC7D28@ha */
|
||||
/* 80BC71DC 38 63 7D 28 */ addi r3, r3, l_attentionOffsetY@l /* 0x80BC7D28@l */
|
||||
/* 80BC71E0 7C 03 04 2E */ lfsx f0, r3, r0
|
||||
/* 80BC71E4 EC 21 00 2A */ fadds f1, f1, f0
|
||||
/* 80BC71E8 C0 1E 04 D0 */ lfs f0, 0x4d0(r30)
|
||||
/* 80BC71EC D0 1E 05 50 */ stfs f0, 0x550(r30)
|
||||
/* 80BC71F0 D0 3E 05 54 */ stfs f1, 0x554(r30)
|
||||
/* 80BC71F4 D0 5E 05 58 */ stfs f2, 0x558(r30)
|
||||
/* 80BC71F8 C0 1E 05 50 */ lfs f0, 0x550(r30)
|
||||
/* 80BC71FC D0 1E 05 38 */ stfs f0, 0x538(r30)
|
||||
/* 80BC7200 C0 1E 05 54 */ lfs f0, 0x554(r30)
|
||||
/* 80BC7204 D0 1E 05 3C */ stfs f0, 0x53c(r30)
|
||||
/* 80BC7208 C0 1E 05 58 */ lfs f0, 0x558(r30)
|
||||
/* 80BC720C D0 1E 05 40 */ stfs f0, 0x540(r30)
|
||||
/* 80BC7210 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80BC7214 48 00 01 AD */ bl setMatrix__12daObjCdoor_cFv
|
||||
lbl_80BC7218:
|
||||
/* 80BC7218 7F E3 FB 78 */ mr r3, r31
|
||||
lbl_80BC721C:
|
||||
/* 80BC721C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80BC7220 4B 79 B0 09 */ bl _restgpr_29
|
||||
/* 80BC7224 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80BC7228 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC722C 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80BC7230 4E 80 00 20 */ blr
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
lbl_80BC727C:
|
||||
/* 80BC727C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80BC7280 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC7284 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80BC7288 4B FF FC A9 */ bl create__12daObjCdoor_cFv
|
||||
/* 80BC728C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80BC7290 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC7294 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80BC7298 4E 80 00 20 */ blr
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
lbl_80BC7378:
|
||||
/* 80BC7378 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80BC737C 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC7380 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80BC7384 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80BC7388 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80BC738C 4B 4B 15 51 */ bl MoveBGDelete__16dBgS_MoveBgActorFv
|
||||
/* 80BC7390 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80BC7394 38 80 FF FF */ li r4, -1
|
||||
/* 80BC7398 81 9F 05 9C */ lwz r12, 0x59c(r31)
|
||||
/* 80BC739C 81 8C 00 28 */ lwz r12, 0x28(r12)
|
||||
/* 80BC73A0 7D 89 03 A6 */ mtctr r12
|
||||
/* 80BC73A4 4E 80 04 21 */ bctrl
|
||||
/* 80BC73A8 38 60 00 01 */ li r3, 1
|
||||
/* 80BC73AC 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80BC73B0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80BC73B4 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC73B8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80BC73BC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
lbl_80BC7CE4:
|
||||
/* 80BC7CE4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80BC7CE8 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC7CEC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80BC7CF0 81 83 05 9C */ lwz r12, 0x59c(r3)
|
||||
/* 80BC7CF4 81 8C 00 14 */ lwz r12, 0x14(r12)
|
||||
/* 80BC7CF8 7D 89 03 A6 */ mtctr r12
|
||||
/* 80BC7CFC 4E 80 04 21 */ bctrl
|
||||
/* 80BC7D00 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80BC7D04 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC7D08 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80BC7D0C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
lbl_80BC79F4:
|
||||
/* 80BC79F4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80BC79F8 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC79FC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80BC7A00 4B 4B 0F 51 */ bl MoveBGExecute__16dBgS_MoveBgActorFv
|
||||
/* 80BC7A04 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80BC7A08 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC7A0C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80BC7A10 4E 80 00 20 */ blr
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
lbl_80BC6EF0:
|
||||
/* 80BC6EF0 A8 03 00 08 */ lha r0, 8(r3)
|
||||
/* 80BC6EF4 2C 00 01 59 */ cmpwi r0, 0x159
|
||||
/* 80BC6EF8 40 82 00 30 */ bne lbl_80BC6F28
|
||||
/* 80BC6EFC 88 A3 07 78 */ lbz r5, 0x778(r3)
|
||||
/* 80BC6F00 80 04 05 BC */ lwz r0, 0x5bc(r4)
|
||||
/* 80BC6F04 7C 05 00 00 */ cmpw r5, r0
|
||||
/* 80BC6F08 40 82 00 20 */ bne lbl_80BC6F28
|
||||
/* 80BC6F0C 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80BC6F10 41 82 00 0C */ beq lbl_80BC6F1C
|
||||
/* 80BC6F14 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 80BC6F18 48 00 00 08 */ b lbl_80BC6F20
|
||||
lbl_80BC6F1C:
|
||||
/* 80BC6F1C 38 00 FF FF */ li r0, -1
|
||||
lbl_80BC6F20:
|
||||
/* 80BC6F20 90 04 05 B8 */ stw r0, 0x5b8(r4)
|
||||
/* 80BC6F24 4E 80 00 20 */ blr
|
||||
lbl_80BC6F28:
|
||||
/* 80BC6F28 38 60 00 00 */ li r3, 0
|
||||
/* 80BC6F2C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
lbl_80BC7A14:
|
||||
/* 80BC7A14 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80BC7A18 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC7A1C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80BC7A20 3C 80 80 BC */ lis r4, cNullVec__6Z2Calc@ha /* 0x80BC7D58@ha */
|
||||
/* 80BC7A24 38 E4 7D 58 */ addi r7, r4, cNullVec__6Z2Calc@l /* 0x80BC7D58@l */
|
||||
/* 80BC7A28 3C 80 80 BC */ lis r4, struct_80BC7EB8+0x1@ha /* 0x80BC7EB9@ha */
|
||||
/* 80BC7A2C 38 C4 7E B9 */ addi r6, r4, struct_80BC7EB8+0x1@l /* 0x80BC7EB9@l */
|
||||
/* 80BC7A30 88 06 00 00 */ lbz r0, 0(r6)
|
||||
/* 80BC7A34 7C 00 07 75 */ extsb. r0, r0
|
||||
/* 80BC7A38 40 82 00 70 */ bne lbl_80BC7AA8
|
||||
/* 80BC7A3C 80 87 00 78 */ lwz r4, 0x78(r7)
|
||||
/* 80BC7A40 80 07 00 7C */ lwz r0, 0x7c(r7)
|
||||
/* 80BC7A44 90 87 00 A8 */ stw r4, 0xa8(r7)
|
||||
/* 80BC7A48 90 07 00 AC */ stw r0, 0xac(r7)
|
||||
/* 80BC7A4C 80 07 00 80 */ lwz r0, 0x80(r7)
|
||||
/* 80BC7A50 90 07 00 B0 */ stw r0, 0xb0(r7)
|
||||
/* 80BC7A54 38 A7 00 A8 */ addi r5, r7, 0xa8
|
||||
/* 80BC7A58 80 87 00 84 */ lwz r4, 0x84(r7)
|
||||
/* 80BC7A5C 80 07 00 88 */ lwz r0, 0x88(r7)
|
||||
/* 80BC7A60 90 85 00 0C */ stw r4, 0xc(r5)
|
||||
/* 80BC7A64 90 05 00 10 */ stw r0, 0x10(r5)
|
||||
/* 80BC7A68 80 07 00 8C */ lwz r0, 0x8c(r7)
|
||||
/* 80BC7A6C 90 05 00 14 */ stw r0, 0x14(r5)
|
||||
/* 80BC7A70 80 87 00 90 */ lwz r4, 0x90(r7)
|
||||
/* 80BC7A74 80 07 00 94 */ lwz r0, 0x94(r7)
|
||||
/* 80BC7A78 90 85 00 18 */ stw r4, 0x18(r5)
|
||||
/* 80BC7A7C 90 05 00 1C */ stw r0, 0x1c(r5)
|
||||
/* 80BC7A80 80 07 00 98 */ lwz r0, 0x98(r7)
|
||||
/* 80BC7A84 90 05 00 20 */ stw r0, 0x20(r5)
|
||||
/* 80BC7A88 80 87 00 9C */ lwz r4, 0x9c(r7)
|
||||
/* 80BC7A8C 80 07 00 A0 */ lwz r0, 0xa0(r7)
|
||||
/* 80BC7A90 90 85 00 24 */ stw r4, 0x24(r5)
|
||||
/* 80BC7A94 90 05 00 28 */ stw r0, 0x28(r5)
|
||||
/* 80BC7A98 80 07 00 A4 */ lwz r0, 0xa4(r7)
|
||||
/* 80BC7A9C 90 05 00 2C */ stw r0, 0x2c(r5)
|
||||
/* 80BC7AA0 38 00 00 01 */ li r0, 1
|
||||
/* 80BC7AA4 98 06 00 00 */ stb r0, 0(r6)
|
||||
lbl_80BC7AA8:
|
||||
/* 80BC7AA8 88 03 05 B7 */ lbz r0, 0x5b7(r3)
|
||||
/* 80BC7AAC 1C 00 00 0C */ mulli r0, r0, 0xc
|
||||
/* 80BC7AB0 39 87 00 A8 */ addi r12, r7, 0xa8
|
||||
/* 80BC7AB4 7D 8C 02 14 */ add r12, r12, r0
|
||||
/* 80BC7AB8 4B 79 A5 CD */ bl __ptmf_scall
|
||||
/* 80BC7ABC 60 00 00 00 */ nop
|
||||
/* 80BC7AC0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80BC7AC4 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC7AC8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80BC7ACC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,117 +0,0 @@
|
|||
lbl_80BC7478:
|
||||
/* 80BC7478 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80BC747C 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC7480 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80BC7484 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 80BC7488 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 80BC748C 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80BC7490 3C 60 80 BC */ lis r3, l_bmdIdx@ha /* 0x80BC7D18@ha */
|
||||
/* 80BC7494 3B E3 7D 18 */ addi r31, r3, l_bmdIdx@l /* 0x80BC7D18@l */
|
||||
/* 80BC7498 88 1E 05 AC */ lbz r0, 0x5ac(r30)
|
||||
/* 80BC749C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80BC74A0 40 82 01 78 */ bne lbl_80BC7618
|
||||
/* 80BC74A4 80 7E 05 B8 */ lwz r3, 0x5b8(r30)
|
||||
/* 80BC74A8 3C 03 00 01 */ addis r0, r3, 1
|
||||
/* 80BC74AC 28 00 FF FF */ cmplwi r0, 0xffff
|
||||
/* 80BC74B0 40 82 00 14 */ bne lbl_80BC74C4
|
||||
/* 80BC74B4 3C 60 80 BC */ lis r3, daObjCdoor_searchChain__FP10fopAc_ac_cPv@ha /* 0x80BC6EF0@ha */
|
||||
/* 80BC74B8 38 63 6E F0 */ addi r3, r3, daObjCdoor_searchChain__FP10fopAc_ac_cPv@l /* 0x80BC6EF0@l */
|
||||
/* 80BC74BC 7F C4 F3 78 */ mr r4, r30
|
||||
/* 80BC74C0 4B 45 23 39 */ bl fopAcIt_Judge__FPFPvPv_PvPv
|
||||
lbl_80BC74C4:
|
||||
/* 80BC74C4 80 7E 05 B8 */ lwz r3, 0x5b8(r30)
|
||||
/* 80BC74C8 3C 03 00 01 */ addis r0, r3, 1
|
||||
/* 80BC74CC 28 00 FF FF */ cmplwi r0, 0xffff
|
||||
/* 80BC74D0 41 82 01 48 */ beq lbl_80BC7618
|
||||
/* 80BC74D4 90 61 00 0C */ stw r3, 0xc(r1)
|
||||
/* 80BC74D8 3C 60 80 02 */ lis r3, fpcSch_JudgeByID__FPvPv@ha /* 0x80023590@ha */
|
||||
/* 80BC74DC 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID__FPvPv@l /* 0x80023590@l */
|
||||
/* 80BC74E0 38 81 00 0C */ addi r4, r1, 0xc
|
||||
/* 80BC74E4 4B 45 23 15 */ bl fopAcIt_Judge__FPFPvPv_PvPv
|
||||
/* 80BC74E8 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80BC74EC 41 82 01 2C */ beq lbl_80BC7618
|
||||
/* 80BC74F0 88 03 07 76 */ lbz r0, 0x776(r3)
|
||||
/* 80BC74F4 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80BC74F8 41 82 00 A4 */ beq lbl_80BC759C
|
||||
/* 80BC74FC 38 00 FF FF */ li r0, -1
|
||||
/* 80BC7500 90 1E 05 B8 */ stw r0, 0x5b8(r30)
|
||||
/* 80BC7504 38 00 00 01 */ li r0, 1
|
||||
/* 80BC7508 98 1E 05 AC */ stb r0, 0x5ac(r30)
|
||||
/* 80BC750C C0 3E 04 AC */ lfs f1, 0x4ac(r30)
|
||||
/* 80BC7510 88 1E 05 AE */ lbz r0, 0x5ae(r30)
|
||||
/* 80BC7514 54 00 10 3A */ slwi r0, r0, 2
|
||||
/* 80BC7518 3C 60 80 BC */ lis r3, l_moveOffsetY@ha /* 0x80BC7D80@ha */
|
||||
/* 80BC751C 38 63 7D 80 */ addi r3, r3, l_moveOffsetY@l /* 0x80BC7D80@l */
|
||||
/* 80BC7520 7C 03 04 2E */ lfsx f0, r3, r0
|
||||
/* 80BC7524 EC 01 00 2A */ fadds f0, f1, f0
|
||||
/* 80BC7528 D0 1E 04 D4 */ stfs f0, 0x4d4(r30)
|
||||
/* 80BC752C 88 1E 05 AD */ lbz r0, 0x5ad(r30)
|
||||
/* 80BC7530 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80BC7534 41 82 00 18 */ beq lbl_80BC754C
|
||||
/* 80BC7538 4B 5B A1 09 */ bl dCam_getBody__Fv
|
||||
/* 80BC753C 7F C4 F3 78 */ mr r4, r30
|
||||
/* 80BC7540 4B 5B A0 5D */ bl ForceLockOff__9dCamera_cFP10fopAc_ac_c
|
||||
/* 80BC7544 38 00 00 00 */ li r0, 0
|
||||
/* 80BC7548 98 1E 05 AD */ stb r0, 0x5ad(r30)
|
||||
lbl_80BC754C:
|
||||
/* 80BC754C 88 1E 04 E2 */ lbz r0, 0x4e2(r30)
|
||||
/* 80BC7550 7C 03 07 74 */ extsb r3, r0
|
||||
/* 80BC7554 4B 46 5B 19 */ bl dComIfGp_getReverb__Fi
|
||||
/* 80BC7558 7C 67 1B 78 */ mr r7, r3
|
||||
/* 80BC755C 3C 60 00 08 */ lis r3, 0x0008 /* 0x0008009A@ha */
|
||||
/* 80BC7560 38 03 00 9A */ addi r0, r3, 0x009A /* 0x0008009A@l */
|
||||
/* 80BC7564 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 80BC7568 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
|
||||
/* 80BC756C 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
|
||||
/* 80BC7570 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 80BC7574 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80BC7578 38 BE 04 D0 */ addi r5, r30, 0x4d0
|
||||
/* 80BC757C 38 C0 00 00 */ li r6, 0
|
||||
/* 80BC7580 C0 3F 00 18 */ lfs f1, 0x18(r31)
|
||||
/* 80BC7584 FC 40 08 90 */ fmr f2, f1
|
||||
/* 80BC7588 C0 7F 00 28 */ lfs f3, 0x28(r31)
|
||||
/* 80BC758C FC 80 18 90 */ fmr f4, f3
|
||||
/* 80BC7590 39 00 00 00 */ li r8, 0
|
||||
/* 80BC7594 4B 6E 43 F1 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
|
||||
/* 80BC7598 48 00 00 78 */ b lbl_80BC7610
|
||||
lbl_80BC759C:
|
||||
/* 80BC759C C0 7E 04 AC */ lfs f3, 0x4ac(r30)
|
||||
/* 80BC75A0 88 1E 05 AE */ lbz r0, 0x5ae(r30)
|
||||
/* 80BC75A4 54 00 10 3A */ slwi r0, r0, 2
|
||||
/* 80BC75A8 3C 80 80 BC */ lis r4, l_moveOffsetY@ha /* 0x80BC7D80@ha */
|
||||
/* 80BC75AC 38 84 7D 80 */ addi r4, r4, l_moveOffsetY@l /* 0x80BC7D80@l */
|
||||
/* 80BC75B0 7C 44 04 2E */ lfsx f2, r4, r0
|
||||
/* 80BC75B4 C0 3F 00 2C */ lfs f1, 0x2c(r31)
|
||||
/* 80BC75B8 C0 03 07 A0 */ lfs f0, 0x7a0(r3)
|
||||
/* 80BC75BC EC 01 00 32 */ fmuls f0, f1, f0
|
||||
/* 80BC75C0 EC 02 00 32 */ fmuls f0, f2, f0
|
||||
/* 80BC75C4 EC 03 00 2A */ fadds f0, f3, f0
|
||||
/* 80BC75C8 D0 1E 04 D4 */ stfs f0, 0x4d4(r30)
|
||||
/* 80BC75CC 88 03 07 74 */ lbz r0, 0x774(r3)
|
||||
/* 80BC75D0 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80BC75D4 41 82 00 1C */ beq lbl_80BC75F0
|
||||
/* 80BC75D8 4B 5B A0 69 */ bl dCam_getBody__Fv
|
||||
/* 80BC75DC 7F C4 F3 78 */ mr r4, r30
|
||||
/* 80BC75E0 4B 5B 9F 55 */ bl ForceLockOn__9dCamera_cFP10fopAc_ac_c
|
||||
/* 80BC75E4 38 00 00 01 */ li r0, 1
|
||||
/* 80BC75E8 98 1E 05 AD */ stb r0, 0x5ad(r30)
|
||||
/* 80BC75EC 48 00 00 24 */ b lbl_80BC7610
|
||||
lbl_80BC75F0:
|
||||
/* 80BC75F0 88 1E 05 AD */ lbz r0, 0x5ad(r30)
|
||||
/* 80BC75F4 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80BC75F8 41 82 00 18 */ beq lbl_80BC7610
|
||||
/* 80BC75FC 4B 5B A0 45 */ bl dCam_getBody__Fv
|
||||
/* 80BC7600 7F C4 F3 78 */ mr r4, r30
|
||||
/* 80BC7604 4B 5B 9F 99 */ bl ForceLockOff__9dCamera_cFP10fopAc_ac_c
|
||||
/* 80BC7608 38 00 00 00 */ li r0, 0
|
||||
/* 80BC760C 98 1E 05 AD */ stb r0, 0x5ad(r30)
|
||||
lbl_80BC7610:
|
||||
/* 80BC7610 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80BC7614 4B FF FD AD */ bl setMatrix__12daObjCdoor_cFv
|
||||
lbl_80BC7618:
|
||||
/* 80BC7618 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 80BC761C 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 80BC7620 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80BC7624 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC7628 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80BC762C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,80 +0,0 @@
|
|||
lbl_80BC7630:
|
||||
/* 80BC7630 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80BC7634 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC7638 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80BC763C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80BC7640 4B 79 AB 9D */ bl _savegpr_29
|
||||
/* 80BC7644 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80BC7648 3C 60 80 BC */ lis r3, cNullVec__6Z2Calc@ha /* 0x80BC7D58@ha */
|
||||
/* 80BC764C 3B E3 7D 58 */ addi r31, r3, cNullVec__6Z2Calc@l /* 0x80BC7D58@l */
|
||||
/* 80BC7650 3C 60 80 BC */ lis r3, struct_80BC7EB8+0x0@ha /* 0x80BC7EB8@ha */
|
||||
/* 80BC7654 38 A3 7E B8 */ addi r5, r3, struct_80BC7EB8+0x0@l /* 0x80BC7EB8@l */
|
||||
/* 80BC7658 88 05 00 00 */ lbz r0, 0(r5)
|
||||
/* 80BC765C 7C 00 07 75 */ extsb. r0, r0
|
||||
/* 80BC7660 40 82 00 58 */ bne lbl_80BC76B8
|
||||
/* 80BC7664 80 7F 00 30 */ lwz r3, 0x30(r31)
|
||||
/* 80BC7668 80 1F 00 34 */ lwz r0, 0x34(r31)
|
||||
/* 80BC766C 90 7F 00 54 */ stw r3, 0x54(r31)
|
||||
/* 80BC7670 90 1F 00 58 */ stw r0, 0x58(r31)
|
||||
/* 80BC7674 80 1F 00 38 */ lwz r0, 0x38(r31)
|
||||
/* 80BC7678 90 1F 00 5C */ stw r0, 0x5c(r31)
|
||||
/* 80BC767C 38 9F 00 54 */ addi r4, r31, 0x54
|
||||
/* 80BC7680 80 7F 00 3C */ lwz r3, 0x3c(r31)
|
||||
/* 80BC7684 80 1F 00 40 */ lwz r0, 0x40(r31)
|
||||
/* 80BC7688 90 64 00 0C */ stw r3, 0xc(r4)
|
||||
/* 80BC768C 90 04 00 10 */ stw r0, 0x10(r4)
|
||||
/* 80BC7690 80 1F 00 44 */ lwz r0, 0x44(r31)
|
||||
/* 80BC7694 90 04 00 14 */ stw r0, 0x14(r4)
|
||||
/* 80BC7698 80 7F 00 48 */ lwz r3, 0x48(r31)
|
||||
/* 80BC769C 80 1F 00 4C */ lwz r0, 0x4c(r31)
|
||||
/* 80BC76A0 90 64 00 18 */ stw r3, 0x18(r4)
|
||||
/* 80BC76A4 90 04 00 1C */ stw r0, 0x1c(r4)
|
||||
/* 80BC76A8 80 1F 00 50 */ lwz r0, 0x50(r31)
|
||||
/* 80BC76AC 90 04 00 20 */ stw r0, 0x20(r4)
|
||||
/* 80BC76B0 38 00 00 01 */ li r0, 1
|
||||
/* 80BC76B4 98 05 00 00 */ stb r0, 0(r5)
|
||||
lbl_80BC76B8:
|
||||
/* 80BC76B8 8B BE 05 B0 */ lbz r29, 0x5b0(r30)
|
||||
/* 80BC76BC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80BC76C0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80BC76C4 80 9E 05 BC */ lwz r4, 0x5bc(r30)
|
||||
/* 80BC76C8 88 1E 04 BA */ lbz r0, 0x4ba(r30)
|
||||
/* 80BC76CC 7C 05 07 74 */ extsb r5, r0
|
||||
/* 80BC76D0 4B 46 DC 91 */ bl isSwitch__10dSv_info_cCFii
|
||||
/* 80BC76D4 98 7E 05 B0 */ stb r3, 0x5b0(r30)
|
||||
/* 80BC76D8 88 1E 05 B0 */ lbz r0, 0x5b0(r30)
|
||||
/* 80BC76DC 7C 00 E8 40 */ cmplw r0, r29
|
||||
/* 80BC76E0 41 82 00 38 */ beq lbl_80BC7718
|
||||
/* 80BC76E4 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80BC76E8 41 82 00 10 */ beq lbl_80BC76F8
|
||||
/* 80BC76EC 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80BC76F0 48 00 00 7D */ bl init_modeOpen__12daObjCdoor_cFv
|
||||
/* 80BC76F4 48 00 00 0C */ b lbl_80BC7700
|
||||
lbl_80BC76F8:
|
||||
/* 80BC76F8 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80BC76FC 48 00 01 B5 */ bl init_modeClose__12daObjCdoor_cFv
|
||||
lbl_80BC7700:
|
||||
/* 80BC7700 3C 60 80 43 */ lis r3, g_mEnvSeMgr@ha /* 0x8042DD70@ha */
|
||||
/* 80BC7704 38 63 DD 70 */ addi r3, r3, g_mEnvSeMgr@l /* 0x8042DD70@l */
|
||||
/* 80BC7708 30 1D FF FF */ addic r0, r29, -1
|
||||
/* 80BC770C 7C 00 E9 10 */ subfe r0, r0, r29
|
||||
/* 80BC7710 54 04 06 3E */ clrlwi r4, r0, 0x18
|
||||
/* 80BC7714 4B 70 0B 45 */ bl setHyrulSewerOpen__10Z2EnvSeMgrFb
|
||||
lbl_80BC7718:
|
||||
/* 80BC7718 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80BC771C 88 1E 05 F9 */ lbz r0, 0x5f9(r30)
|
||||
/* 80BC7720 1C 00 00 0C */ mulli r0, r0, 0xc
|
||||
/* 80BC7724 39 9F 00 54 */ addi r12, r31, 0x54
|
||||
/* 80BC7728 7D 8C 02 14 */ add r12, r12, r0
|
||||
/* 80BC772C 4B 79 A9 59 */ bl __ptmf_scall
|
||||
/* 80BC7730 60 00 00 00 */ nop
|
||||
/* 80BC7734 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80BC7738 4B FF FC 89 */ bl setMatrix__12daObjCdoor_cFv
|
||||
/* 80BC773C 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80BC7740 48 00 02 D5 */ bl event_proc_call__12daObjCdoor_cFv
|
||||
/* 80BC7744 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80BC7748 4B 79 AA E1 */ bl _restgpr_29
|
||||
/* 80BC774C 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80BC7750 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC7754 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80BC7758 4E 80 00 20 */ blr
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
lbl_80BC78B0:
|
||||
/* 80BC78B0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80BC78B4 A8 03 05 E2 */ lha r0, 0x5e2(r3)
|
||||
/* 80BC78B8 3C 80 80 BC */ lis r4, lit_3909@ha /* 0x80BC7D38@ha */
|
||||
/* 80BC78BC C8 24 7D 38 */ lfd f1, lit_3909@l(r4) /* 0x80BC7D38@l */
|
||||
/* 80BC78C0 6C 00 80 00 */ xoris r0, r0, 0x8000
|
||||
/* 80BC78C4 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 80BC78C8 3C 00 43 30 */ lis r0, 0x4330
|
||||
/* 80BC78CC 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 80BC78D0 C8 01 00 08 */ lfd f0, 8(r1)
|
||||
/* 80BC78D4 EC 00 08 28 */ fsubs f0, f0, f1
|
||||
/* 80BC78D8 D0 03 05 EC */ stfs f0, 0x5ec(r3)
|
||||
/* 80BC78DC 3C 80 80 BC */ lis r4, lit_3783@ha /* 0x80BC7D30@ha */
|
||||
/* 80BC78E0 C0 04 7D 30 */ lfs f0, lit_3783@l(r4) /* 0x80BC7D30@l */
|
||||
/* 80BC78E4 D0 03 05 E8 */ stfs f0, 0x5e8(r3)
|
||||
/* 80BC78E8 38 00 00 00 */ li r0, 0
|
||||
/* 80BC78EC 98 03 05 E1 */ stb r0, 0x5e1(r3)
|
||||
/* 80BC78F0 38 00 00 02 */ li r0, 2
|
||||
/* 80BC78F4 98 03 05 F9 */ stb r0, 0x5f9(r3)
|
||||
/* 80BC78F8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80BC78FC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
lbl_80BC776C:
|
||||
/* 80BC776C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80BC7770 A8 03 05 C6 */ lha r0, 0x5c6(r3)
|
||||
/* 80BC7774 3C 80 80 BC */ lis r4, lit_3909@ha /* 0x80BC7D38@ha */
|
||||
/* 80BC7778 C8 24 7D 38 */ lfd f1, lit_3909@l(r4) /* 0x80BC7D38@l */
|
||||
/* 80BC777C 6C 00 80 00 */ xoris r0, r0, 0x8000
|
||||
/* 80BC7780 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 80BC7784 3C 00 43 30 */ lis r0, 0x4330
|
||||
/* 80BC7788 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 80BC778C C8 01 00 08 */ lfd f0, 8(r1)
|
||||
/* 80BC7790 EC 00 08 28 */ fsubs f0, f0, f1
|
||||
/* 80BC7794 D0 03 05 D0 */ stfs f0, 0x5d0(r3)
|
||||
/* 80BC7798 3C 80 80 BC */ lis r4, lit_3783@ha /* 0x80BC7D30@ha */
|
||||
/* 80BC779C C0 04 7D 30 */ lfs f0, lit_3783@l(r4) /* 0x80BC7D30@l */
|
||||
/* 80BC77A0 D0 03 05 CC */ stfs f0, 0x5cc(r3)
|
||||
/* 80BC77A4 38 00 00 00 */ li r0, 0
|
||||
/* 80BC77A8 98 03 05 C5 */ stb r0, 0x5c5(r3)
|
||||
/* 80BC77AC 38 00 00 01 */ li r0, 1
|
||||
/* 80BC77B0 98 03 05 F9 */ stb r0, 0x5f9(r3)
|
||||
/* 80BC77B4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80BC77B8 4E 80 00 20 */ blr
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
lbl_80BC775C:
|
||||
/* 80BC775C 38 00 00 00 */ li r0, 0
|
||||
/* 80BC7760 98 03 05 F9 */ stb r0, 0x5f9(r3)
|
||||
/* 80BC7764 4E 80 00 20 */ blr
|
||||
|
|
@ -1,63 +0,0 @@
|
|||
lbl_80BC7900:
|
||||
/* 80BC7900 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80BC7904 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC7908 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80BC790C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 80BC7910 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 80BC7914 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80BC7918 88 03 04 E2 */ lbz r0, 0x4e2(r3)
|
||||
/* 80BC791C 7C 03 07 74 */ extsb r3, r0
|
||||
/* 80BC7920 4B 46 57 4D */ bl dComIfGp_getReverb__Fi
|
||||
/* 80BC7924 7C 67 1B 78 */ mr r7, r3
|
||||
/* 80BC7928 3C 60 00 08 */ lis r3, 0x0008 /* 0x000800EC@ha */
|
||||
/* 80BC792C 38 03 00 EC */ addi r0, r3, 0x00EC /* 0x000800EC@l */
|
||||
/* 80BC7930 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 80BC7934 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
|
||||
/* 80BC7938 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
|
||||
/* 80BC793C 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 80BC7940 38 81 00 0C */ addi r4, r1, 0xc
|
||||
/* 80BC7944 3B DF 04 D0 */ addi r30, r31, 0x4d0
|
||||
/* 80BC7948 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80BC794C 38 C0 00 00 */ li r6, 0
|
||||
/* 80BC7950 3D 00 80 BC */ lis r8, lit_3783@ha /* 0x80BC7D30@ha */
|
||||
/* 80BC7954 C0 28 7D 30 */ lfs f1, lit_3783@l(r8) /* 0x80BC7D30@l */
|
||||
/* 80BC7958 FC 40 08 90 */ fmr f2, f1
|
||||
/* 80BC795C 3D 00 80 BC */ lis r8, lit_4014@ha /* 0x80BC7D40@ha */
|
||||
/* 80BC7960 C0 68 7D 40 */ lfs f3, lit_4014@l(r8) /* 0x80BC7D40@l */
|
||||
/* 80BC7964 FC 80 18 90 */ fmr f4, f3
|
||||
/* 80BC7968 39 00 00 00 */ li r8, 0
|
||||
/* 80BC796C 4B 6E 4B A1 */ bl seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
|
||||
/* 80BC7970 38 7F 05 DC */ addi r3, r31, 0x5dc
|
||||
/* 80BC7974 4B 44 5A B5 */ bl play__14mDoExt_baseAnmFv
|
||||
/* 80BC7978 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80BC797C 41 82 00 60 */ beq lbl_80BC79DC
|
||||
/* 80BC7980 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
|
||||
/* 80BC7984 7C 03 07 74 */ extsb r3, r0
|
||||
/* 80BC7988 4B 46 56 E5 */ bl dComIfGp_getReverb__Fi
|
||||
/* 80BC798C 7C 67 1B 78 */ mr r7, r3
|
||||
/* 80BC7990 3C 60 00 08 */ lis r3, 0x0008 /* 0x0008009A@ha */
|
||||
/* 80BC7994 38 03 00 9A */ addi r0, r3, 0x009A /* 0x0008009A@l */
|
||||
/* 80BC7998 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 80BC799C 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
|
||||
/* 80BC79A0 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
|
||||
/* 80BC79A4 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 80BC79A8 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80BC79AC 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80BC79B0 38 C0 00 00 */ li r6, 0
|
||||
/* 80BC79B4 3D 00 80 BC */ lis r8, lit_3783@ha /* 0x80BC7D30@ha */
|
||||
/* 80BC79B8 C0 28 7D 30 */ lfs f1, lit_3783@l(r8) /* 0x80BC7D30@l */
|
||||
/* 80BC79BC FC 40 08 90 */ fmr f2, f1
|
||||
/* 80BC79C0 3D 00 80 BC */ lis r8, lit_4014@ha /* 0x80BC7D40@ha */
|
||||
/* 80BC79C4 C0 68 7D 40 */ lfs f3, lit_4014@l(r8) /* 0x80BC7D40@l */
|
||||
/* 80BC79C8 FC 80 18 90 */ fmr f4, f3
|
||||
/* 80BC79CC 39 00 00 00 */ li r8, 0
|
||||
/* 80BC79D0 4B 6E 3F B5 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
|
||||
/* 80BC79D4 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80BC79D8 4B FF FD 85 */ bl init_modeWait__12daObjCdoor_cFv
|
||||
lbl_80BC79DC:
|
||||
/* 80BC79DC 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 80BC79E0 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 80BC79E4 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80BC79E8 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC79EC 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80BC79F0 4E 80 00 20 */ blr
|
||||
|
|
@ -1,63 +0,0 @@
|
|||
lbl_80BC77BC:
|
||||
/* 80BC77BC 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80BC77C0 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC77C4 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80BC77C8 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 80BC77CC 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 80BC77D0 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80BC77D4 88 03 04 E2 */ lbz r0, 0x4e2(r3)
|
||||
/* 80BC77D8 7C 03 07 74 */ extsb r3, r0
|
||||
/* 80BC77DC 4B 46 58 91 */ bl dComIfGp_getReverb__Fi
|
||||
/* 80BC77E0 7C 67 1B 78 */ mr r7, r3
|
||||
/* 80BC77E4 3C 60 00 08 */ lis r3, 0x0008 /* 0x000800EC@ha */
|
||||
/* 80BC77E8 38 03 00 EC */ addi r0, r3, 0x00EC /* 0x000800EC@l */
|
||||
/* 80BC77EC 90 01 00 0C */ stw r0, 0xc(r1)
|
||||
/* 80BC77F0 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
|
||||
/* 80BC77F4 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
|
||||
/* 80BC77F8 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 80BC77FC 38 81 00 0C */ addi r4, r1, 0xc
|
||||
/* 80BC7800 3B DF 04 D0 */ addi r30, r31, 0x4d0
|
||||
/* 80BC7804 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80BC7808 38 C0 00 00 */ li r6, 0
|
||||
/* 80BC780C 3D 00 80 BC */ lis r8, lit_3783@ha /* 0x80BC7D30@ha */
|
||||
/* 80BC7810 C0 28 7D 30 */ lfs f1, lit_3783@l(r8) /* 0x80BC7D30@l */
|
||||
/* 80BC7814 FC 40 08 90 */ fmr f2, f1
|
||||
/* 80BC7818 3D 00 80 BC */ lis r8, lit_4014@ha /* 0x80BC7D40@ha */
|
||||
/* 80BC781C C0 68 7D 40 */ lfs f3, lit_4014@l(r8) /* 0x80BC7D40@l */
|
||||
/* 80BC7820 FC 80 18 90 */ fmr f4, f3
|
||||
/* 80BC7824 39 00 00 00 */ li r8, 0
|
||||
/* 80BC7828 4B 6E 4C E5 */ bl seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
|
||||
/* 80BC782C 38 7F 05 C0 */ addi r3, r31, 0x5c0
|
||||
/* 80BC7830 4B 44 5B F9 */ bl play__14mDoExt_baseAnmFv
|
||||
/* 80BC7834 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80BC7838 41 82 00 60 */ beq lbl_80BC7898
|
||||
/* 80BC783C 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
|
||||
/* 80BC7840 7C 03 07 74 */ extsb r3, r0
|
||||
/* 80BC7844 4B 46 58 29 */ bl dComIfGp_getReverb__Fi
|
||||
/* 80BC7848 7C 67 1B 78 */ mr r7, r3
|
||||
/* 80BC784C 3C 60 00 08 */ lis r3, 0x0008 /* 0x0008009A@ha */
|
||||
/* 80BC7850 38 03 00 9A */ addi r0, r3, 0x009A /* 0x0008009A@l */
|
||||
/* 80BC7854 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 80BC7858 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
|
||||
/* 80BC785C 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
|
||||
/* 80BC7860 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 80BC7864 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80BC7868 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80BC786C 38 C0 00 00 */ li r6, 0
|
||||
/* 80BC7870 3D 00 80 BC */ lis r8, lit_3783@ha /* 0x80BC7D30@ha */
|
||||
/* 80BC7874 C0 28 7D 30 */ lfs f1, lit_3783@l(r8) /* 0x80BC7D30@l */
|
||||
/* 80BC7878 FC 40 08 90 */ fmr f2, f1
|
||||
/* 80BC787C 3D 00 80 BC */ lis r8, lit_4014@ha /* 0x80BC7D40@ha */
|
||||
/* 80BC7880 C0 68 7D 40 */ lfs f3, lit_4014@l(r8) /* 0x80BC7D40@l */
|
||||
/* 80BC7884 FC 80 18 90 */ fmr f4, f3
|
||||
/* 80BC7888 39 00 00 00 */ li r8, 0
|
||||
/* 80BC788C 4B 6E 40 F9 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
|
||||
/* 80BC7890 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80BC7894 4B FF FE C9 */ bl init_modeWait__12daObjCdoor_cFv
|
||||
lbl_80BC7898:
|
||||
/* 80BC7898 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 80BC789C 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 80BC78A0 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80BC78A4 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC78A8 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80BC78AC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
lbl_80BC73C0:
|
||||
/* 80BC73C0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80BC73C4 7C 08 02 A6 */ mflr r0
|
||||
/* 80BC73C8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80BC73CC 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80BC73D0 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80BC73D4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
|
||||
/* 80BC73D8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
|
||||
/* 80BC73DC C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
|
||||
/* 80BC73E0 C0 5F 04 D4 */ lfs f2, 0x4d4(r31)
|
||||
/* 80BC73E4 C0 7F 04 D8 */ lfs f3, 0x4d8(r31)
|
||||
/* 80BC73E8 4B 77 F5 01 */ bl PSMTXTrans
|
||||
/* 80BC73EC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
|
||||
/* 80BC73F0 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
|
||||
/* 80BC73F4 A8 9F 04 E6 */ lha r4, 0x4e6(r31)
|
||||
/* 80BC73F8 4B 44 50 3D */ bl mDoMtx_YrotM__FPA4_fs
|
||||
/* 80BC73FC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
|
||||
/* 80BC7400 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
|
||||
/* 80BC7404 80 9F 05 A8 */ lwz r4, 0x5a8(r31)
|
||||
/* 80BC7408 38 84 00 24 */ addi r4, r4, 0x24
|
||||
/* 80BC740C 4B 77 F0 A5 */ bl PSMTXCopy
|
||||
/* 80BC7410 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80BC7414 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80BC7418 7C 08 03 A6 */ mtlr r0
|
||||
/* 80BC741C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80BC7420 4E 80 00 20 */ blr
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
lbl_80D30414:
|
||||
/* 80D30414 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80D30418 7C 08 02 A6 */ mflr r0
|
||||
/* 80D3041C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80D30420 4B FF FB 9D */ bl create__13daObjWchain_cFv
|
||||
/* 80D30424 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80D30428 7C 08 03 A6 */ mtlr r0
|
||||
/* 80D3042C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80D30430 4E 80 00 20 */ blr
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
lbl_80D3050C:
|
||||
/* 80D3050C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80D30510 7C 08 02 A6 */ mflr r0
|
||||
/* 80D30514 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80D30518 38 80 FF FF */ li r4, -1
|
||||
/* 80D3051C 4B FF FF 19 */ bl __dt__13daObjWchain_cFv
|
||||
/* 80D30520 38 60 00 01 */ li r3, 1
|
||||
/* 80D30524 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80D30528 7C 08 03 A6 */ mtlr r0
|
||||
/* 80D3052C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80D30530 4E 80 00 20 */ blr
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
lbl_80D318A0:
|
||||
/* 80D318A0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80D318A4 7C 08 02 A6 */ mflr r0
|
||||
/* 80D318A8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80D318AC 4B FF FF 65 */ bl draw__13daObjWchain_cFv
|
||||
/* 80D318B0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80D318B4 7C 08 03 A6 */ mtlr r0
|
||||
/* 80D318B8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80D318BC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
lbl_80D313F8:
|
||||
/* 80D313F8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80D313FC 7C 08 02 A6 */ mflr r0
|
||||
/* 80D31400 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80D31404 4B FF FC A9 */ bl execute__13daObjWchain_cFv
|
||||
/* 80D31408 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80D3140C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80D31410 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80D31414 4E 80 00 20 */ blr
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
lbl_80D2FF9C:
|
||||
/* 80D2FF9C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80D2FFA0 7C 08 02 A6 */ mflr r0
|
||||
/* 80D2FFA4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80D2FFA8 4B FF FF 51 */ bl createHeap__13daObjWchain_cFv
|
||||
/* 80D2FFAC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80D2FFB0 7C 08 03 A6 */ mtlr r0
|
||||
/* 80D2FFB4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80D2FFB8 4E 80 00 20 */ blr
|
||||
|
|
@ -108,6 +108,7 @@ public:
|
|||
mpFirstChild = NULL;
|
||||
}
|
||||
|
||||
void* getUserArea() { return mpUserData; }
|
||||
void setUserArea(u32 area) { mpUserData = (void*)area; }
|
||||
|
||||
virtual int entry(J3DDrawBuffer*);
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public:
|
|||
}
|
||||
|
||||
/* 0x00 */ J3DLightInfo mInfo;
|
||||
/* 0x34 */ u8 field_0x34[64];
|
||||
/* 0x34 */ GXLightObj mLightObj;
|
||||
}; // Size = 0x74
|
||||
|
||||
struct J3DTextureSRTInfo {
|
||||
|
|
|
|||
|
|
@ -3780,6 +3780,10 @@ inline void dComIfGd_setListZxlu() {
|
|||
g_dComIfG_gameInfo.drawlist.setXluListZxlu();
|
||||
}
|
||||
|
||||
inline J3DDrawBuffer* dComIfGd_getOpaList() {
|
||||
return g_dComIfG_gameInfo.drawlist.getOpaList();
|
||||
}
|
||||
|
||||
inline J3DDrawBuffer* dComIfGd_getOpaListBG() {
|
||||
return g_dComIfG_gameInfo.drawlist.getOpaListBG();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -305,6 +305,7 @@ public:
|
|||
void setView(view_class* view) { mView = view; }
|
||||
void setWindow(dDlst_window_c* window) { mWindow = window; }
|
||||
void setViewport(view_port_class* port) { mViewport = port; }
|
||||
J3DDrawBuffer* getOpaList() { return mDrawBuffers[DB_OPA_LIST]; }
|
||||
J3DDrawBuffer* getOpaListFilter() { return mDrawBuffers[DB_LIST_FILTER]; }
|
||||
J3DDrawBuffer* getOpaListP0() { return mDrawBuffers[DB_LIST_P0]; }
|
||||
J3DDrawBuffer* getOpaListPacket() { return mDrawBuffers[DB_OPA_LIST_PACKET]; }
|
||||
|
|
|
|||
|
|
@ -75,6 +75,7 @@ class dBgS_RoofChk;
|
|||
class fopAcM_rc_c {
|
||||
public:
|
||||
static dBgS_RoofChk* getRoofCheck() { return (dBgS_RoofChk*)&mRoofCheck; }
|
||||
static f32 getRoofY() { return mRoofY; }
|
||||
static bool roofCheck(const cXyz*);
|
||||
static u8 mRoofCheck[80];
|
||||
static f32 mRoofY;
|
||||
|
|
|
|||
|
|
@ -227,4 +227,8 @@ inline void mDoAud_startLv3WaterSe(s8 i_reverb) {
|
|||
g_mEnvSeMgr.startLv3WaterSe(i_reverb);
|
||||
}
|
||||
|
||||
inline void mDoAud_setHyrulSewerOpen(bool i_close) {
|
||||
g_mEnvSeMgr.setHyrulSewerOpen(i_close);
|
||||
}
|
||||
|
||||
#endif /* M_DO_M_DO_AUDIO_H */
|
||||
|
|
|
|||
|
|
@ -1,6 +1,67 @@
|
|||
#ifndef D_A_OBJ_CDOOR_H
|
||||
#define D_A_OBJ_CDOOR_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
#include "d/bg/d_bg_s_movebg_actor.h"
|
||||
|
||||
class daObjCdoor_c : public dBgS_MoveBgActor {
|
||||
public:
|
||||
enum Mode {
|
||||
/* 0 */ MODE_WAIT,
|
||||
/* 1 */ MODE_OPEN,
|
||||
/* 2 */ MODE_CLOSE,
|
||||
};
|
||||
|
||||
enum Action {
|
||||
/* 0 */ ACT_WAIT,
|
||||
/* 1 */ ACT_ORDER_EVENT,
|
||||
/* 2 */ ACT_EVENT,
|
||||
/* 3 */ ACT_DEAD,
|
||||
};
|
||||
|
||||
/* 80BC729C */ virtual ~daObjCdoor_c();
|
||||
/* 80BC6DB8 */ int CreateHeap();
|
||||
/* 80BC6F30 */ cPhs__Step create();
|
||||
/* 80BC73C0 */ void setMatrix();
|
||||
/* 80BC7424 */ int Execute(Mtx**);
|
||||
/* 80BC7478 */ void execCdoor();
|
||||
/* 80BC7630 */ void execWgate();
|
||||
/* 80BC775C */ void init_modeWait();
|
||||
/* 80BC7768 */ void modeWait();
|
||||
/* 80BC776C */ void init_modeOpen();
|
||||
/* 80BC77BC */ void modeOpen();
|
||||
/* 80BC78B0 */ void init_modeClose();
|
||||
/* 80BC7900 */ void modeClose();
|
||||
/* 80BC7A14 */ void event_proc_call();
|
||||
/* 80BC7AD0 */ void actionWait();
|
||||
/* 80BC7B34 */ void actionOrderEvent();
|
||||
/* 80BC7B9C */ void actionEvent();
|
||||
/* 80BC7BF8 */ void actionDead();
|
||||
/* 80BC7C04 */ int Draw();
|
||||
|
||||
void setAction(u8 i_action) { mAction = i_action; }
|
||||
int getSwitchNum() { return mSw; }
|
||||
void setChainID(u32 i_id) { mChainID = i_id; }
|
||||
|
||||
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
|
||||
/* 0x5A8 */ J3DModel* mpModel;
|
||||
/* 0x5AC */ bool mEnd;
|
||||
/* 0x5AD */ bool mCamLock;
|
||||
/* 0x5AE */ u8 mType;
|
||||
/* 0x5AF */ u8 field_0x5af;
|
||||
/* 0x5B0 */ u8 mIsOpen;
|
||||
/* 0x5B1 */ u8 field_0x5b1[3];
|
||||
/* 0x5B4 */ s16 mEventID;
|
||||
/* 0x5B6 */ u8 mMapToolID;
|
||||
/* 0x5B7 */ u8 mAction;
|
||||
/* 0x5B8 */ u32 mChainID;
|
||||
/* 0x5BC */ int mSw;
|
||||
/* 0x5C0 */ mDoExt_bckAnm mOpenAnm;
|
||||
/* 0x5DC */ mDoExt_bckAnm mCloseAnm;
|
||||
/* 0x5F8 */ u8 field_0x5f8;
|
||||
/* 0x5F9 */ u8 mMode;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjCdoor_c) == 0x5FC);
|
||||
|
||||
#endif /* D_A_OBJ_CDOOR_H */
|
||||
|
|
|
|||
|
|
@ -1,6 +1,88 @@
|
|||
#ifndef D_A_OBJ_WCHAIN_H
|
||||
#define D_A_OBJ_WCHAIN_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
#ifdef NONMATCHING
|
||||
class daObjWchain_shape_c : public J3DPacket {
|
||||
public:
|
||||
/* 80D31418 */ void draw();
|
||||
/* 80D318C0 */ ~daObjWchain_shape_c() {}
|
||||
};
|
||||
#else
|
||||
// To avoid duplicating vtables, the inheritance here has been removed until the rest of the TU matches
|
||||
class daObjWchain_shape_c {
|
||||
public:
|
||||
/* 80D31418 */ void draw();
|
||||
// The destructor should be inline, but it gets put in the wrong place
|
||||
/* 80D318C0 */ ~daObjWchain_shape_c();
|
||||
|
||||
u8 fake[0x10];
|
||||
};
|
||||
#endif
|
||||
|
||||
class daObjWchain_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80D2FEF8 */ int createHeap();
|
||||
/* 80D2FFBC */ cPhs__Step create();
|
||||
/* 80D30434 */ ~daObjWchain_c();
|
||||
/* 80D30534 */ void setMatrix();
|
||||
/* 80D305E4 */ s16 getChainAngleZ(cXyz*, int);
|
||||
/* 80D3080C */ void setChainPos();
|
||||
/* 80D310AC */ int execute();
|
||||
/* 80D31810 */ int draw();
|
||||
|
||||
GXLightObj* getLightObj() { return &mTevStr.mLightObj.mLightObj; }
|
||||
J3DModelData* getChainModelData() { return mpChainModelData; }
|
||||
cXyz* getChainPos() { return mChainPos; }
|
||||
csXyz* getChainAngle() { return mChainAngle; }
|
||||
s16* getChainAngleZ() { return mChainRotation; }
|
||||
cXyz& getJumpAimPos() { return mEyePos; }
|
||||
cXyz& getTopPos() { return mTopPos; }
|
||||
cXyz& getRoofPos() { return mRoofPos; }
|
||||
f32 getPullLength() { return mPullLength; }
|
||||
void setPullLength(f32 i_length) { mPullLength = i_length; }
|
||||
f32 getInitOutLength() { return mInitOutLength; }
|
||||
f32 getRealRoofY() { return mRealRoofY; }
|
||||
f32 getMoveDisRate() { return mPullLength * 0.01f; }
|
||||
f32 getLastOffset() { return 6.0f; }
|
||||
f32 getDownOffset() { return 100.0f; }
|
||||
f32 getSwitchOffset() { return 94.0f; }
|
||||
u8 getSwitchNum() { return mSw; }
|
||||
void onRide() { mRide = true; }
|
||||
void offRide() { mRide = false; }
|
||||
bool checkRideFlg() { return mRide; }
|
||||
void onEndFlg() { mEnd = true; }
|
||||
bool getEndFlg() { return mEnd; }
|
||||
void onNowSwitchFlg() { mDown = mNowSwitch = true; }
|
||||
|
||||
/* 0x568 */ request_of_phase_process_class mPhaseReq;
|
||||
/* 0x570 */ J3DModel* mpHandleModel;
|
||||
/* 0x574 */ J3DModelData* mpChainModelData;
|
||||
/* 0x578 */ daObjWchain_shape_c mShape;
|
||||
/* 0x588 */ cXyz mTopPos;
|
||||
/* 0x594 */ cXyz mChainPos[0x10];
|
||||
/* 0x654 */ cXyz mChainSpeed[0x10];
|
||||
/* 0x714 */ csXyz mChainAngle[0x10];
|
||||
/* 0x774 */ bool mRide;
|
||||
/* 0x775 */ bool mNowSwitch;
|
||||
/* 0x776 */ bool mEnd;
|
||||
/* 0x777 */ bool mRidePrev;
|
||||
/* 0x778 */ u8 mSw;
|
||||
/* 0x779 */ u8 mRepeatable;
|
||||
/* 0x77A */ bool mReset;
|
||||
/* 0x77B */ bool mDown;
|
||||
/* 0x77C */ s16 mHandleRotation;
|
||||
/* 0x77E */ u16 field_0x77e;
|
||||
/* 0x780 */ s16 mChainRotation[0x10];
|
||||
/* 0x7A0 */ f32 mPullLength;
|
||||
/* 0x7A4 */ f32 mInitOutLength;
|
||||
/* 0x7A8 */ f32 field_0x7a8;
|
||||
/* 0x7AC */ f32 mRealRoofY;
|
||||
/* 0x7B0 */ cXyz mRoofPos;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjWchain_c) == 0x7BC);
|
||||
|
||||
#endif /* D_A_OBJ_WCHAIN_H */
|
||||
|
|
|
|||
|
|
@ -8,12 +8,10 @@ M420_MAP := $(BUILD_DIR)/rel/d/a/obj/d_a_obj_cdoor.map
|
|||
|
||||
M420_CPP_FILES := \
|
||||
rel/executor.cpp \
|
||||
rel/d/a/obj/d_a_obj_cdoor/unknown_translation_unit_bss.cpp \
|
||||
rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor.cpp \
|
||||
|
||||
M420_O_FILES := \
|
||||
$(BUILD_DIR)/rel/executor.o \
|
||||
$(BUILD_DIR)/rel/d/a/obj/d_a_obj_cdoor/unknown_translation_unit_bss.o \
|
||||
$(BUILD_DIR)/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor.o \
|
||||
|
||||
M420_LIBS := \
|
||||
|
|
|
|||
|
|
@ -1,276 +1,22 @@
|
|||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d_a_obj_cdoor
|
||||
//
|
||||
/**
|
||||
* d_a_obj_cdoor.cpp
|
||||
* Object - Sewer Gate / Sluice Gate
|
||||
*/
|
||||
|
||||
#include "rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct request_of_phase_process_class {};
|
||||
|
||||
struct mDoMtx_stack_c {
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct J3DModelData {};
|
||||
|
||||
struct J3DAnmTransform {};
|
||||
|
||||
struct mDoExt_bckAnm {
|
||||
/* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool);
|
||||
/* 8000D9CC */ void entry(J3DModelData*, f32);
|
||||
};
|
||||
|
||||
struct mDoExt_baseAnm {
|
||||
/* 8000D428 */ void play();
|
||||
};
|
||||
|
||||
struct fopAc_ac_c {
|
||||
/* 80018C8C */ ~fopAc_ac_c();
|
||||
};
|
||||
|
||||
struct daObjCdoor_c {
|
||||
/* 80BC6DB8 */ void CreateHeap();
|
||||
/* 80BC6F30 */ void create();
|
||||
/* 80BC729C */ ~daObjCdoor_c();
|
||||
/* 80BC73C0 */ void setMatrix();
|
||||
/* 80BC7424 */ void Execute(f32 (**)[3][4]);
|
||||
/* 80BC7478 */ void execCdoor();
|
||||
/* 80BC7630 */ void execWgate();
|
||||
/* 80BC775C */ void init_modeWait();
|
||||
/* 80BC7768 */ void modeWait();
|
||||
/* 80BC776C */ void init_modeOpen();
|
||||
/* 80BC77BC */ void modeOpen();
|
||||
/* 80BC78B0 */ void init_modeClose();
|
||||
/* 80BC7900 */ void modeClose();
|
||||
/* 80BC7A14 */ void event_proc_call();
|
||||
/* 80BC7AD0 */ void actionWait();
|
||||
/* 80BC7B34 */ void actionOrderEvent();
|
||||
/* 80BC7B9C */ void actionEvent();
|
||||
/* 80BC7BF8 */ void actionDead();
|
||||
/* 80BC7C04 */ void Draw();
|
||||
};
|
||||
|
||||
struct dSv_info_c {
|
||||
/* 80035360 */ void isSwitch(int, int) const;
|
||||
};
|
||||
|
||||
struct dKy_tevstr_c {};
|
||||
|
||||
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 dEvt_control_c {
|
||||
/* 80042468 */ void reset();
|
||||
};
|
||||
|
||||
struct dEvent_manager_c {
|
||||
/* 80047698 */ void getEventIdx(fopAc_ac_c*, u8);
|
||||
/* 80047A78 */ void endCheck(s16);
|
||||
};
|
||||
|
||||
struct dCamera_c {
|
||||
/* 80181534 */ void ForceLockOn(fopAc_ac_c*);
|
||||
/* 8018159C */ void ForceLockOff(fopAc_ac_c*);
|
||||
};
|
||||
|
||||
struct dBgW {};
|
||||
|
||||
struct cBgS_PolyInfo {};
|
||||
|
||||
struct csXyz {};
|
||||
|
||||
struct dBgS_MoveBgActor {
|
||||
/* 80078624 */ dBgS_MoveBgActor();
|
||||
/* 80078690 */ bool Create();
|
||||
/* 800786A8 */ bool Delete();
|
||||
/* 800786B0 */ bool IsDelete();
|
||||
/* 800786B8 */ bool ToFore();
|
||||
/* 800786C0 */ bool ToBack();
|
||||
/* 800787BC */ void MoveBGCreate(char const*, int,
|
||||
void (*)(dBgW*, void*, cBgS_PolyInfo const&, bool, cXyz*,
|
||||
csXyz*, csXyz*),
|
||||
u32, f32 (*)[3][4]);
|
||||
/* 800788DC */ void MoveBGDelete();
|
||||
/* 80078950 */ void MoveBGExecute();
|
||||
};
|
||||
|
||||
struct JAISoundID {};
|
||||
|
||||
struct Vec {};
|
||||
|
||||
struct Z2SeMgr {
|
||||
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
/* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
};
|
||||
|
||||
struct Z2EnvSeMgr {
|
||||
/* 802C8258 */ void setHyrulSewerOpen(bool);
|
||||
};
|
||||
|
||||
struct Z2AudioMgr {
|
||||
static u8 mAudioMgrPtr[4 + 4 /* padding */];
|
||||
};
|
||||
|
||||
struct J3DModel {};
|
||||
|
||||
struct J3DFrameCtrl {
|
||||
/* 803283FC */ void init(s16);
|
||||
/* 80BC7234 */ ~J3DFrameCtrl();
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void CreateHeap__12daObjCdoor_cFv();
|
||||
extern "C" static void daObjCdoor_searchChain__FP10fopAc_ac_cPv();
|
||||
extern "C" void create__12daObjCdoor_cFv();
|
||||
extern "C" void __dt__12J3DFrameCtrlFv();
|
||||
extern "C" static void daObjCdoor_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__12daObjCdoor_cFv();
|
||||
extern "C" static void daObjCdoor_Delete__FP12daObjCdoor_c();
|
||||
extern "C" void setMatrix__12daObjCdoor_cFv();
|
||||
extern "C" void Execute__12daObjCdoor_cFPPA3_A4_f();
|
||||
extern "C" void execCdoor__12daObjCdoor_cFv();
|
||||
extern "C" void execWgate__12daObjCdoor_cFv();
|
||||
extern "C" void init_modeWait__12daObjCdoor_cFv();
|
||||
extern "C" void modeWait__12daObjCdoor_cFv();
|
||||
extern "C" void init_modeOpen__12daObjCdoor_cFv();
|
||||
extern "C" void modeOpen__12daObjCdoor_cFv();
|
||||
extern "C" void init_modeClose__12daObjCdoor_cFv();
|
||||
extern "C" void modeClose__12daObjCdoor_cFv();
|
||||
extern "C" static void daObjCdoor_Execute__FP12daObjCdoor_c();
|
||||
extern "C" void event_proc_call__12daObjCdoor_cFv();
|
||||
extern "C" void actionWait__12daObjCdoor_cFv();
|
||||
extern "C" void actionOrderEvent__12daObjCdoor_cFv();
|
||||
extern "C" void actionEvent__12daObjCdoor_cFv();
|
||||
extern "C" void actionDead__12daObjCdoor_cFv();
|
||||
extern "C" void Draw__12daObjCdoor_cFv();
|
||||
extern "C" static void daObjCdoor_Draw__FP12daObjCdoor_c();
|
||||
extern "C" extern char const* const d_a_obj_cdoor__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void play__14mDoExt_baseAnmFv();
|
||||
extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb();
|
||||
extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
|
||||
extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData();
|
||||
extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs();
|
||||
extern "C" void fpcSch_JudgeByID__FPvPv();
|
||||
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 isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void reset__14dEvt_control_cFv();
|
||||
extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc();
|
||||
extern "C" void endCheck__16dEvent_manager_cFs();
|
||||
extern "C" void __ct__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool Create__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool Delete__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 ForceLockOn__9dCamera_cFP10fopAc_ac_c();
|
||||
extern "C" void ForceLockOff__9dCamera_cFP10fopAc_ac_c();
|
||||
extern "C" void dCam_getBody__Fv();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void setHyrulSewerOpen__10Z2EnvSeMgrFb();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void init__12J3DFrameCtrlFs();
|
||||
extern "C" void PSMTXCopy();
|
||||
extern "C" void PSMTXTrans();
|
||||
extern "C" void __ptmf_scall();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* g_fopAc_Method[8];
|
||||
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__16dBgS_MoveBgActor[10];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_env_light[4880];
|
||||
extern "C" extern u8 g_mEnvSeMgr[780];
|
||||
extern "C" extern u8 j3dSys[284];
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
extern "C" extern u8 struct_80BC7EB8[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BC7D18-80BC7D20 000000 0008+00 2/2 0/0 0/0 .rodata l_bmdIdx */
|
||||
SECTION_RODATA static u8 const l_bmdIdx[8] = {
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BC7D18, &l_bmdIdx);
|
||||
|
||||
/* 80BC7D20-80BC7D28 000008 0008+00 1/1 0/0 0/0 .rodata l_dzbIdx */
|
||||
SECTION_RODATA static u8 const l_dzbIdx[8] = {
|
||||
0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0C,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BC7D20, &l_dzbIdx);
|
||||
|
||||
/* 80BC7D28-80BC7D30 000010 0008+00 1/1 0/0 0/0 .rodata l_attentionOffsetY */
|
||||
SECTION_RODATA static u8 const l_attentionOffsetY[8] = {
|
||||
0x42, 0x96, 0x00, 0x00, 0x42, 0x96, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BC7D28, &l_attentionOffsetY);
|
||||
|
||||
/* 80BC7D30-80BC7D38 000018 0004+04 5/6 0/0 0/0 .rodata @3783 */
|
||||
SECTION_RODATA static f32 const lit_3783[1 + 1 /* padding */] = {
|
||||
1.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BC7D30, &lit_3783);
|
||||
|
||||
/* 80BC7D48-80BC7D48 000030 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80BC7D48 = "Cdoor";
|
||||
SECTION_DEAD static char const* const stringBase_80BC7D4E = "J_Suimon";
|
||||
#pragma pop
|
||||
#include "rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain.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_procname.h"
|
||||
|
||||
/* 80BC7D58-80BC7D64 000000 000C+00 2/2 0/0 0/0 .data cNullVec__6Z2Calc */
|
||||
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
|
||||
static u8 cNullVec__6Z2Calc[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 80BC7D64-80BC7D78 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
|
||||
static u32 lit_1787[1 + 4 /* padding */] = {
|
||||
0x02000201,
|
||||
/* padding */
|
||||
0x40080000,
|
||||
|
|
@ -278,294 +24,208 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
|
|||
0x3FE00000,
|
||||
0x00000000,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7D78-80BC7D80 -00001 0008+00 3/3 0/0 0/0 .data l_arcName */
|
||||
SECTION_DATA static void* l_arcName[2] = {
|
||||
(void*)&d_a_obj_cdoor__stringBase0,
|
||||
(void*)(((char*)&d_a_obj_cdoor__stringBase0) + 0x6),
|
||||
static char* l_arcName[2] = {
|
||||
"Cdoor",
|
||||
"J_Suimon",
|
||||
};
|
||||
|
||||
/* 80BC6DB8-80BC6EF0 000078 0138+00 1/0 0/0 0/0 .text CreateHeap__12daObjCdoor_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjCdoor_c::CreateHeap() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/CreateHeap__12daObjCdoor_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
/* 80BC7D18-80BC7D20 000000 0008+00 2/2 0/0 0/0 .rodata l_bmdIdx */
|
||||
static int const l_bmdIdx[2] = {4, 9};
|
||||
|
||||
/* 80BC6EF0-80BC6F30 0001B0 0040+00 2/2 0/0 0/0 .text daObjCdoor_searchChain__FP10fopAc_ac_cPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjCdoor_searchChain(fopAc_ac_c* param_0, void* param_1) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/daObjCdoor_searchChain__FP10fopAc_ac_cPv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BC7D38-80BC7D40 000020 0008+00 3/3 0/0 0/0 .rodata @3909 */
|
||||
SECTION_RODATA static u8 const lit_3909[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BC7D38, &lit_3909);
|
||||
/* 80BC7D20-80BC7D28 000008 0008+00 1/1 0/0 0/0 .rodata l_dzbIdx */
|
||||
static int const l_dzbIdx[2] = {7, 12};
|
||||
|
||||
/* 80BC7D80-80BC7D88 000028 0008+00 2/2 0/0 0/0 .data l_moveOffsetY */
|
||||
SECTION_DATA static u8 l_moveOffsetY[8] = {
|
||||
0x43, 0x7A, 0x00, 0x00, 0x43, 0x66, 0x00, 0x00,
|
||||
};
|
||||
static f32 l_moveOffsetY[2] = {250.0f, 230.0f};
|
||||
|
||||
/* 80BC7D88-80BC7D94 -00001 000C+00 0/1 0/0 0/0 .data @4020 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_4020[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeWait__12daObjCdoor_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80BC7D28-80BC7D30 000010 0008+00 1/1 0/0 0/0 .rodata l_attentionOffsetY */
|
||||
static f32 const l_attentionOffsetY[2] = {75.0f, 75.0f};
|
||||
|
||||
/* 80BC7D94-80BC7DA0 -00001 000C+00 0/1 0/0 0/0 .data @4021 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_4021[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeOpen__12daObjCdoor_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
/* 80BC6DB8-80BC6EF0 000078 0138+00 1/0 0/0 0/0 .text CreateHeap__12daObjCdoor_cFv */
|
||||
int daObjCdoor_c::CreateHeap() {
|
||||
J3DModelData* model_data =
|
||||
(J3DModelData*)dComIfG_getObjectRes(l_arcName[mType], l_bmdIdx[mType]);
|
||||
mpModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000084);
|
||||
if (mpModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
if (mType == 1) {
|
||||
J3DAnmTransform* open_anm = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName[mType], 6);
|
||||
mOpenAnm.init(open_anm, 1, 0, 1.0f, 0, -1, false);
|
||||
J3DAnmTransform* close_anm = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName[mType], 5);
|
||||
mCloseAnm.init(close_anm, 1, 0, 1.0f, 0, -1, false);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BC7DA0-80BC7DAC -00001 000C+00 0/1 0/0 0/0 .data @4022 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_4022[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeClose__12daObjCdoor_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7DAC-80BC7DD0 000054 0024+00 0/1 0/0 0/0 .data mode_proc$4019 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 mode_proc[36] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7DD0-80BC7DDC -00001 000C+00 0/1 0/0 0/0 .data @4114 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_4114[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)actionWait__12daObjCdoor_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7DDC-80BC7DE8 -00001 000C+00 0/1 0/0 0/0 .data @4115 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_4115[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)actionOrderEvent__12daObjCdoor_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7DE8-80BC7DF4 -00001 000C+00 0/1 0/0 0/0 .data @4116 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_4116[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)actionEvent__12daObjCdoor_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7DF4-80BC7E00 -00001 000C+00 0/1 0/0 0/0 .data @4117 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_4117[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)actionDead__12daObjCdoor_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7E00-80BC7E30 0000A8 0030+00 0/1 0/0 0/0 .data l_func$4113 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u8 l_func[48] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7E30-80BC7E50 -00001 0020+00 1/0 0/0 0/0 .data l_daObjCdoor_Method */
|
||||
SECTION_DATA static void* l_daObjCdoor_Method[8] = {
|
||||
(void*)daObjCdoor_Create__FP10fopAc_ac_c,
|
||||
(void*)daObjCdoor_Delete__FP12daObjCdoor_c,
|
||||
(void*)daObjCdoor_Execute__FP12daObjCdoor_c,
|
||||
(void*)NULL,
|
||||
(void*)daObjCdoor_Draw__FP12daObjCdoor_c,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
};
|
||||
|
||||
/* 80BC7E50-80BC7E80 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Cdoor */
|
||||
SECTION_DATA extern void* g_profile_Obj_Cdoor[12] = {
|
||||
(void*)0xFFFFFFFD, (void*)0x0003FFFD,
|
||||
(void*)0x00340000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x000005FC, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopAc_Method,
|
||||
(void*)0x00F50000, (void*)&l_daObjCdoor_Method,
|
||||
(void*)0x00040100, (void*)0x030E0000,
|
||||
};
|
||||
|
||||
/* 80BC7E80-80BC7EAC 000128 002C+00 2/2 0/0 0/0 .data __vt__12daObjCdoor_c */
|
||||
SECTION_DATA extern void* __vt__12daObjCdoor_c[11] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)CreateHeap__12daObjCdoor_cFv,
|
||||
(void*)Create__16dBgS_MoveBgActorFv,
|
||||
(void*)Execute__12daObjCdoor_cFPPA3_A4_f,
|
||||
(void*)Draw__12daObjCdoor_cFv,
|
||||
(void*)Delete__16dBgS_MoveBgActorFv,
|
||||
(void*)IsDelete__16dBgS_MoveBgActorFv,
|
||||
(void*)ToFore__16dBgS_MoveBgActorFv,
|
||||
(void*)ToBack__16dBgS_MoveBgActorFv,
|
||||
(void*)__dt__12daObjCdoor_cFv,
|
||||
};
|
||||
|
||||
/* 80BC7EAC-80BC7EB8 000154 000C+00 3/3 0/0 0/0 .data __vt__12J3DFrameCtrl */
|
||||
SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__12J3DFrameCtrlFv,
|
||||
};
|
||||
/* 80BC6EF0-80BC6F30 0001B0 0040+00 2/2 0/0 0/0 .text daObjCdoor_searchChain__FP10fopAc_ac_cPv */
|
||||
static void* daObjCdoor_searchChain(fopAc_ac_c* i_actor, void* i_this) {
|
||||
daObjCdoor_c* _this = static_cast<daObjCdoor_c*>(i_this);
|
||||
if (fopAcM_GetName(i_actor) == PROC_Obj_Wchain) {
|
||||
daObjWchain_c* chain = static_cast<daObjWchain_c*>(i_actor);
|
||||
if (chain->getSwitchNum() == _this->getSwitchNum()) {
|
||||
_this->setChainID(fopAcM_GetID(chain));
|
||||
return chain;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* 80BC6F30-80BC7234 0001F0 0304+00 1/1 0/0 0/0 .text create__12daObjCdoor_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjCdoor_c::create() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/create__12daObjCdoor_cFv.s"
|
||||
cPhs__Step daObjCdoor_c::create() {
|
||||
fopAcM_SetupActor(this, daObjCdoor_c);
|
||||
mType = (fopAcM_GetParam(this) >> 8) & 0xf;
|
||||
cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName[mType]);
|
||||
if (step == cPhs_COMPLEATE_e) {
|
||||
step = (cPhs__Step)MoveBGCreate(l_arcName[mType], l_dzbIdx[mType], NULL, 0xc00, NULL);
|
||||
if (step == cPhs_ERROR_e) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
|
||||
mTevStr.mRoomNo = dStage_roomControl_c::mStayNo;
|
||||
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
|
||||
mSw = fopAcM_GetParam(this) & 0xff;
|
||||
mChainID = -1;
|
||||
mEnd = false;
|
||||
if (mType == 1) {
|
||||
mIsOpen = i_fopAcM_isSwitch(this, mSw);
|
||||
mMapToolID = (fopAcM_GetParam(this) >> 0xc) & 0xff;
|
||||
mEventID = i_dComIfGp_getEventManager().getEventIdx(this, mMapToolID);
|
||||
setAction(ACT_WAIT);
|
||||
if (mMapToolID == 0xff) {
|
||||
setAction(ACT_DEAD);
|
||||
}
|
||||
if (mIsOpen) {
|
||||
mOpenAnm.setFrame(mOpenAnm.getEndFrame());
|
||||
mOpenAnm.play();
|
||||
} else {
|
||||
mCloseAnm.setFrame(mOpenAnm.getEndFrame());
|
||||
mCloseAnm.play();
|
||||
}
|
||||
init_modeWait();
|
||||
} else {
|
||||
if (i_fopAcM_isSwitch(this, mSw)) {
|
||||
mEnd = 1;
|
||||
current.pos.y += l_moveOffsetY[mType];
|
||||
} else {
|
||||
fopAcIt_Judge((fopAcIt_JudgeFunc)daObjCdoor_searchChain, this);
|
||||
}
|
||||
}
|
||||
mAttentionInfo.mPosition.set(
|
||||
current.pos.x,
|
||||
current.pos.y + l_attentionOffsetY[mType],
|
||||
current.pos.z
|
||||
);
|
||||
mEyePos = mAttentionInfo.mPosition;
|
||||
setMatrix();
|
||||
}
|
||||
return step;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7234-80BC727C 0004F4 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DFrameCtrl::~J3DFrameCtrl() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/__dt__12J3DFrameCtrlFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC727C-80BC729C 00053C 0020+00 1/0 0/0 0/0 .text daObjCdoor_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjCdoor_Create(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/daObjCdoor_Create__FP10fopAc_ac_c.s"
|
||||
static cPhs__Step daObjCdoor_Create(fopAc_ac_c* i_this) {
|
||||
return static_cast<daObjCdoor_c*>(i_this)->create();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC729C-80BC7378 00055C 00DC+00 1/0 0/0 0/0 .text __dt__12daObjCdoor_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm daObjCdoor_c::~daObjCdoor_c() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/__dt__12daObjCdoor_cFv.s"
|
||||
daObjCdoor_c::~daObjCdoor_c() {
|
||||
dComIfG_resDelete(&mPhaseReq, l_arcName[mType]);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7378-80BC73C0 000638 0048+00 1/0 0/0 0/0 .text daObjCdoor_Delete__FP12daObjCdoor_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjCdoor_Delete(daObjCdoor_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/daObjCdoor_Delete__FP12daObjCdoor_c.s"
|
||||
static int daObjCdoor_Delete(daObjCdoor_c* i_this) {
|
||||
i_this->MoveBGDelete();
|
||||
i_this->~daObjCdoor_c();
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC73C0-80BC7424 000680 0064+00 3/3 0/0 0/0 .text setMatrix__12daObjCdoor_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjCdoor_c::setMatrix() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/setMatrix__12daObjCdoor_cFv.s"
|
||||
void daObjCdoor_c::setMatrix() {
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7424-80BC7478 0006E4 0054+00 1/0 0/0 0/0 .text Execute__12daObjCdoor_cFPPA3_A4_f
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjCdoor_c::Execute(f32 (**param_0)[3][4]) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/Execute__12daObjCdoor_cFPPA3_A4_f.s"
|
||||
int daObjCdoor_c::Execute(Mtx** i_mtxP) {
|
||||
*i_mtxP = &mpModel->getBaseTRMtx();
|
||||
switch (mType) {
|
||||
case 0:
|
||||
execCdoor();
|
||||
break;
|
||||
case 1:
|
||||
execWgate();
|
||||
break;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BC7D40-80BC7D44 000028 0004+00 2/3 0/0 0/0 .rodata @4014 */
|
||||
SECTION_RODATA static f32 const lit_4014 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC7D40, &lit_4014);
|
||||
|
||||
/* 80BC7D44-80BC7D48 00002C 0004+00 0/1 0/0 0/0 .rodata @4015 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4015 = 1.0f / 100.0f;
|
||||
COMPILER_STRIP_GATE(0x80BC7D44, &lit_4015);
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7478-80BC7630 000738 01B8+00 1/1 0/0 0/0 .text execCdoor__12daObjCdoor_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjCdoor_c::execCdoor() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/execCdoor__12daObjCdoor_cFv.s"
|
||||
void daObjCdoor_c::execCdoor() {
|
||||
if (!mEnd) {
|
||||
if (mChainID == -1) {
|
||||
fopAcIt_Judge((fopAcIt_JudgeFunc)daObjCdoor_searchChain, this);
|
||||
}
|
||||
if (mChainID != -1) {
|
||||
daObjWchain_c* chain = static_cast<daObjWchain_c*>(fopAcM_SearchByID(mChainID));
|
||||
if (chain != NULL) {
|
||||
if (chain->getEndFlg()) {
|
||||
mChainID = -1;
|
||||
mEnd = true;
|
||||
current.pos.y = orig.pos.y + l_moveOffsetY[mType];
|
||||
if (mCamLock) {
|
||||
dCam_getBody()->ForceLockOff(this);
|
||||
mCamLock = false;
|
||||
}
|
||||
fopAcM_seStartCurrent(this, Z2SE_OBJ_OPEN_CHAIN_SW_DOOR, 0);
|
||||
} else {
|
||||
current.pos.y = orig.pos.y + l_moveOffsetY[mType] * chain->getMoveDisRate();
|
||||
if (chain->checkRideFlg()) {
|
||||
dCam_getBody()->ForceLockOn(this);
|
||||
mCamLock = true;
|
||||
} else if (mCamLock) {
|
||||
dCam_getBody()->ForceLockOff(this);
|
||||
mCamLock = false;
|
||||
}
|
||||
}
|
||||
setMatrix();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7630-80BC775C 0008F0 012C+00 1/1 0/0 0/0 .text execWgate__12daObjCdoor_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjCdoor_c::execWgate() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/execWgate__12daObjCdoor_cFv.s"
|
||||
void daObjCdoor_c::execWgate() {
|
||||
typedef void (daObjCdoor_c::*daObjCdoor_modeFunc)();
|
||||
static daObjCdoor_modeFunc mode_proc[3] = {
|
||||
&modeWait,
|
||||
&modeOpen,
|
||||
&modeClose,
|
||||
};
|
||||
u8 was_open = mIsOpen;
|
||||
mIsOpen = i_fopAcM_isSwitch(this, mSw);
|
||||
if (mIsOpen != was_open) {
|
||||
if (mIsOpen) {
|
||||
init_modeOpen();
|
||||
} else {
|
||||
init_modeClose();
|
||||
}
|
||||
mDoAud_setHyrulSewerOpen(was_open);
|
||||
}
|
||||
(this->*mode_proc[mMode])();
|
||||
setMatrix();
|
||||
event_proc_call();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC775C-80BC7768 000A1C 000C+00 3/3 0/0 0/0 .text init_modeWait__12daObjCdoor_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjCdoor_c::init_modeWait() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/init_modeWait__12daObjCdoor_cFv.s"
|
||||
void daObjCdoor_c::init_modeWait() {
|
||||
mMode = MODE_WAIT;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7768-80BC776C 000A28 0004+00 1/0 0/0 0/0 .text modeWait__12daObjCdoor_cFv */
|
||||
void daObjCdoor_c::modeWait() {
|
||||
|
|
@ -573,126 +233,133 @@ void daObjCdoor_c::modeWait() {
|
|||
}
|
||||
|
||||
/* 80BC776C-80BC77BC 000A2C 0050+00 1/1 0/0 0/0 .text init_modeOpen__12daObjCdoor_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjCdoor_c::init_modeOpen() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/init_modeOpen__12daObjCdoor_cFv.s"
|
||||
void daObjCdoor_c::init_modeOpen() {
|
||||
mOpenAnm.reset();
|
||||
mMode = MODE_OPEN;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC77BC-80BC78B0 000A7C 00F4+00 1/0 0/0 0/0 .text modeOpen__12daObjCdoor_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjCdoor_c::modeOpen() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/modeOpen__12daObjCdoor_cFv.s"
|
||||
void daObjCdoor_c::modeOpen() {
|
||||
fopAcM_seStartCurrentLevel(this, Z2SE_OBJ_WATERGATE_MOVE, 0);
|
||||
if (mOpenAnm.play()) {
|
||||
fopAcM_seStartCurrent(this, Z2SE_OBJ_OPEN_CHAIN_SW_DOOR, 0);
|
||||
init_modeWait();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC78B0-80BC7900 000B70 0050+00 1/1 0/0 0/0 .text init_modeClose__12daObjCdoor_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjCdoor_c::init_modeClose() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/init_modeClose__12daObjCdoor_cFv.s"
|
||||
void daObjCdoor_c::init_modeClose() {
|
||||
mCloseAnm.reset();
|
||||
mMode = MODE_CLOSE;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7900-80BC79F4 000BC0 00F4+00 1/0 0/0 0/0 .text modeClose__12daObjCdoor_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjCdoor_c::modeClose() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/modeClose__12daObjCdoor_cFv.s"
|
||||
void daObjCdoor_c::modeClose() {
|
||||
fopAcM_seStartCurrentLevel(this, Z2SE_OBJ_WATERGATE_MOVE, 0);
|
||||
if (mCloseAnm.play()) {
|
||||
fopAcM_seStartCurrent(this, Z2SE_OBJ_OPEN_CHAIN_SW_DOOR, 0);
|
||||
init_modeWait();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC79F4-80BC7A14 000CB4 0020+00 1/0 0/0 0/0 .text daObjCdoor_Execute__FP12daObjCdoor_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjCdoor_Execute(daObjCdoor_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/daObjCdoor_Execute__FP12daObjCdoor_c.s"
|
||||
static int daObjCdoor_Execute(daObjCdoor_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7A14-80BC7AD0 000CD4 00BC+00 1/1 0/0 0/0 .text event_proc_call__12daObjCdoor_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjCdoor_c::event_proc_call() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/event_proc_call__12daObjCdoor_cFv.s"
|
||||
void daObjCdoor_c::event_proc_call() {
|
||||
typedef void (daObjCdoor_c::*daObjCdoor_eventFunc)();
|
||||
static daObjCdoor_eventFunc l_func[4] = {
|
||||
&actionWait,
|
||||
&actionOrderEvent,
|
||||
&actionEvent,
|
||||
&actionDead,
|
||||
};
|
||||
(this->*l_func[mAction])();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7AD0-80BC7B34 000D90 0064+00 1/0 0/0 0/0 .text actionWait__12daObjCdoor_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjCdoor_c::actionWait() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/actionWait__12daObjCdoor_cFv.s"
|
||||
void daObjCdoor_c::actionWait() {
|
||||
if (mMapToolID != 0xff) {
|
||||
setAction(ACT_ORDER_EVENT);
|
||||
fopAcM_orderOtherEventId(this, mEventID, mMapToolID, 0xffff, 0, 1);
|
||||
mEvtInfo.i_onCondition(2);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7B34-80BC7B9C 000DF4 0068+00 1/0 0/0 0/0 .text actionOrderEvent__12daObjCdoor_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjCdoor_c::actionOrderEvent() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/actionOrderEvent__12daObjCdoor_cFv.s"
|
||||
void daObjCdoor_c::actionOrderEvent() {
|
||||
if (mEvtInfo.i_checkCommandDemoAccrpt()) {
|
||||
setAction(ACT_EVENT);
|
||||
} else {
|
||||
fopAcM_orderOtherEventId(this, mEventID, mMapToolID, 0xffff, 0, 1);
|
||||
mEvtInfo.i_onCondition(2);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7B9C-80BC7BF8 000E5C 005C+00 1/0 0/0 0/0 .text actionEvent__12daObjCdoor_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjCdoor_c::actionEvent() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/actionEvent__12daObjCdoor_cFv.s"
|
||||
void daObjCdoor_c::actionEvent() {
|
||||
if (dComIfGp_evmng_endCheck(mEventID)) {
|
||||
setAction(ACT_DEAD);
|
||||
i_dComIfGp_event_reset();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7BF8-80BC7C04 000EB8 000C+00 1/0 0/0 0/0 .text actionDead__12daObjCdoor_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjCdoor_c::actionDead() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/actionDead__12daObjCdoor_cFv.s"
|
||||
void daObjCdoor_c::actionDead() {
|
||||
setAction(ACT_WAIT);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7C04-80BC7CE4 000EC4 00E0+00 1/0 0/0 0/0 .text Draw__12daObjCdoor_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjCdoor_c::Draw() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/Draw__12daObjCdoor_cFv.s"
|
||||
int daObjCdoor_c::Draw() {
|
||||
g_env_light.settingTevStruct(0x10, ¤t.pos, &mTevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel->mModelData, &mTevStr);
|
||||
if (mType == 1) {
|
||||
J3DModelData* model_data = mpModel->getModelData();
|
||||
if (mIsOpen) {
|
||||
mOpenAnm.entry(model_data);
|
||||
} else {
|
||||
mCloseAnm.entry(model_data);
|
||||
}
|
||||
}
|
||||
dComIfGd_setListBG();
|
||||
mDoExt_modelUpdateDL(mpModel);
|
||||
dComIfGd_setList();
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7CE4-80BC7D10 000FA4 002C+00 1/0 0/0 0/0 .text daObjCdoor_Draw__FP12daObjCdoor_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjCdoor_Draw(daObjCdoor_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_cdoor/d_a_obj_cdoor/daObjCdoor_Draw__FP12daObjCdoor_c.s"
|
||||
static int daObjCdoor_Draw(daObjCdoor_c* i_this) {
|
||||
return i_this->MoveBGDraw();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80BC7D48-80BC7D48 000030 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 80BC7E30-80BC7E50 -00001 0020+00 1/0 0/0 0/0 .data l_daObjCdoor_Method */
|
||||
static actor_method_class l_daObjCdoor_Method = {
|
||||
(process_method_func)daObjCdoor_Create,
|
||||
(process_method_func)daObjCdoor_Delete,
|
||||
(process_method_func)daObjCdoor_Execute,
|
||||
(process_method_func)NULL,
|
||||
(process_method_func)daObjCdoor_Draw,
|
||||
};
|
||||
|
||||
/* 80BC7E50-80BC7E80 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Cdoor */
|
||||
extern actor_process_profile_definition g_profile_Obj_Cdoor = {
|
||||
fpcLy_CURRENT_e,
|
||||
3,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_Obj_Cdoor,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(daObjCdoor_c),
|
||||
0,
|
||||
0,
|
||||
&g_fopAc_Method.base,
|
||||
0xF5,
|
||||
&l_daObjCdoor_Method,
|
||||
0x40100,
|
||||
fopAc_ENV_e,
|
||||
fopAc_CULLBOX_CUSTOM_e,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,28 +0,0 @@
|
|||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: unknown_translation_unit_bss
|
||||
//
|
||||
|
||||
#include "rel/d/a/obj/d_a_obj_cdoor/unknown_translation_unit_bss.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" extern u8 struct_80BC7EB8[4];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BC7EB8-80BC7EBC -00001 0004+00 0/0 2/2 0/0 .bss None */
|
||||
/* 80BC7EB8 0001+00 data_80BC7EB8 None */
|
||||
/* 80BC7EB9 0003+00 data_80BC7EB9 None */
|
||||
extern u8 struct_80BC7EB8[4];
|
||||
u8 struct_80BC7EB8[4];
|
||||
|
|
@ -4,122 +4,16 @@
|
|||
//
|
||||
|
||||
#include "rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct request_of_phase_process_class {};
|
||||
|
||||
struct csXyz {
|
||||
/* 80D303D0 */ csXyz();
|
||||
/* 802673F4 */ csXyz(s16, s16, s16);
|
||||
/* 80D30394 */ ~csXyz();
|
||||
};
|
||||
|
||||
struct Vec {};
|
||||
|
||||
struct cXyz {
|
||||
/* 80266AE4 */ void operator+(Vec const&) const;
|
||||
/* 80266B34 */ void operator-(Vec const&) const;
|
||||
/* 80266B84 */ void operator*(f32) const;
|
||||
/* 80266F48 */ void normalizeZP();
|
||||
/* 80267150 */ void atan2sY_XZ() const;
|
||||
/* 80D303D4 */ cXyz();
|
||||
/* 80D303D8 */ ~cXyz();
|
||||
|
||||
static f32 Zero[3];
|
||||
};
|
||||
|
||||
struct mDoMtx_stack_c {
|
||||
/* 8000CDD4 */ void transM(cXyz const&);
|
||||
/* 8000CD9C */ void transM(f32, f32, f32);
|
||||
/* 8000CF44 */ void ZXYrotM(csXyz const&);
|
||||
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct fopAc_ac_c {
|
||||
/* 80018B64 */ fopAc_ac_c();
|
||||
/* 80018C8C */ ~fopAc_ac_c();
|
||||
};
|
||||
|
||||
struct fopAcM_rc_c {
|
||||
/* 8001DD1C */ void roofCheck(cXyz const*);
|
||||
|
||||
static f32 mRoofY;
|
||||
};
|
||||
|
||||
struct daObjWchain_shape_c {
|
||||
/* 80D31418 */ void draw();
|
||||
/* 80D318C0 */ ~daObjWchain_shape_c();
|
||||
};
|
||||
|
||||
struct daObjWchain_c {
|
||||
/* 80D2FEF8 */ void createHeap();
|
||||
/* 80D2FFBC */ void create();
|
||||
/* 80D30434 */ ~daObjWchain_c();
|
||||
/* 80D30534 */ void setMatrix();
|
||||
/* 80D305E4 */ void getChainAngleZ(cXyz*, int);
|
||||
/* 80D3080C */ void setChainPos();
|
||||
/* 80D310AC */ void execute();
|
||||
/* 80D31810 */ void draw();
|
||||
};
|
||||
|
||||
struct dSv_info_c {
|
||||
/* 80035200 */ void onSwitch(int, int);
|
||||
/* 800352B0 */ void offSwitch(int, int);
|
||||
/* 80035360 */ void isSwitch(int, int) const;
|
||||
};
|
||||
|
||||
struct dKy_tevstr_c {};
|
||||
|
||||
struct J3DModelData {};
|
||||
|
||||
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 JAISoundID {};
|
||||
|
||||
struct Z2SeMgr {
|
||||
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
/* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
};
|
||||
|
||||
struct Z2AudioMgr {
|
||||
static u8 mAudioMgrPtr[4 + 4 /* padding */];
|
||||
};
|
||||
|
||||
struct JMath {
|
||||
static u8 sincosTable_[65536];
|
||||
};
|
||||
|
||||
struct J3DShape {
|
||||
/* 80315300 */ void loadPreDrawSetting() const;
|
||||
|
||||
static u8 sOldVcdVatCmd[4];
|
||||
};
|
||||
|
||||
struct J3DPacket;
|
||||
struct J3DDrawBuffer {
|
||||
/* 8032548C */ void entryImm(J3DPacket*, u16);
|
||||
};
|
||||
|
||||
struct J3DPacket {
|
||||
/* 80312750 */ bool entry(J3DDrawBuffer*);
|
||||
};
|
||||
|
||||
struct J3DModel {};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
|
@ -191,37 +85,17 @@ extern "C" void __dl__FPv();
|
|||
extern "C" bool entry__9J3DPacketFP13J3DDrawBuffer();
|
||||
extern "C" void loadPreDrawSetting__8J3DShapeCFv();
|
||||
extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs();
|
||||
extern "C" void PSMTXCopy();
|
||||
extern "C" void PSMTXTrans();
|
||||
extern "C" void PSMTXMultVec();
|
||||
extern "C" void PSVECAdd();
|
||||
extern "C" void PSVECScale();
|
||||
extern "C" void PSVECSquareMag();
|
||||
extern "C" void GXLoadLightObjImm();
|
||||
extern "C" void GXSetChanAmbColor();
|
||||
extern "C" void GXSetChanMatColor();
|
||||
extern "C" void GXLoadPosMtxImm();
|
||||
extern "C" void GXLoadNrmMtxImm();
|
||||
extern "C" void __destroy_arr();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_20();
|
||||
extern "C" void _savegpr_22();
|
||||
extern "C" void _restgpr_20();
|
||||
extern "C" void _restgpr_22();
|
||||
extern "C" void abs();
|
||||
extern "C" extern void* g_fopAc_Method[8];
|
||||
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__9J3DPacket[5];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_env_light[4880];
|
||||
extern "C" f32 Zero__4cXyz[3];
|
||||
extern "C" extern u8 j3dSys[284];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" extern u32 g_whiteColor;
|
||||
extern "C" extern u32 __float_nan;
|
||||
extern "C" f32 mRoofY__11fopAcM_rc_c;
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
extern "C" u8 sOldVcdVatCmd__8J3DShape[4];
|
||||
|
||||
|
|
@ -229,40 +103,37 @@ extern "C" u8 sOldVcdVatCmd__8J3DShape[4];
|
|||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D31924-80D3192C 000000 0007+01 8/8 0/0 0/0 .rodata l_arcName */
|
||||
SECTION_RODATA static u8 const l_arcName[7 + 1 /* padding */] = {
|
||||
0x57,
|
||||
0x63,
|
||||
0x68,
|
||||
0x61,
|
||||
0x69,
|
||||
0x6E,
|
||||
0x00,
|
||||
/* padding */
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D31924, &l_arcName);
|
||||
static char const l_arcName[7] = "Wchain";
|
||||
|
||||
/* 80D2FEF8-80D2FF9C 000078 00A4+00 1/1 0/0 0/0 .text createHeap__13daObjWchain_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches once daObjWchain_shape_c inheritance is resolved
|
||||
int daObjWchain_c::createHeap() {
|
||||
J3DModelData* handle_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 4);
|
||||
mpHandleModel = mDoExt_J3DModel__create(handle_model_data, 0x80000, 0x11000084);
|
||||
if (mpHandleModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
mpChainModelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 3);
|
||||
mShape.setUserArea((u32)this);
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjWchain_c::createHeap() {
|
||||
asm int daObjWchain_c::createHeap() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain/createHeap__13daObjWchain_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80D2FF9C-80D2FFBC 00011C 0020+00 1/1 0/0 0/0 .text daObjWchain_createHeap__FP10fopAc_ac_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjWchain_createHeap(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain/daObjWchain_createHeap__FP10fopAc_ac_c.s"
|
||||
static int daObjWchain_createHeap(fopAc_ac_c* i_this) {
|
||||
return static_cast<daObjWchain_c*>(i_this)->createHeap();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D3192C-80D31930 000008 0004+00 0/1 0/0 0/0 .rodata @3744 */
|
||||
|
|
@ -409,32 +280,90 @@ SECTION_DATA extern void* __vt__19daObjWchain_shape_c[5] = {
|
|||
};
|
||||
|
||||
/* 80D2FFBC-80D30394 00013C 03D8+00 1/1 0/0 0/0 .text create__13daObjWchain_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches once daObjWchain_shape_c inheritance is resolved
|
||||
cPhs__Step daObjWchain_c::create() {
|
||||
fopAcM_SetupActor(this, daObjWchain_c);
|
||||
mSw = fopAcM_GetParam(this) & 0xff;
|
||||
cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName);
|
||||
if (step == cPhs_COMPLEATE_e) {
|
||||
mRepeatable = (fopAcM_GetParam(this) >> 8) & 0xf;
|
||||
if (mRepeatable == 0xf) {
|
||||
mRepeatable = 0;
|
||||
}
|
||||
if (!fopAcM_entrySolidHeap(this, daObjWchain_createHeap, 0x820)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
mTevStr.mRoomNo = dStage_roomControl_c::mStayNo;
|
||||
mAttentionInfo.mPosition = current.pos;
|
||||
mEyePos = mAttentionInfo.mPosition;
|
||||
mAttentionInfo.field_0x0[0] = 0x1c;
|
||||
fopAcM_SetMtx(this, mpHandleModel->getBaseTRMtx());
|
||||
fopAcM_SetMin(this, -200.0f, -45.0f, -200.0f);
|
||||
fopAcM_SetMax(this, 200.0f, 800.0f, 200.0f);
|
||||
mTopPos = current.pos;
|
||||
current.pos.y += 53.75f;
|
||||
mRoofPos.set(current.pos.x, current.pos.y + 280.0f - 100.0f, current.pos.z);
|
||||
mRealRoofY = mRoofPos.y + 250.0f;
|
||||
mInitOutLength = mRoofPos.y - orig.pos.y;
|
||||
if (!mRepeatable && i_fopAcM_isSwitch(this, mSw)) {
|
||||
current.pos.y -= 100.0f;
|
||||
mEnd = true;
|
||||
mPullLength = 100.0f;
|
||||
field_0x7a8 = 600.0f;
|
||||
} else {
|
||||
mPullLength = 0.0f;
|
||||
}
|
||||
shape_angle.x = 0x4000;
|
||||
mGravity = -7.0f;
|
||||
cXyz* chain_pos = &mChainPos[0xf];
|
||||
cXyz* chain_speed = &mChainSpeed[0xf];
|
||||
csXyz* chain_angle = &mChainAngle[0xf];
|
||||
s16 ang_z = cM_rndFX(2048.0f) + 16384.0f;
|
||||
f32 pos_y = current.pos.y;
|
||||
for (int i = 0xf; i >= 0; chain_pos--, chain_speed--, chain_angle--, i--) {
|
||||
chain_pos->set(current.pos.x, pos_y, current.pos.z);
|
||||
*chain_speed = cXyz::Zero;
|
||||
chain_angle->set(0x4000, shape_angle.y, ang_z);
|
||||
ang_z += cM_rndFX(2048.0f) + 16384.0f;
|
||||
pos_y += 17.5f;
|
||||
}
|
||||
speed = cXyz::Zero;
|
||||
setMatrix();
|
||||
}
|
||||
return step;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjWchain_c::create() {
|
||||
asm cPhs__Step daObjWchain_c::create() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain/create__13daObjWchain_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80D30394-80D303D0 000514 003C+00 2/2 0/0 0/0 .text __dt__5csXyzFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm csXyz::~csXyz() {
|
||||
// asm csXyz::~csXyz() {
|
||||
extern "C" asm void __dt__5csXyzFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain/__dt__5csXyzFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D303D0-80D303D4 000550 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */
|
||||
csXyz::csXyz() {
|
||||
// csXyz::csXyz() {
|
||||
extern "C" void __ct__5csXyzFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80D303D4-80D303D8 000554 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
|
||||
cXyz::cXyz() {
|
||||
// cXyz::cXyz() {
|
||||
extern "C" void __ct__4cXyzFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
|
|
@ -442,7 +371,8 @@ cXyz::cXyz() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cXyz::~cXyz() {
|
||||
// asm cXyz::~cXyz() {
|
||||
extern "C" asm void __dt__4cXyzFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain/__dt__4cXyzFv.s"
|
||||
}
|
||||
|
|
@ -450,16 +380,17 @@ asm cXyz::~cXyz() {
|
|||
|
||||
/* 80D30414-80D30434 000594 0020+00 1/0 0/0 0/0 .text daObjWchain_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjWchain_Create(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain/daObjWchain_Create__FP10fopAc_ac_c.s"
|
||||
static cPhs__Step daObjWchain_Create(fopAc_ac_c* i_this) {
|
||||
return static_cast<daObjWchain_c*>(i_this)->create();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D30434-80D3050C 0005B4 00D8+00 1/1 0/0 0/0 .text __dt__13daObjWchain_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches once daObjWchain_shape_c inheritance is resolved
|
||||
daObjWchain_c::~daObjWchain_c() {
|
||||
dComIfG_resDelete(&mPhaseReq, l_arcName);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -468,16 +399,13 @@ asm daObjWchain_c::~daObjWchain_c() {
|
|||
#include "asm/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain/__dt__13daObjWchain_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80D3050C-80D30534 00068C 0028+00 1/0 0/0 0/0 .text daObjWchain_Delete__FP13daObjWchain_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjWchain_Delete(daObjWchain_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain/daObjWchain_Delete__FP13daObjWchain_c.s"
|
||||
static int daObjWchain_Delete(daObjWchain_c* i_this) {
|
||||
i_this->~daObjWchain_c();
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D3196C-80D31978 000048 000C+00 0/1 0/0 0/0 .rodata eyeOffset$3803 */
|
||||
|
|
@ -497,6 +425,18 @@ COMPILER_STRIP_GATE(0x80D31978, &lit_3819);
|
|||
#pragma pop
|
||||
|
||||
/* 80D30534-80D305E4 0006B4 00B0+00 2/2 0/0 0/0 .text setMatrix__13daObjWchain_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
void daObjWchain_c::setMatrix() {
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::ZrotM(mHandleRotation);
|
||||
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
|
||||
mDoMtx_stack_c::transM(0.0f, 0.0f, 8.75f);
|
||||
mpHandleModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
static Vec const eyeOffset = {0.0f, 0.0f, 53.75f};
|
||||
mDoMtx_stack_c::multVec(&eyeOffset, &mEyePos);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -505,6 +445,7 @@ asm void daObjWchain_c::setMatrix() {
|
|||
#include "asm/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain/setMatrix__13daObjWchain_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D3197C-80D31984 000058 0008+00 0/2 0/0 0/0 .rodata @3863 */
|
||||
|
|
@ -549,14 +490,31 @@ COMPILER_STRIP_GATE(0x80D31998, &lit_3867);
|
|||
#pragma pop
|
||||
|
||||
/* 80D305E4-80D3080C 000764 0228+00 1/1 0/0 0/0 .text getChainAngleZ__13daObjWchain_cFP4cXyzi */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
s16 daObjWchain_c::getChainAngleZ(cXyz* param_0, int param_1) {
|
||||
cXyz vec(param_0->x, 0.0f, param_0->z);
|
||||
f32 len = vec.abs();
|
||||
if (param_1 > 0x5000) {
|
||||
return -len * (cM_rndF(0.5f) + 0.5f) * 512.0f;
|
||||
} else if (param_1 < 0x3000) {
|
||||
return len * (cM_rndF(0.5f) + 0.5f) * 512.0f;
|
||||
} else if (cM_rnd() < 0.5f) {
|
||||
return -len * (cM_rndF(0.5f) + 0.5f) * 512.0f;
|
||||
} else {
|
||||
return len * (cM_rndF(0.5f) + 0.5f) * 512.0f;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjWchain_c::getChainAngleZ(cXyz* param_0, int param_1) {
|
||||
asm s16 daObjWchain_c::getChainAngleZ(cXyz* param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain/getChainAngleZ__13daObjWchain_cFP4cXyzi.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D3199C-80D319A8 000078 000C+00 0/1 0/0 0/0 .rodata currentOffset$3872 */
|
||||
|
|
@ -634,6 +592,119 @@ COMPILER_STRIP_GATE(0x80D319D0, &lit_4161);
|
|||
#pragma pop
|
||||
|
||||
/* 80D3080C-80D310AC 00098C 08A0+00 1/1 0/0 0/0 .text setChainPos__13daObjWchain_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// regalloc, instruction ordering
|
||||
void daObjWchain_c::setChainPos() {
|
||||
cXyz prev_pos, vec1;
|
||||
if (mRide) {
|
||||
shape_angle.y = daPy_getLinkPlayerActorClass()->shape_angle.y;
|
||||
shape_angle.z = 0;
|
||||
prev_pos = mTopPos;
|
||||
mTopPos = daPy_getLinkPlayerActorClass()->current.pos;
|
||||
speed = (mTopPos - prev_pos) * 0.75f;
|
||||
vec1 = mTopPos - mRoofPos;
|
||||
mDoMtx_stack_c::YrotS(-shape_angle.y);
|
||||
mDoMtx_stack_c::multVec(&vec1, &vec1);
|
||||
shape_angle.x = cM_atan2s(-vec1.z, -vec1.y) + 0x4000;
|
||||
mHandleRotation = cM_atan2s(vec1.x, JMAFastSqrt(vec1.y * vec1.y + vec1.z * vec1.z));
|
||||
mDoMtx_stack_c::transS(mTopPos.x, mTopPos.y, mTopPos.z);
|
||||
mDoMtx_stack_c::ZrotM(mHandleRotation);
|
||||
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
|
||||
static Vec const currentOffset = {0.0f, 0.0f, -53.75f};
|
||||
mDoMtx_stack_c::multVec(¤tOffset, ¤t.pos);
|
||||
cXyz* chain_pos = &mChainPos[0xf];
|
||||
csXyz* chain_angle = &mChainAngle[0xf];
|
||||
cXyz* chain_speed = &mChainSpeed[0xf];
|
||||
s16* chain_rotation = &mChainRotation[0xf];
|
||||
prev_pos = current.pos;
|
||||
int svar7 = shape_angle.z;
|
||||
for (int i = 0xf; i >= 0; i--, chain_pos--, chain_angle--, chain_speed--, chain_rotation--) {
|
||||
chain_angle->z += getChainAngleZ(chain_speed, abs((s16)(chain_angle->z - svar7)));
|
||||
*chain_speed = (prev_pos - *chain_pos) * 0.75;
|
||||
*chain_pos = prev_pos;
|
||||
chain_angle->x = shape_angle.x;
|
||||
*chain_rotation = mHandleRotation;
|
||||
mDoMtx_stack_c::transS(prev_pos.x, prev_pos.y, prev_pos.z);
|
||||
mDoMtx_stack_c::ZrotM(*chain_rotation);
|
||||
mDoMtx_stack_c::ZXYrotM(chain_angle->x, shape_angle.y, chain_angle->z);
|
||||
static Vec const chainOffset = {0.0f, 0.0f, -17.5f};
|
||||
mDoMtx_stack_c::multVec(&chainOffset, &prev_pos);
|
||||
svar7 = chain_angle->z;
|
||||
}
|
||||
} else {
|
||||
if (mReset) {
|
||||
if (cLib_chaseF(&mPullLength, 0.0f, 1.0f)) {
|
||||
mReset = false;
|
||||
mEnd = false;
|
||||
}
|
||||
} else if (mRepeatable || !i_fopAcM_isSwitch(this, mSw)) {
|
||||
cLib_chaseF(&mPullLength, 0.0f, 5.0f);
|
||||
} else {
|
||||
mPullLength = 100.0f;
|
||||
mEnd = true;
|
||||
if (!mRepeatable) {
|
||||
cLib_chaseF(&field_0x7a8, 600.0f, 30.0f);
|
||||
}
|
||||
}
|
||||
f32 fvar2 = mInitOutLength + mPullLength - 53.75f;
|
||||
int local_68 = fvar2 * (1.0f / 17.5f);
|
||||
int ivar5 = local_68 <= 0xf ? local_68 + 1 : 0x10;
|
||||
int chain_no = 0x10 - ivar5;
|
||||
cXyz* chain_pos = &mChainPos[chain_no];
|
||||
csXyz* chain_angle = &mChainAngle[chain_no];
|
||||
s16* chain_rotation = &mChainRotation[chain_no];
|
||||
chain_pos->set(
|
||||
mRoofPos.x,
|
||||
field_0x7a8 + (mRoofPos.y - (17.5f - (ivar5 * 17.5f - fvar2))),
|
||||
mRoofPos.z
|
||||
);
|
||||
chain_angle->x = 0x4000;
|
||||
*chain_rotation = 0;
|
||||
chain_pos = mChainPos + 1 + chain_no;
|
||||
chain_angle++;
|
||||
cXyz* chain_speed = mChainSpeed + 1 + chain_no;
|
||||
chain_rotation++;
|
||||
mDoMtx_stack_c::YrotS(-shape_angle.y);
|
||||
f32 prob = 0.2f;
|
||||
cXyz local_90;
|
||||
if (!mEnd && cM_rnd() < prob) {
|
||||
f32 ang = cM_rnd() * 6.283185f;
|
||||
local_90.set(cM_fsin(ang), 0.0f, cM_fcos(ang));
|
||||
} else {
|
||||
local_90 = cXyz::Zero;
|
||||
}
|
||||
for (int i = chain_no + 1; i < 0x10; i++, chain_pos++, chain_angle++, chain_speed++, chain_rotation++) {
|
||||
prev_pos = *chain_pos;
|
||||
vec1 = *chain_pos - chain_pos[-1];
|
||||
if (chain_speed->abs2XZ() < 0.04f && cM_rnd() < prob) {
|
||||
vec1 += local_90;
|
||||
prob *= 0.5f;
|
||||
}
|
||||
vec1.y += mGravity;
|
||||
vec1 += *chain_speed;
|
||||
chain_angle->z += getChainAngleZ(chain_speed, abs((s16)(chain_angle->z - chain_angle[-1].z)));
|
||||
vec1.normalizeZP();
|
||||
*chain_pos = chain_pos[-1] + vec1 * 17.5f;
|
||||
*chain_speed = (*chain_pos - prev_pos) * 0.75f;
|
||||
mDoMtx_stack_c::multVec(&vec1, &vec1);
|
||||
chain_angle->x = cM_atan2s(-vec1.z, -vec1.y) + 0x4000;
|
||||
*chain_rotation = cM_atan2s(vec1.x, JMAFastSqrt(vec1.y * vec1.y + vec1.z * vec1.z));
|
||||
}
|
||||
current.pos = mChainPos[0xf];
|
||||
shape_angle.z += getChainAngleZ(&speed, abs((s16)(shape_angle.z - mChainAngle[0xf].z)));
|
||||
prev_pos = mTopPos;
|
||||
vec1 = mTopPos - current.pos;
|
||||
vec1.y += mGravity;
|
||||
vec1 += speed;
|
||||
vec1.normalizeZP();
|
||||
mTopPos = current.pos + vec1 * 53.75f;
|
||||
speed = (mTopPos - prev_pos) * 0.75f;
|
||||
mDoMtx_stack_c::multVec(&vec1, &vec1);
|
||||
shape_angle.x = cM_atan2s(-vec1.z, -vec1.y) + 0x4000;
|
||||
mHandleRotation = cM_atan2s(vec1.x, JMAFastSqrt(vec1.y * vec1.y + vec1.z * vec1.z));
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -642,6 +713,7 @@ asm void daObjWchain_c::setChainPos() {
|
|||
#include "asm/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain/setChainPos__13daObjWchain_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D319D4-80D319D8 0000B0 0004+00 0/1 0/0 0/0 .rodata @4252 */
|
||||
|
|
@ -666,24 +738,76 @@ COMPILER_STRIP_GATE(0x80D319DC, &lit_4254);
|
|||
#pragma pop
|
||||
|
||||
/* 80D310AC-80D313F8 00122C 034C+00 1/1 0/0 0/0 .text execute__13daObjWchain_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
int daObjWchain_c::execute() {
|
||||
if (!mRidePrev && mRide) {
|
||||
fopAcM_seStartCurrent(this, Z2SE_OBJ_GNAW_CHAIN_SW, 0);
|
||||
} else if (mRidePrev && !mRide) {
|
||||
fopAcM_seStartCurrent(this, Z2SE_OBJ_GNAW_CHAIN_SW, 0);
|
||||
}
|
||||
|
||||
if (!mRide) {
|
||||
mDown = false;
|
||||
}
|
||||
|
||||
if (fopAcM_rc_c::roofCheck(&orig.pos)) {
|
||||
mRealRoofY = fopAcM_rc_c::getRoofY();
|
||||
if (mRoofPos.y > mRealRoofY) {
|
||||
mRoofPos.y = mRealRoofY;
|
||||
mInitOutLength = mRoofPos.y - orig.pos.y;
|
||||
}
|
||||
mRealRoofY += 250.0f;
|
||||
}
|
||||
|
||||
setChainPos();
|
||||
|
||||
if (daPy_py_c::i_checkNowWolf() && !mRide && mPullLength < 0.1f) {
|
||||
mAttentionInfo.mFlags |= 1;
|
||||
} else {
|
||||
mAttentionInfo.mFlags &= ~1;
|
||||
}
|
||||
mAttentionInfo.mPosition = current.pos;
|
||||
mAttentionInfo.mPosition.y += 150.0f;
|
||||
|
||||
setMatrix();
|
||||
|
||||
if (mNowSwitch) {
|
||||
fopAcM_seStartCurrent(this, Z2SE_OBJ_STOP_CHAIN_SW, 0);
|
||||
mNowSwitch = false;
|
||||
if (mRepeatable) {
|
||||
mReset = true;
|
||||
if (i_fopAcM_isSwitch(this, mSw)) {
|
||||
i_fopAcM_offSwitch(this, mSw);
|
||||
} else {
|
||||
i_fopAcM_onSwitch(this, mSw);
|
||||
}
|
||||
} else {
|
||||
i_fopAcM_onSwitch(this, mSw);
|
||||
}
|
||||
field_0x77e = 20;
|
||||
} else if (mRide && !mDown) {
|
||||
fopAcM_seStartCurrentLevel(this, Z2SE_OBJ_PULLDOWN_CHAIN_SW, 0);
|
||||
}
|
||||
|
||||
mRidePrev = mRide;
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjWchain_c::execute() {
|
||||
asm int daObjWchain_c::execute() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain/execute__13daObjWchain_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80D313F8-80D31418 001578 0020+00 1/0 0/0 0/0 .text daObjWchain_Execute__FP13daObjWchain_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjWchain_Execute(daObjWchain_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain/daObjWchain_Execute__FP13daObjWchain_c.s"
|
||||
static int daObjWchain_Execute(daObjWchain_c* i_this) {
|
||||
return i_this->execute();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D319E0-80D319E4 0000BC 0004+00 0/1 0/0 0/0 .rodata @4364 */
|
||||
|
|
@ -694,6 +818,65 @@ COMPILER_STRIP_GATE(0x80D319E0, &lit_4364);
|
|||
#pragma pop
|
||||
|
||||
/* 80D31418-80D31810 001598 03F8+00 1/0 0/0 0/0 .text draw__19daObjWchain_shape_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
void daObjWchain_shape_c::draw() {
|
||||
daObjWchain_c* chain = (daObjWchain_c*)getUserArea();
|
||||
cXyz* pos = chain->getChainPos();
|
||||
csXyz* angle = chain->getChainAngle();
|
||||
s16* rotation = chain->getChainAngleZ();
|
||||
J3DModelData* model_data = chain->getChainModelData();
|
||||
J3DMaterial* material = model_data->getMaterialNodePointer(0);
|
||||
dKy_tevstr_c& tevstr = chain->mTevStr;
|
||||
j3dSys.setVtxPos(model_data->getVtxPosArray());
|
||||
j3dSys.setVtxNrm(model_data->getVtxNrmArray());
|
||||
j3dSys.setVtxCol(model_data->getVtxColorArray(0));
|
||||
J3DShape::resetVcdVatCache();
|
||||
material->loadSharedDL();
|
||||
material->getShape()->loadPreDrawSetting();
|
||||
GXColor amb_color;
|
||||
amb_color.r = tevstr.mColorC0.r;
|
||||
amb_color.g = tevstr.mColorC0.g;
|
||||
amb_color.b = tevstr.mColorC0.b;
|
||||
amb_color.a = tevstr.mColorC0.a;
|
||||
GXSetChanAmbColor(GX_COLOR0A0, amb_color);
|
||||
GXSetChanMatColor(GX_COLOR0A0, g_whiteColor);
|
||||
dKy_setLight_again();
|
||||
dKy_GxFog_tevstr_set(&tevstr);
|
||||
GXLoadLightObjImm(&tevstr.mLightObj.mLightObj, GX_LIGHT0);
|
||||
for (int i = 0; i < 0x10; pos++, angle++, rotation++, i++) {
|
||||
mDoMtx_stack_c::copy(j3dSys.getViewMtx());
|
||||
mDoMtx_stack_c::transM(*pos);
|
||||
mDoMtx_stack_c::ZrotM(*rotation);
|
||||
mDoMtx_stack_c::ZXYrotM(angle->x, chain->shape_angle.y, angle->z);
|
||||
mDoMtx_stack_c::transM(0.0f, 0.0f, -8.75f);
|
||||
GXLoadPosMtxImm(mDoMtx_stack_c::get(), 0);
|
||||
GXLoadNrmMtxImm(mDoMtx_stack_c::get(), 0);
|
||||
material->getShape()->simpleDrawCache();
|
||||
}
|
||||
cXyz roof_pos(chain->getRoofPos().x, chain->getRealRoofY(), chain->getRoofPos().z);
|
||||
cXyz delta = roof_pos - *chain->getChainPos();
|
||||
f32 len = delta.abs();
|
||||
if (len > 17.5f) {
|
||||
cXyz pos = *chain->getChainPos();
|
||||
csXyz angle(
|
||||
delta.atan2sY_XZ(),
|
||||
chain->getChainAngle()->y,
|
||||
chain->getChainAngle()->z + 0x3000
|
||||
);
|
||||
delta *= (17.5f / len);
|
||||
for (; len > 17.5f; len -= 17.5f, pos += delta, angle.z += 0x3000) {
|
||||
mDoMtx_stack_c::copy(j3dSys.getViewMtx());
|
||||
mDoMtx_stack_c::transM(pos);
|
||||
mDoMtx_stack_c::ZXYrotM(angle);
|
||||
mDoMtx_stack_c::transM(0.0f, 0.0f, 8.75f);
|
||||
GXLoadPosMtxImm(mDoMtx_stack_c::get(), 0);
|
||||
GXLoadNrmMtxImm(mDoMtx_stack_c::get(), 0);
|
||||
material->getShape()->simpleDrawCache();
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -702,29 +885,38 @@ asm void daObjWchain_shape_c::draw() {
|
|||
#include "asm/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain/draw__19daObjWchain_shape_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80D31810-80D318A0 001990 0090+00 1/1 0/0 0/0 .text draw__13daObjWchain_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches once daObjWchain_shape_c inheritance is resolved
|
||||
int daObjWchain_c::draw() {
|
||||
g_env_light.settingTevStruct(0, ¤t.pos, &mTevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpHandleModel->mModelData, &mTevStr);
|
||||
mDoExt_modelUpdateDL(mpHandleModel);
|
||||
g_env_light.setLightTevColorType_MAJI(mpChainModelData, &mTevStr);
|
||||
dComIfGd_getOpaList()->entryImm(&mShape, 0);
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjWchain_c::draw() {
|
||||
asm int daObjWchain_c::draw() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain/draw__13daObjWchain_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80D318A0-80D318C0 001A20 0020+00 1/0 0/0 0/0 .text daObjWchain_Draw__FP13daObjWchain_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjWchain_Draw(daObjWchain_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain/daObjWchain_Draw__FP13daObjWchain_c.s"
|
||||
static int daObjWchain_Draw(daObjWchain_c* i_this) {
|
||||
return i_this->draw();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D318C0-80D3191C 001A40 005C+00 1/0 0/0 0/0 .text __dt__19daObjWchain_shape_cFv */
|
||||
#ifndef NONMATCHING
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -733,3 +925,4 @@ asm daObjWchain_shape_c::~daObjWchain_shape_c() {
|
|||
#include "asm/rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain/__dt__19daObjWchain_shape_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
#include "rel/d/a/npc/d_a_npc_tk/d_a_npc_tk.h"
|
||||
#include "rel/d/a/obj/d_a_obj_crope/d_a_obj_crope.h"
|
||||
#include "rel/d/a/obj/d_a_obj_smw_stone/d_a_obj_smw_stone.h"
|
||||
#include "rel/d/a/obj/d_a_obj_wchain/d_a_obj_wchain.h"
|
||||
#include "rel/d/a/obj/d_a_obj_wind_stone/d_a_obj_wind_stone.h"
|
||||
#include "rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa.h"
|
||||
#include "rel/d/a/tag/d_a_tag_howl/d_a_tag_howl.h"
|
||||
|
|
@ -7702,6 +7703,40 @@ int daAlink_c::procWolfChainReadyInit() {
|
|||
}
|
||||
|
||||
/* 8013E2A8-8013E6C0 138BE8 0418+00 1/0 0/0 0/0 .text procWolfChainReady__9daAlink_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
int daAlink_c::procWolfChainReady() {
|
||||
daObjWchain_c* chain = static_cast<daObjWchain_c*>(field_0x280c.getActor());
|
||||
if (chain == NULL || mLinkAcch.ChkWallHit()) {
|
||||
return procWolfFallInit(2, daAlinkHIO_wlAutoJump_c0::m.field_0x54);
|
||||
} else if (mUnderFrameCtrl[0].getFrame() < 3.0f) {
|
||||
s16 target_angle_y = cLib_targetAngleY(¤t.pos, &chain->getJumpAimPos());
|
||||
cLib_addCalcAngleS(&shape_angle.y, target_angle_y, 2, 0x2000, 0x800);
|
||||
current.angle.y = shape_angle.y;
|
||||
} else if (mProcVar3.field_0x300e.x == 0) {
|
||||
shape_angle.y = cLib_targetAngleY(¤t.pos, &chain->getJumpAimPos());
|
||||
current.angle.y = shape_angle.y;
|
||||
mProcVar3.field_0x300e.x = 1;
|
||||
cXyz vec1 = chain->getJumpAimPos() - field_0x34e0;
|
||||
f32 dist_xz = vec1.absXZ();
|
||||
f32 dist = vec1.abs();
|
||||
s16 angle = vec1.atan2sY_XZ();
|
||||
mProcVar2.field_0x300c = angle >> 1;
|
||||
mNormalSpeed = dist_xz * 40.0f / dist + 1.0f;
|
||||
mProcVar0.field_0x3008 = dist_xz / mNormalSpeed + 1.0f;
|
||||
speed.y = (vec1.y - mGravity * 0.5f * mProcVar0.field_0x3008 * mProcVar0.field_0x3008)
|
||||
/ mProcVar0.field_0x3008;
|
||||
} else {
|
||||
mProcVar0.field_0x3008--;
|
||||
if (chain->getJumpAimPos().abs2(field_0x34e0) < 10000.0f) {
|
||||
procWolfChainWaitInit();
|
||||
} else if (mProcVar0.field_0x3008 == 0) {
|
||||
procWolfFallInit(2, daAlinkHIO_wlAutoJump_c0::m.field_0x54);
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -7710,9 +7745,41 @@ asm int daAlink_c::procWolfChainReady() {
|
|||
#include "asm/d/a/d_a_alink/procWolfChainReady__9daAlink_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8013E6C0-8013E80C 139000 014C+00 1/1 0/0 0/0 .text procWolfChainWaitInit__9daAlink_cFv
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
int daAlink_c::procWolfChainWaitInit() {
|
||||
daObjWchain_c* chain = static_cast<daObjWchain_c*>(field_0x280c.getActor());
|
||||
commonProcInit(PROC_WOLF_CHAIN_WAIT);
|
||||
setSingleAnimeWolfParam(WANM_HANDLE_HANG, &daAlinkHIO_wlChain_c0::m.field_0x0);
|
||||
mProcVar1.field_0x300a = 0;
|
||||
chain->onRide();
|
||||
field_0x2f99 = 0x50;
|
||||
current.pos = chain->getTopPos();
|
||||
setSpecialGravity(0.0f, mMaxFallSpeed, 0);
|
||||
speed.y = 0.0f;
|
||||
mProcVar3.field_0x300e.y = 0;
|
||||
mProcVar0.field_0x3008 = daAlinkHIO_wlChain_c0::m.field_0x3C + 20;
|
||||
field_0x3478 = chain->getPullLength();
|
||||
current.angle.y = shape_angle.y;
|
||||
if (mNormalSpeed > 30.0f) {
|
||||
mNormalSpeed = 15.0f;
|
||||
} else {
|
||||
mNormalSpeed *= 0.5f;
|
||||
}
|
||||
field_0x37c8.set(
|
||||
mNormalSpeed * cM_ssin(shape_angle.y),
|
||||
0.0f,
|
||||
mNormalSpeed * cM_scos(shape_angle.y)
|
||||
);
|
||||
mNormalSpeed = 0.0f;
|
||||
voiceStart(Z2SE_WL_V_BITE_HANG);
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -7721,8 +7788,90 @@ asm int daAlink_c::procWolfChainWaitInit() {
|
|||
#include "asm/d/a/d_a_alink/procWolfChainWaitInit__9daAlink_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8013E80C-8013ED44 13914C 0538+00 1/0 0/0 0/0 .text procWolfChainWait__9daAlink_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
int daAlink_c::procWolfChainWait() {
|
||||
daObjWchain_c* chain = static_cast<daObjWchain_c*>(field_0x280c.getActor());
|
||||
if (chain == NULL || mProcVar0.field_0x3008 <= -daAlinkHIO_wlChain_c0::m.field_0x3E) {
|
||||
mNormalSpeed = field_0x37c8.absXZ();
|
||||
current.angle.y = field_0x37c8.atan2sX_Z();
|
||||
i_onNoResetFlg2(FLG2_UNK_200);
|
||||
return procWolfFallInit(2, daAlinkHIO_wlWallHang_c0::m.field_0x98);
|
||||
}
|
||||
|
||||
if (mProcVar3.field_0x300e.y == 0) {
|
||||
if (mProcVar0.field_0x3008 > 20) {
|
||||
mProcVar0.field_0x3008--;
|
||||
} else {
|
||||
field_0x3478 += daAlinkHIO_wlChain_c0::m.field_0x50;
|
||||
if (field_0x3478 > chain->getSwitchOffset()) {
|
||||
chain->onNowSwitchFlg();
|
||||
mProcVar3.field_0x300e.y = 1;
|
||||
dComIfGp_getVibration().StartShock(7, 3, cXyz(0.0f, 1.0f, 0.0f));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
mProcVar0.field_0x3008--;
|
||||
if (mProcVar0.field_0x3008 < 0) {
|
||||
field_0x3478 = chain->getDownOffset();
|
||||
} else {
|
||||
field_0x3478 = (chain->getSwitchOffset() + chain->getLastOffset() * 0.5f)
|
||||
+ (mProcVar0.field_0x3008 * 0.5f * 0.05f + 0.5f)
|
||||
* chain->getLastOffset() * cM_scos(mProcVar0.field_0x3008 * 0x3000);
|
||||
if (mProcVar0.field_0x3008 == 0) {
|
||||
chain->onEndFlg();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cXyz vec1 = current.pos - chain->getRoofPos();
|
||||
if (checkInputOnR()) {
|
||||
vec1.x += field_0x33a8 * cM_ssin(field_0x2fe2);
|
||||
vec1.z += field_0x33a8 * cM_scos(field_0x2fe2);
|
||||
}
|
||||
vec1.y -= 15.0f;
|
||||
vec1 += field_0x37c8;
|
||||
vec1.normalizeZP();
|
||||
current.pos = chain->getRoofPos() + vec1 * (field_0x3478 + chain->getInitOutLength());
|
||||
field_0x37c8 = (current.pos - field_0x3798) * 0.95f;
|
||||
mDoMtx_stack_c::YrotS(-shape_angle.y);
|
||||
mDoMtx_stack_c::multVec(&vec1, &vec1);
|
||||
shape_angle.x = cM_atan2s(-vec1.z, -vec1.y);
|
||||
shape_angle.z = cM_atan2s(vec1.x, JMAFastSqrt(vec1.y * vec1.y + vec1.z * vec1.z));
|
||||
mProcVar2.field_0x300c = shape_angle.x;
|
||||
|
||||
daPy_frameCtrl_c* frame_ctrl = &mUnderFrameCtrl[0];
|
||||
if (mProcVar1.field_0x300a != 0 || frame_ctrl->checkAnmEnd()) {
|
||||
daAlink_WANM anm;
|
||||
f32 f1, f2, f3;
|
||||
if (checkInputOnR()) {
|
||||
anm = WANM_HANDLE_HANG_SW;
|
||||
f1 = daAlinkHIO_wlChain_c0::m.field_0x40;
|
||||
f2 = daAlinkHIO_wlChain_c0::m.field_0x44;
|
||||
} else {
|
||||
anm = WANM_HANDLE_HANG_WAIT;
|
||||
f1 = daAlinkHIO_wlChain_c0::m.field_0x48;
|
||||
f2 = daAlinkHIO_wlChain_c0::m.field_0x4C;
|
||||
}
|
||||
if (anm != mUnderAnmHeap[0].getIdx()) {
|
||||
if (mProcVar1.field_0x300a == 0) {
|
||||
mProcVar1.field_0x300a = 1;
|
||||
f3 = 0.0f;
|
||||
} else {
|
||||
f3 = frame_ctrl->getFrame() / frame_ctrl->getEnd();
|
||||
}
|
||||
setSingleAnimeWolfBaseSpeed(anm, f1, f2);
|
||||
frame_ctrl->setFrame(f3 * frame_ctrl->getEnd());
|
||||
}
|
||||
}
|
||||
|
||||
chain->setPullLength(field_0x3478);
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -7731,6 +7880,7 @@ asm int daAlink_c::procWolfChainWait() {
|
|||
#include "asm/d/a/d_a_alink/procWolfChainWait__9daAlink_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8013ED44-8013F1F0 139684 04AC+00 1/1 0/0 0/0 .text procWolfDigInit__9daAlink_cFv */
|
||||
#pragma push
|
||||
|
|
|
|||
Loading…
Reference in New Issue