firewood/tornado/tag_camera done, obj_drop almost (#2190)

* firewood done, obj_drop mostly done

* obj_tornado done, cleanup obj_tornado2

* tag_camera done

* remove asm

* tag_msg done
This commit is contained in:
TakaRikka
2024-08-12 11:34:01 -07:00
committed by GitHub
parent 2fa4bf9f51
commit 2bcec113fb
93 changed files with 1825 additions and 4432 deletions
+10 -10
View File
@@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
.text | 50.965038% | 1832980 | 3596544
.text | 51.286124% | 1844528 | 3596544
.ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832
Total | 56.132806% | 2256916 | 4020672
Total | 56.420021% | 2268464 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 56.132806% | 2256916 | 4020672
RELs | 39.318510% | 4521756 | 11500324
Total | 43.674208% | 6778672 | 15520996
main.dol | 56.420021% | 2268464 | 4020672
RELs | 39.402125% | 4531372 | 11500324
Total | 43.810565% | 6799836 | 15520996
## RELs
@@ -400,7 +400,7 @@ d_a_obj_enemy_create | 100.000000% | 2828 | 2828
d_a_obj_fallobj | 31.929604% | 2032 | 6364
d_a_obj_fan | 100.000000% | 7260 | 7260
d_a_obj_fchain | 30.649490% | 2284 | 7452
d_a_obj_fireWood | 44.125561% | 1968 | 4460
d_a_obj_fireWood | 100.000000% | 4460 | 4460
d_a_obj_fireWood2 | 100.000000% | 5580 | 5580
d_a_obj_firepillar | 43.032015% | 1828 | 4248
d_a_obj_firepillar2 | 32.320564% | 2936 | 9084
@@ -648,7 +648,7 @@ d_a_obj_toby | 32.460733% | 3720 | 11460
d_a_obj_tobyhouse | 34.586466% | 3864 | 11172
d_a_obj_togeTrap | 41.746183% | 3500 | 8384
d_a_obj_tombo | 33.688640% | 4804 | 14260
d_a_obj_tornado | 51.127049% | 1996 | 3904
d_a_obj_tornado | 100.000000% | 3904 | 3904
d_a_obj_tornado2 | 100.000000% | 5536 | 5536
d_a_obj_tp | 35.262726% | 3436 | 9744
d_a_obj_treesh | 48.098664% | 1872 | 3892
@@ -715,7 +715,7 @@ d_a_tag_assistance | 100.000000% | 824 | 824
d_a_tag_attack_item | 70.076482% | 2932 | 4184
d_a_tag_attention | 100.000000% | 2024 | 2024
d_a_tag_bottle_item | 100.000000% | 2656 | 2656
d_a_tag_camera | 37.023593% | 1632 | 4408
d_a_tag_camera | 100.000000% | 4408 | 4408
d_a_tag_chgrestart | 100.000000% | 1768 | 1768
d_a_tag_chkpoint | 100.000000% | 2168 | 2168
d_a_tag_csw | 100.000000% | 10304 | 10304
@@ -744,7 +744,7 @@ d_a_tag_magne | 100.000000% | 928 | 928
d_a_tag_mhint | 100.000000% | 3744 | 3744
d_a_tag_mist | 100.000000% | 2072 | 2072
d_a_tag_mmsg | 100.000000% | 1960 | 1960
d_a_tag_msg | 37.563971% | 1468 | 3908
d_a_tag_msg | 100.000000% | 3908 | 3908
d_a_tag_mstop | 100.000000% | 3264 | 3264
d_a_tag_mwait | 100.000000% | 2896 | 2896
d_a_tag_myna2 | 100.000000% | 1752 | 1752
@@ -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 | 39.318510% | 4521756 | 11500324
Total | 39.402125% | 4531372 | 11500324
@@ -1,11 +0,0 @@
lbl_80BE7E7C:
/* 80BE7E7C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE7E80 7C 08 02 A6 */ mflr r0
/* 80BE7E84 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE7E88 38 63 07 1C */ addi r3, r3, 0x71c
/* 80BE7E8C 4B 5B FA A1 */ bl dKy_plight_cut__FP15LIGHT_INFLUENCE
/* 80BE7E90 38 60 00 01 */ li r3, 1
/* 80BE7E94 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE7E98 7C 08 03 A6 */ mtlr r0
/* 80BE7E9C 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE7EA0 4E 80 00 20 */ blr
@@ -1,277 +0,0 @@
lbl_80BE7A38:
/* 80BE7A38 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80BE7A3C 7C 08 02 A6 */ mflr r0
/* 80BE7A40 90 01 00 44 */ stw r0, 0x44(r1)
/* 80BE7A44 39 61 00 40 */ addi r11, r1, 0x40
/* 80BE7A48 4B 77 A7 95 */ bl _savegpr_29
/* 80BE7A4C 7C 7F 1B 78 */ mr r31, r3
/* 80BE7A50 3C 60 80 BF */ lis r3, lit_3625@ha /* 0x80BE8004@ha */
/* 80BE7A54 3B C3 80 04 */ addi r30, r3, lit_3625@l /* 0x80BE8004@l */
/* 80BE7A58 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE7A5C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE7A60 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80BE7A64 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 80BE7A68 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80BE7A6C 7C 05 07 74 */ extsb r5, r0
/* 80BE7A70 4B 44 D8 F1 */ bl isSwitch__10dSv_info_cCFii
/* 80BE7A74 98 7F 06 F8 */ stb r3, 0x6f8(r31)
/* 80BE7A78 88 1F 06 F9 */ lbz r0, 0x6f9(r31)
/* 80BE7A7C 28 00 00 00 */ cmplwi r0, 0
/* 80BE7A80 41 82 02 B0 */ beq lbl_80BE7D30
/* 80BE7A84 88 1F 07 0C */ lbz r0, 0x70c(r31)
/* 80BE7A88 28 00 00 01 */ cmplwi r0, 1
/* 80BE7A8C 40 82 01 60 */ bne lbl_80BE7BEC
/* 80BE7A90 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE7A94 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE7A98 80 7D 5D 3C */ lwz r3, 0x5d3c(r29)
/* 80BE7A9C 38 00 00 FF */ li r0, 0xff
/* 80BE7AA0 90 01 00 08 */ stw r0, 8(r1)
/* 80BE7AA4 38 80 00 00 */ li r4, 0
/* 80BE7AA8 90 81 00 0C */ stw r4, 0xc(r1)
/* 80BE7AAC 38 00 FF FF */ li r0, -1
/* 80BE7AB0 90 01 00 10 */ stw r0, 0x10(r1)
/* 80BE7AB4 90 81 00 14 */ stw r4, 0x14(r1)
/* 80BE7AB8 90 81 00 18 */ stw r4, 0x18(r1)
/* 80BE7ABC 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80BE7AC0 80 9F 06 FC */ lwz r4, 0x6fc(r31)
/* 80BE7AC4 38 A0 00 00 */ li r5, 0
/* 80BE7AC8 3C C0 00 01 */ lis r6, 0x0001 /* 0x000085A7@ha */
/* 80BE7ACC 38 C6 85 A7 */ addi r6, r6, 0x85A7 /* 0x000085A7@l */
/* 80BE7AD0 38 FF 06 EC */ addi r7, r31, 0x6ec
/* 80BE7AD4 39 00 00 00 */ li r8, 0
/* 80BE7AD8 39 20 00 00 */ li r9, 0
/* 80BE7ADC 39 40 00 00 */ li r10, 0
/* 80BE7AE0 C0 3E 00 40 */ lfs f1, 0x40(r30)
/* 80BE7AE4 4B 46 59 E9 */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80BE7AE8 90 7F 06 FC */ stw r3, 0x6fc(r31)
/* 80BE7AEC 80 7D 5D 3C */ lwz r3, 0x5d3c(r29)
/* 80BE7AF0 38 00 00 FF */ li r0, 0xff
/* 80BE7AF4 90 01 00 08 */ stw r0, 8(r1)
/* 80BE7AF8 38 80 00 00 */ li r4, 0
/* 80BE7AFC 90 81 00 0C */ stw r4, 0xc(r1)
/* 80BE7B00 38 00 FF FF */ li r0, -1
/* 80BE7B04 90 01 00 10 */ stw r0, 0x10(r1)
/* 80BE7B08 90 81 00 14 */ stw r4, 0x14(r1)
/* 80BE7B0C 90 81 00 18 */ stw r4, 0x18(r1)
/* 80BE7B10 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80BE7B14 80 9F 07 00 */ lwz r4, 0x700(r31)
/* 80BE7B18 38 A0 00 00 */ li r5, 0
/* 80BE7B1C 3C C0 00 01 */ lis r6, 0x0001 /* 0x000085BB@ha */
/* 80BE7B20 38 C6 85 BB */ addi r6, r6, 0x85BB /* 0x000085BB@l */
/* 80BE7B24 38 FF 06 EC */ addi r7, r31, 0x6ec
/* 80BE7B28 39 00 00 00 */ li r8, 0
/* 80BE7B2C 39 20 00 00 */ li r9, 0
/* 80BE7B30 39 40 00 00 */ li r10, 0
/* 80BE7B34 C0 3E 00 40 */ lfs f1, 0x40(r30)
/* 80BE7B38 4B 46 59 95 */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80BE7B3C 90 7F 07 00 */ stw r3, 0x700(r31)
/* 80BE7B40 80 7D 5D 3C */ lwz r3, 0x5d3c(r29)
/* 80BE7B44 38 00 00 FF */ li r0, 0xff
/* 80BE7B48 90 01 00 08 */ stw r0, 8(r1)
/* 80BE7B4C 38 80 00 00 */ li r4, 0
/* 80BE7B50 90 81 00 0C */ stw r4, 0xc(r1)
/* 80BE7B54 38 00 FF FF */ li r0, -1
/* 80BE7B58 90 01 00 10 */ stw r0, 0x10(r1)
/* 80BE7B5C 90 81 00 14 */ stw r4, 0x14(r1)
/* 80BE7B60 90 81 00 18 */ stw r4, 0x18(r1)
/* 80BE7B64 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80BE7B68 80 9F 07 04 */ lwz r4, 0x704(r31)
/* 80BE7B6C 38 A0 00 00 */ li r5, 0
/* 80BE7B70 3C C0 00 01 */ lis r6, 0x0001 /* 0x000085BC@ha */
/* 80BE7B74 38 C6 85 BC */ addi r6, r6, 0x85BC /* 0x000085BC@l */
/* 80BE7B78 38 FF 06 EC */ addi r7, r31, 0x6ec
/* 80BE7B7C 39 00 00 00 */ li r8, 0
/* 80BE7B80 39 20 00 00 */ li r9, 0
/* 80BE7B84 39 40 00 00 */ li r10, 0
/* 80BE7B88 C0 3E 00 40 */ lfs f1, 0x40(r30)
/* 80BE7B8C 4B 46 59 41 */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80BE7B90 90 7F 07 04 */ stw r3, 0x704(r31)
/* 80BE7B94 80 7D 5D 3C */ lwz r3, 0x5d3c(r29)
/* 80BE7B98 38 00 00 FF */ li r0, 0xff
/* 80BE7B9C 90 01 00 08 */ stw r0, 8(r1)
/* 80BE7BA0 38 80 00 00 */ li r4, 0
/* 80BE7BA4 90 81 00 0C */ stw r4, 0xc(r1)
/* 80BE7BA8 38 00 FF FF */ li r0, -1
/* 80BE7BAC 90 01 00 10 */ stw r0, 0x10(r1)
/* 80BE7BB0 90 81 00 14 */ stw r4, 0x14(r1)
/* 80BE7BB4 90 81 00 18 */ stw r4, 0x18(r1)
/* 80BE7BB8 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80BE7BBC 80 9F 07 08 */ lwz r4, 0x708(r31)
/* 80BE7BC0 38 A0 00 00 */ li r5, 0
/* 80BE7BC4 3C C0 00 01 */ lis r6, 0x0001 /* 0x000085BD@ha */
/* 80BE7BC8 38 C6 85 BD */ addi r6, r6, 0x85BD /* 0x000085BD@l */
/* 80BE7BCC 38 FF 06 EC */ addi r7, r31, 0x6ec
/* 80BE7BD0 39 00 00 00 */ li r8, 0
/* 80BE7BD4 39 20 00 00 */ li r9, 0
/* 80BE7BD8 39 40 00 00 */ li r10, 0
/* 80BE7BDC C0 3E 00 40 */ lfs f1, 0x40(r30)
/* 80BE7BE0 4B 46 58 ED */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80BE7BE4 90 7F 07 08 */ stw r3, 0x708(r31)
/* 80BE7BE8 48 00 00 FC */ b lbl_80BE7CE4
lbl_80BE7BEC:
/* 80BE7BEC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE7BF0 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE7BF4 80 7D 5D 3C */ lwz r3, 0x5d3c(r29)
/* 80BE7BF8 38 00 00 FF */ li r0, 0xff
/* 80BE7BFC 90 01 00 08 */ stw r0, 8(r1)
/* 80BE7C00 38 80 00 00 */ li r4, 0
/* 80BE7C04 90 81 00 0C */ stw r4, 0xc(r1)
/* 80BE7C08 38 00 FF FF */ li r0, -1
/* 80BE7C0C 90 01 00 10 */ stw r0, 0x10(r1)
/* 80BE7C10 90 81 00 14 */ stw r4, 0x14(r1)
/* 80BE7C14 90 81 00 18 */ stw r4, 0x18(r1)
/* 80BE7C18 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80BE7C1C 80 9F 06 FC */ lwz r4, 0x6fc(r31)
/* 80BE7C20 38 A0 00 00 */ li r5, 0
/* 80BE7C24 38 C0 03 AD */ li r6, 0x3ad
/* 80BE7C28 38 FF 06 EC */ addi r7, r31, 0x6ec
/* 80BE7C2C 39 00 00 00 */ li r8, 0
/* 80BE7C30 39 20 00 00 */ li r9, 0
/* 80BE7C34 39 40 00 00 */ li r10, 0
/* 80BE7C38 C0 3E 00 40 */ lfs f1, 0x40(r30)
/* 80BE7C3C 4B 46 58 91 */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80BE7C40 90 7F 06 FC */ stw r3, 0x6fc(r31)
/* 80BE7C44 80 7D 5D 3C */ lwz r3, 0x5d3c(r29)
/* 80BE7C48 38 00 00 FF */ li r0, 0xff
/* 80BE7C4C 90 01 00 08 */ stw r0, 8(r1)
/* 80BE7C50 38 80 00 00 */ li r4, 0
/* 80BE7C54 90 81 00 0C */ stw r4, 0xc(r1)
/* 80BE7C58 38 00 FF FF */ li r0, -1
/* 80BE7C5C 90 01 00 10 */ stw r0, 0x10(r1)
/* 80BE7C60 90 81 00 14 */ stw r4, 0x14(r1)
/* 80BE7C64 90 81 00 18 */ stw r4, 0x18(r1)
/* 80BE7C68 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80BE7C6C 80 9F 07 00 */ lwz r4, 0x700(r31)
/* 80BE7C70 38 A0 00 00 */ li r5, 0
/* 80BE7C74 38 C0 03 AF */ li r6, 0x3af
/* 80BE7C78 38 FF 06 EC */ addi r7, r31, 0x6ec
/* 80BE7C7C 39 00 00 00 */ li r8, 0
/* 80BE7C80 39 20 00 00 */ li r9, 0
/* 80BE7C84 39 40 00 00 */ li r10, 0
/* 80BE7C88 C0 3E 00 40 */ lfs f1, 0x40(r30)
/* 80BE7C8C 4B 46 58 41 */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80BE7C90 90 7F 07 00 */ stw r3, 0x700(r31)
/* 80BE7C94 80 7D 5D 3C */ lwz r3, 0x5d3c(r29)
/* 80BE7C98 38 00 00 FF */ li r0, 0xff
/* 80BE7C9C 90 01 00 08 */ stw r0, 8(r1)
/* 80BE7CA0 38 80 00 00 */ li r4, 0
/* 80BE7CA4 90 81 00 0C */ stw r4, 0xc(r1)
/* 80BE7CA8 38 00 FF FF */ li r0, -1
/* 80BE7CAC 90 01 00 10 */ stw r0, 0x10(r1)
/* 80BE7CB0 90 81 00 14 */ stw r4, 0x14(r1)
/* 80BE7CB4 90 81 00 18 */ stw r4, 0x18(r1)
/* 80BE7CB8 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80BE7CBC 80 9F 07 04 */ lwz r4, 0x704(r31)
/* 80BE7CC0 38 A0 00 00 */ li r5, 0
/* 80BE7CC4 38 C0 03 AE */ li r6, 0x3ae
/* 80BE7CC8 38 FF 06 EC */ addi r7, r31, 0x6ec
/* 80BE7CCC 39 00 00 00 */ li r8, 0
/* 80BE7CD0 39 20 00 00 */ li r9, 0
/* 80BE7CD4 39 40 00 00 */ li r10, 0
/* 80BE7CD8 C0 3E 00 40 */ lfs f1, 0x40(r30)
/* 80BE7CDC 4B 46 57 F1 */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80BE7CE0 90 7F 07 04 */ stw r3, 0x704(r31)
lbl_80BE7CE4:
/* 80BE7CE4 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 80BE7CE8 7C 03 07 74 */ extsb r3, r0
/* 80BE7CEC 4B 44 53 81 */ bl dComIfGp_getReverb__Fi
/* 80BE7CF0 7C 67 1B 78 */ mr r7, r3
/* 80BE7CF4 3C 60 00 08 */ lis r3, 0x0008 /* 0x00080018@ha */
/* 80BE7CF8 38 03 00 18 */ addi r0, r3, 0x0018 /* 0x00080018@l */
/* 80BE7CFC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80BE7D00 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 80BE7D04 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 80BE7D08 80 63 00 00 */ lwz r3, 0(r3)
/* 80BE7D0C 38 81 00 24 */ addi r4, r1, 0x24
/* 80BE7D10 38 BF 06 EC */ addi r5, r31, 0x6ec
/* 80BE7D14 38 C0 00 00 */ li r6, 0
/* 80BE7D18 C0 3E 00 40 */ lfs f1, 0x40(r30)
/* 80BE7D1C FC 40 08 90 */ fmr f2, f1
/* 80BE7D20 C0 7E 00 44 */ lfs f3, 0x44(r30)
/* 80BE7D24 FC 80 18 90 */ fmr f4, f3
/* 80BE7D28 39 00 00 00 */ li r8, 0
/* 80BE7D2C 4B 6C 47 E1 */ bl seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
lbl_80BE7D30:
/* 80BE7D30 38 7F 05 B0 */ addi r3, r31, 0x5b0
/* 80BE7D34 4B 49 C7 2D */ bl ChkTgHit__12dCcD_GObjInfFv
/* 80BE7D38 28 03 00 00 */ cmplwi r3, 0
/* 80BE7D3C 41 82 00 A0 */ beq lbl_80BE7DDC
/* 80BE7D40 38 7F 05 B0 */ addi r3, r31, 0x5b0
/* 80BE7D44 4B 49 C8 05 */ bl GetTgHitGObj__12dCcD_GObjInfFv
/* 80BE7D48 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80BE7D4C 28 00 02 00 */ cmplwi r0, 0x200
/* 80BE7D50 40 82 00 8C */ bne lbl_80BE7DDC
/* 80BE7D54 88 03 00 75 */ lbz r0, 0x75(r3)
/* 80BE7D58 28 00 00 01 */ cmplwi r0, 1
/* 80BE7D5C 40 82 00 80 */ bne lbl_80BE7DDC
/* 80BE7D60 88 1F 06 F9 */ lbz r0, 0x6f9(r31)
/* 80BE7D64 28 00 00 00 */ cmplwi r0, 0
/* 80BE7D68 40 82 00 74 */ bne lbl_80BE7DDC
/* 80BE7D6C 3C 60 80 BF */ lis r3, l_HIO@ha /* 0x80BE8144@ha */
/* 80BE7D70 38 63 81 44 */ addi r3, r3, l_HIO@l /* 0x80BE8144@l */
/* 80BE7D74 88 03 00 0C */ lbz r0, 0xc(r3)
/* 80BE7D78 98 1F 07 3C */ stb r0, 0x73c(r31)
/* 80BE7D7C 38 00 00 01 */ li r0, 1
/* 80BE7D80 98 1F 06 F9 */ stb r0, 0x6f9(r31)
/* 80BE7D84 98 1F 06 25 */ stb r0, 0x625(r31)
/* 80BE7D88 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 80BE7D8C 7C 03 07 74 */ extsb r3, r0
/* 80BE7D90 4B 44 52 DD */ bl dComIfGp_getReverb__Fi
/* 80BE7D94 7C 67 1B 78 */ mr r7, r3
/* 80BE7D98 3C 60 00 08 */ lis r3, 0x0008 /* 0x00080017@ha */
/* 80BE7D9C 38 03 00 17 */ addi r0, r3, 0x0017 /* 0x00080017@l */
/* 80BE7DA0 90 01 00 20 */ stw r0, 0x20(r1)
/* 80BE7DA4 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 80BE7DA8 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 80BE7DAC 80 63 00 00 */ lwz r3, 0(r3)
/* 80BE7DB0 38 81 00 20 */ addi r4, r1, 0x20
/* 80BE7DB4 38 BF 06 EC */ addi r5, r31, 0x6ec
/* 80BE7DB8 38 C0 00 00 */ li r6, 0
/* 80BE7DBC C0 3E 00 40 */ lfs f1, 0x40(r30)
/* 80BE7DC0 FC 40 08 90 */ fmr f2, f1
/* 80BE7DC4 C0 7E 00 44 */ lfs f3, 0x44(r30)
/* 80BE7DC8 FC 80 18 90 */ fmr f4, f3
/* 80BE7DCC 39 00 00 00 */ li r8, 0
/* 80BE7DD0 4B 6C 3B B5 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
/* 80BE7DD4 7F E3 FB 78 */ mr r3, r31
/* 80BE7DD8 4B FF FC 3D */ bl setLight__12daFireWood_cFv
lbl_80BE7DDC:
/* 80BE7DDC 38 7F 06 D4 */ addi r3, r31, 0x6d4
/* 80BE7DE0 3C 80 80 BF */ lis r4, l_HIO@ha /* 0x80BE8144@ha */
/* 80BE7DE4 38 84 81 44 */ addi r4, r4, l_HIO@l /* 0x80BE8144@l */
/* 80BE7DE8 C0 24 00 08 */ lfs f1, 8(r4)
/* 80BE7DEC 4B 68 74 15 */ bl SetR__8cM3dGCylFf
/* 80BE7DF0 38 7F 06 D4 */ addi r3, r31, 0x6d4
/* 80BE7DF4 C0 3E 00 48 */ lfs f1, 0x48(r30)
/* 80BE7DF8 4B 68 74 01 */ bl SetH__8cM3dGCylFf
/* 80BE7DFC 38 7F 06 D4 */ addi r3, r31, 0x6d4
/* 80BE7E00 38 9F 04 D0 */ addi r4, r31, 0x4d0
/* 80BE7E04 4B 68 73 D9 */ bl SetC__8cM3dGCylFRC4cXyz
/* 80BE7E08 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE7E0C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE7E10 38 63 23 3C */ addi r3, r3, 0x233c
/* 80BE7E14 38 9F 05 B0 */ addi r4, r31, 0x5b0
/* 80BE7E18 4B 67 CD 91 */ bl Set__4cCcSFP8cCcD_Obj
/* 80BE7E1C 88 7F 07 3C */ lbz r3, 0x73c(r31)
/* 80BE7E20 28 03 00 00 */ cmplwi r3, 0
/* 80BE7E24 41 82 00 34 */ beq lbl_80BE7E58
/* 80BE7E28 38 03 FF FF */ addi r0, r3, -1
/* 80BE7E2C 98 1F 07 3C */ stb r0, 0x73c(r31)
/* 80BE7E30 88 1F 07 3C */ lbz r0, 0x73c(r31)
/* 80BE7E34 28 00 00 00 */ cmplwi r0, 0
/* 80BE7E38 40 82 00 20 */ bne lbl_80BE7E58
/* 80BE7E3C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE7E40 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE7E44 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80BE7E48 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 80BE7E4C 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80BE7E50 7C 05 07 74 */ extsb r5, r0
/* 80BE7E54 4B 44 D3 AD */ bl onSwitch__10dSv_info_cFii
lbl_80BE7E58:
/* 80BE7E58 38 60 00 01 */ li r3, 1
/* 80BE7E5C 39 61 00 40 */ addi r11, r1, 0x40
/* 80BE7E60 4B 77 A3 C9 */ bl _restgpr_29
/* 80BE7E64 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80BE7E68 7C 08 03 A6 */ mtlr r0
/* 80BE7E6C 38 21 00 40 */ addi r1, r1, 0x40
/* 80BE7E70 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_80BE762C:
/* 80BE762C 3C 80 80 BF */ lis r4, __vt__14mDoHIO_entry_c@ha /* 0x80BE8120@ha */
/* 80BE7630 38 04 81 20 */ addi r0, r4, __vt__14mDoHIO_entry_c@l /* 0x80BE8120@l */
/* 80BE7634 90 03 00 00 */ stw r0, 0(r3)
/* 80BE7638 3C 80 80 BF */ lis r4, __vt__16daFireWood_HIO_c@ha /* 0x80BE8114@ha */
/* 80BE763C 38 04 81 14 */ addi r0, r4, __vt__16daFireWood_HIO_c@l /* 0x80BE8114@l */
/* 80BE7640 90 03 00 00 */ stw r0, 0(r3)
/* 80BE7644 3C 80 80 BF */ lis r4, lit_3625@ha /* 0x80BE8004@ha */
/* 80BE7648 C0 04 80 04 */ lfs f0, lit_3625@l(r4) /* 0x80BE8004@l */
/* 80BE764C D0 03 00 04 */ stfs f0, 4(r3)
/* 80BE7650 3C 80 80 BF */ lis r4, lit_3626@ha /* 0x80BE8008@ha */
/* 80BE7654 C0 04 80 08 */ lfs f0, lit_3626@l(r4) /* 0x80BE8008@l */
/* 80BE7658 D0 03 00 08 */ stfs f0, 8(r3)
/* 80BE765C 38 00 00 14 */ li r0, 0x14
/* 80BE7660 98 03 00 0C */ stb r0, 0xc(r3)
/* 80BE7664 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_80BE7668:
/* 80BE7668 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE766C 7C 08 02 A6 */ mflr r0
/* 80BE7670 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE7674 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80BE7678 7C 7F 1B 79 */ or. r31, r3, r3
/* 80BE767C 41 82 00 1C */ beq lbl_80BE7698
/* 80BE7680 3C A0 80 BF */ lis r5, __vt__14mDoHIO_entry_c@ha /* 0x80BE8120@ha */
/* 80BE7684 38 05 81 20 */ addi r0, r5, __vt__14mDoHIO_entry_c@l /* 0x80BE8120@l */
/* 80BE7688 90 1F 00 00 */ stw r0, 0(r31)
/* 80BE768C 7C 80 07 35 */ extsh. r0, r4
/* 80BE7690 40 81 00 08 */ ble lbl_80BE7698
/* 80BE7694 4B 6E 76 A9 */ bl __dl__FPv
lbl_80BE7698:
/* 80BE7698 7F E3 FB 78 */ mr r3, r31
/* 80BE769C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80BE76A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE76A4 7C 08 03 A6 */ mtlr r0
/* 80BE76A8 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE76AC 4E 80 00 20 */ blr
@@ -1,26 +0,0 @@
lbl_80BE7F24:
/* 80BE7F24 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE7F28 7C 08 02 A6 */ mflr r0
/* 80BE7F2C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE7F30 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80BE7F34 7C 7F 1B 79 */ or. r31, r3, r3
/* 80BE7F38 41 82 00 30 */ beq lbl_80BE7F68
/* 80BE7F3C 3C 60 80 BF */ lis r3, __vt__16daFireWood_HIO_c@ha /* 0x80BE8114@ha */
/* 80BE7F40 38 03 81 14 */ addi r0, r3, __vt__16daFireWood_HIO_c@l /* 0x80BE8114@l */
/* 80BE7F44 90 1F 00 00 */ stw r0, 0(r31)
/* 80BE7F48 41 82 00 10 */ beq lbl_80BE7F58
/* 80BE7F4C 3C 60 80 BF */ lis r3, __vt__14mDoHIO_entry_c@ha /* 0x80BE8120@ha */
/* 80BE7F50 38 03 81 20 */ addi r0, r3, __vt__14mDoHIO_entry_c@l /* 0x80BE8120@l */
/* 80BE7F54 90 1F 00 00 */ stw r0, 0(r31)
lbl_80BE7F58:
/* 80BE7F58 7C 80 07 35 */ extsh. r0, r4
/* 80BE7F5C 40 81 00 0C */ ble lbl_80BE7F68
/* 80BE7F60 7F E3 FB 78 */ mr r3, r31
/* 80BE7F64 4B 6E 6D D9 */ bl __dl__FPv
lbl_80BE7F68:
/* 80BE7F68 7F E3 FB 78 */ mr r3, r31
/* 80BE7F6C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80BE7F70 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE7F74 7C 08 03 A6 */ mtlr r0
/* 80BE7F78 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE7F7C 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_80BE7958:
/* 80BE7958 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE795C 7C 08 02 A6 */ mflr r0
/* 80BE7960 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE7964 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80BE7968 7C 7F 1B 79 */ or. r31, r3, r3
/* 80BE796C 41 82 00 1C */ beq lbl_80BE7988
/* 80BE7970 3C A0 80 BF */ lis r5, __vt__8cM3dGAab@ha /* 0x80BE8108@ha */
/* 80BE7974 38 05 81 08 */ addi r0, r5, __vt__8cM3dGAab@l /* 0x80BE8108@l */
/* 80BE7978 90 1F 00 18 */ stw r0, 0x18(r31)
/* 80BE797C 7C 80 07 35 */ extsh. r0, r4
/* 80BE7980 40 81 00 08 */ ble lbl_80BE7988
/* 80BE7984 4B 6E 73 B9 */ bl __dl__FPv
lbl_80BE7988:
/* 80BE7988 7F E3 FB 78 */ mr r3, r31
/* 80BE798C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80BE7990 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE7994 7C 08 03 A6 */ mtlr r0
/* 80BE7998 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE799C 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_80BE7910:
/* 80BE7910 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE7914 7C 08 02 A6 */ mflr r0
/* 80BE7918 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE791C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80BE7920 7C 7F 1B 79 */ or. r31, r3, r3
/* 80BE7924 41 82 00 1C */ beq lbl_80BE7940
/* 80BE7928 3C A0 80 BF */ lis r5, __vt__8cM3dGCyl@ha /* 0x80BE80FC@ha */
/* 80BE792C 38 05 80 FC */ addi r0, r5, __vt__8cM3dGCyl@l /* 0x80BE80FC@l */
/* 80BE7930 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80BE7934 7C 80 07 35 */ extsh. r0, r4
/* 80BE7938 40 81 00 08 */ ble lbl_80BE7940
/* 80BE793C 4B 6E 74 01 */ bl __dl__FPv
lbl_80BE7940:
/* 80BE7940 7F E3 FB 78 */ mr r3, r31
/* 80BE7944 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80BE7948 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE794C 7C 08 03 A6 */ mtlr r0
/* 80BE7950 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE7954 4E 80 00 20 */ blr
@@ -1,30 +0,0 @@
lbl_80BE7F80:
/* 80BE7F80 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE7F84 7C 08 02 A6 */ mflr r0
/* 80BE7F88 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE7F8C 3C 60 80 BF */ lis r3, l_HIO@ha /* 0x80BE8144@ha */
/* 80BE7F90 38 63 81 44 */ addi r3, r3, l_HIO@l /* 0x80BE8144@l */
/* 80BE7F94 4B FF F6 99 */ bl __ct__16daFireWood_HIO_cFv
/* 80BE7F98 3C 80 80 BE */ lis r4, __dt__16daFireWood_HIO_cFv@ha /* 0x80BE7F24@ha */
/* 80BE7F9C 38 84 7F 24 */ addi r4, r4, __dt__16daFireWood_HIO_cFv@l /* 0x80BE7F24@l */
/* 80BE7FA0 3C A0 80 BF */ lis r5, lit_3619@ha /* 0x80BE8138@ha */
/* 80BE7FA4 38 A5 81 38 */ addi r5, r5, lit_3619@l /* 0x80BE8138@l */
/* 80BE7FA8 4B FF F6 11 */ bl __register_global_object
/* 80BE7FAC 3C 60 80 BF */ lis r3, mCcDCyl__12daFireWood_c@ha /* 0x80BE8050@ha */
/* 80BE7FB0 38 63 80 50 */ addi r3, r3, mCcDCyl__12daFireWood_c@l /* 0x80BE8050@l */
/* 80BE7FB4 38 A3 FF FC */ addi r5, r3, -4
/* 80BE7FB8 3C 60 80 BF */ lis r3, mCcDObjInfo__12daFireWood_c@ha /* 0x80BE800C@ha */
/* 80BE7FBC 38 63 80 0C */ addi r3, r3, mCcDObjInfo__12daFireWood_c@l /* 0x80BE800C@l */
/* 80BE7FC0 38 83 FF FC */ addi r4, r3, -4
/* 80BE7FC4 38 00 00 06 */ li r0, 6
/* 80BE7FC8 7C 09 03 A6 */ mtctr r0
lbl_80BE7FCC:
/* 80BE7FCC 80 64 00 04 */ lwz r3, 4(r4)
/* 80BE7FD0 84 04 00 08 */ lwzu r0, 8(r4)
/* 80BE7FD4 90 65 00 04 */ stw r3, 4(r5)
/* 80BE7FD8 94 05 00 08 */ stwu r0, 8(r5)
/* 80BE7FDC 42 00 FF F0 */ bdnz lbl_80BE7FCC
/* 80BE7FE0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE7FE4 7C 08 03 A6 */ mtlr r0
/* 80BE7FE8 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE7FEC 4E 80 00 20 */ blr
@@ -1,135 +0,0 @@
lbl_80BE7708:
/* 80BE7708 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE770C 7C 08 02 A6 */ mflr r0
/* 80BE7710 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE7714 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80BE7718 93 C1 00 08 */ stw r30, 8(r1)
/* 80BE771C 7C 7F 1B 78 */ mr r31, r3
/* 80BE7720 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80BE7724 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80BE7728 40 82 00 A8 */ bne lbl_80BE77D0
/* 80BE772C 7F E0 FB 79 */ or. r0, r31, r31
/* 80BE7730 41 82 00 94 */ beq lbl_80BE77C4
/* 80BE7734 7C 1E 03 78 */ mr r30, r0
/* 80BE7738 4B 43 14 2D */ bl __ct__10fopAc_ac_cFv
/* 80BE773C 3C 60 80 3C */ lis r3, __vt__9cCcD_Stts@ha /* 0x803C3728@ha */
/* 80BE7740 38 03 37 28 */ addi r0, r3, __vt__9cCcD_Stts@l /* 0x803C3728@l */
/* 80BE7744 90 1E 05 8C */ stw r0, 0x58c(r30)
/* 80BE7748 38 7E 05 90 */ addi r3, r30, 0x590
/* 80BE774C 4B 49 C0 15 */ bl __ct__10dCcD_GSttsFv
/* 80BE7750 3C 60 80 3B */ lis r3, __vt__9dCcD_Stts@ha /* 0x803AC2E4@ha */
/* 80BE7754 38 63 C2 E4 */ addi r3, r3, __vt__9dCcD_Stts@l /* 0x803AC2E4@l */
/* 80BE7758 90 7E 05 8C */ stw r3, 0x58c(r30)
/* 80BE775C 38 03 00 20 */ addi r0, r3, 0x20
/* 80BE7760 90 1E 05 90 */ stw r0, 0x590(r30)
/* 80BE7764 3B DE 05 B0 */ addi r30, r30, 0x5b0
/* 80BE7768 7F C3 F3 78 */ mr r3, r30
/* 80BE776C 4B 49 C2 BD */ bl __ct__12dCcD_GObjInfFv
/* 80BE7770 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */
/* 80BE7774 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */
/* 80BE7778 90 1E 01 20 */ stw r0, 0x120(r30)
/* 80BE777C 3C 60 80 BF */ lis r3, __vt__8cM3dGAab@ha /* 0x80BE8108@ha */
/* 80BE7780 38 03 81 08 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x80BE8108@l */
/* 80BE7784 90 1E 01 1C */ stw r0, 0x11c(r30)
/* 80BE7788 3C 60 80 BF */ lis r3, __vt__8cM3dGCyl@ha /* 0x80BE80FC@ha */
/* 80BE778C 38 03 80 FC */ addi r0, r3, __vt__8cM3dGCyl@l /* 0x80BE80FC@l */
/* 80BE7790 90 1E 01 38 */ stw r0, 0x138(r30)
/* 80BE7794 3C 60 80 3C */ lis r3, __vt__12cCcD_CylAttr@ha /* 0x803C35A4@ha */
/* 80BE7798 38 63 35 A4 */ addi r3, r3, __vt__12cCcD_CylAttr@l /* 0x803C35A4@l */
/* 80BE779C 90 7E 01 20 */ stw r3, 0x120(r30)
/* 80BE77A0 38 03 00 58 */ addi r0, r3, 0x58
/* 80BE77A4 90 1E 01 38 */ stw r0, 0x138(r30)
/* 80BE77A8 3C 60 80 3B */ lis r3, __vt__8dCcD_Cyl@ha /* 0x803AC050@ha */
/* 80BE77AC 38 63 C0 50 */ addi r3, r3, __vt__8dCcD_Cyl@l /* 0x803AC050@l */
/* 80BE77B0 90 7E 00 3C */ stw r3, 0x3c(r30)
/* 80BE77B4 38 03 00 2C */ addi r0, r3, 0x2c
/* 80BE77B8 90 1E 01 20 */ stw r0, 0x120(r30)
/* 80BE77BC 38 03 00 84 */ addi r0, r3, 0x84
/* 80BE77C0 90 1E 01 38 */ stw r0, 0x138(r30)
lbl_80BE77C4:
/* 80BE77C4 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 80BE77C8 60 00 00 08 */ ori r0, r0, 8
/* 80BE77CC 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_80BE77D0:
/* 80BE77D0 7F E3 FB 78 */ mr r3, r31
/* 80BE77D4 4B FF FE DD */ bl setBaseMtx__12daFireWood_cFv
/* 80BE77D8 38 7F 05 74 */ addi r3, r31, 0x574
/* 80BE77DC 38 80 00 FF */ li r4, 0xff
/* 80BE77E0 38 A0 00 FF */ li r5, 0xff
/* 80BE77E4 7F E6 FB 78 */ mr r6, r31
/* 80BE77E8 4B 49 C0 79 */ bl Init__9dCcD_SttsFiiP10fopAc_ac_c
/* 80BE77EC 38 7F 05 B0 */ addi r3, r31, 0x5b0
/* 80BE77F0 3C 80 80 BF */ lis r4, mCcDCyl__12daFireWood_c@ha /* 0x80BE8050@ha */
/* 80BE77F4 38 84 80 50 */ addi r4, r4, mCcDCyl__12daFireWood_c@l /* 0x80BE8050@l */
/* 80BE77F8 4B 49 D0 BD */ bl Set__8dCcD_CylFRC11dCcD_SrcCyl
/* 80BE77FC 38 1F 05 74 */ addi r0, r31, 0x574
/* 80BE7800 90 1F 05 F4 */ stw r0, 0x5f4(r31)
/* 80BE7804 3C 60 80 BF */ lis r3, l_cull_box@ha /* 0x80BE8094@ha */
/* 80BE7808 38 83 80 94 */ addi r4, r3, l_cull_box@l /* 0x80BE8094@l */
/* 80BE780C C0 04 00 10 */ lfs f0, 0x10(r4)
/* 80BE7810 C0 5F 04 F0 */ lfs f2, 0x4f0(r31)
/* 80BE7814 EC A0 00 B2 */ fmuls f5, f0, f2
/* 80BE7818 C0 9F 04 EC */ lfs f4, 0x4ec(r31)
/* 80BE781C 7F E3 FB 78 */ mr r3, r31
/* 80BE7820 C0 04 00 00 */ lfs f0, 0(r4)
/* 80BE7824 EC 20 01 32 */ fmuls f1, f0, f4
/* 80BE7828 C0 04 00 04 */ lfs f0, 4(r4)
/* 80BE782C EC 40 00 B2 */ fmuls f2, f0, f2
/* 80BE7830 C0 04 00 08 */ lfs f0, 8(r4)
/* 80BE7834 EC 60 01 32 */ fmuls f3, f0, f4
/* 80BE7838 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 80BE783C EC 80 01 32 */ fmuls f4, f0, f4
/* 80BE7840 FC C0 28 90 */ fmr f6, f5
/* 80BE7844 4B 43 2D 05 */ bl fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff
/* 80BE7848 C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
/* 80BE784C D0 1F 06 EC */ stfs f0, 0x6ec(r31)
/* 80BE7850 C0 3F 04 D4 */ lfs f1, 0x4d4(r31)
/* 80BE7854 3C 60 80 BF */ lis r3, l_HIO@ha /* 0x80BE8144@ha */
/* 80BE7858 38 63 81 44 */ addi r3, r3, l_HIO@l /* 0x80BE8144@l */
/* 80BE785C C0 03 00 04 */ lfs f0, 4(r3)
/* 80BE7860 EC 01 00 2A */ fadds f0, f1, f0
/* 80BE7864 D0 1F 06 F0 */ stfs f0, 0x6f0(r31)
/* 80BE7868 C0 1F 04 D8 */ lfs f0, 0x4d8(r31)
/* 80BE786C D0 1F 06 F4 */ stfs f0, 0x6f4(r31)
/* 80BE7870 38 60 00 00 */ li r3, 0
/* 80BE7874 7C 64 1B 78 */ mr r4, r3
/* 80BE7878 38 00 00 04 */ li r0, 4
/* 80BE787C 7C 09 03 A6 */ mtctr r0
lbl_80BE7880:
/* 80BE7880 38 03 06 FC */ addi r0, r3, 0x6fc
/* 80BE7884 7C 9F 01 2E */ stwx r4, r31, r0
/* 80BE7888 38 63 00 04 */ addi r3, r3, 4
/* 80BE788C 42 00 FF F4 */ bdnz lbl_80BE7880
/* 80BE7890 7F E3 FB 78 */ mr r3, r31
/* 80BE7894 48 00 01 0D */ bl lightInit__12daFireWood_cFv
/* 80BE7898 38 00 00 00 */ li r0, 0
/* 80BE789C 98 1F 06 F9 */ stb r0, 0x6f9(r31)
/* 80BE78A0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE78A4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE78A8 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80BE78AC 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 80BE78B0 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80BE78B4 7C 05 07 74 */ extsb r5, r0
/* 80BE78B8 4B 44 DA A9 */ bl isSwitch__10dSv_info_cCFii
/* 80BE78BC 98 7F 06 F8 */ stb r3, 0x6f8(r31)
/* 80BE78C0 88 1F 06 F8 */ lbz r0, 0x6f8(r31)
/* 80BE78C4 28 00 00 00 */ cmplwi r0, 0
/* 80BE78C8 41 82 00 18 */ beq lbl_80BE78E0
/* 80BE78CC 38 00 00 01 */ li r0, 1
/* 80BE78D0 98 1F 06 F9 */ stb r0, 0x6f9(r31)
/* 80BE78D4 98 1F 06 25 */ stb r0, 0x625(r31)
/* 80BE78D8 7F E3 FB 78 */ mr r3, r31
/* 80BE78DC 48 00 01 39 */ bl setLight__12daFireWood_cFv
lbl_80BE78E0:
/* 80BE78E0 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80BE78E4 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 80BE78E8 98 1F 07 0C */ stb r0, 0x70c(r31)
/* 80BE78EC 38 00 00 00 */ li r0, 0
/* 80BE78F0 98 1F 07 3C */ stb r0, 0x73c(r31)
/* 80BE78F4 38 60 00 04 */ li r3, 4
/* 80BE78F8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80BE78FC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80BE7900 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE7904 7C 08 03 A6 */ mtlr r0
/* 80BE7908 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE790C 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80BE7F04:
/* 80BE7F04 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE7F08 7C 08 02 A6 */ mflr r0
/* 80BE7F0C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE7F10 4B FF F7 F9 */ bl create__12daFireWood_cFv
/* 80BE7F14 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE7F18 7C 08 03 A6 */ mtlr r0
/* 80BE7F1C 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE7F20 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80BE7EE4:
/* 80BE7EE4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE7EE8 7C 08 02 A6 */ mflr r0
/* 80BE7EEC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE7EF0 4B FF FF 8D */ bl Delete__12daFireWood_cFv
/* 80BE7EF4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE7EF8 7C 08 03 A6 */ mtlr r0
/* 80BE7EFC 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE7F00 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80BE7EA4:
/* 80BE7EA4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE7EA8 7C 08 02 A6 */ mflr r0
/* 80BE7EAC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE7EB0 4B FF FF C5 */ bl Draw__12daFireWood_cFv
/* 80BE7EB4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE7EB8 7C 08 03 A6 */ mtlr r0
/* 80BE7EBC 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE7EC0 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80BE7EC4:
/* 80BE7EC4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE7EC8 7C 08 02 A6 */ mflr r0
/* 80BE7ECC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE7ED0 4B FF FB 69 */ bl Execute__12daFireWood_cFv
/* 80BE7ED4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE7ED8 7C 08 03 A6 */ mtlr r0
/* 80BE7EDC 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE7EE0 4E 80 00 20 */ blr
@@ -1,30 +0,0 @@
lbl_80BE79A0:
/* 80BE79A0 3C 80 80 BF */ lis r4, lit_3625@ha /* 0x80BE8004@ha */
/* 80BE79A4 38 84 80 04 */ addi r4, r4, lit_3625@l /* 0x80BE8004@l */
/* 80BE79A8 C0 03 06 EC */ lfs f0, 0x6ec(r3)
/* 80BE79AC D0 03 07 10 */ stfs f0, 0x710(r3)
/* 80BE79B0 C0 03 06 F0 */ lfs f0, 0x6f0(r3)
/* 80BE79B4 D0 03 07 14 */ stfs f0, 0x714(r3)
/* 80BE79B8 C0 03 06 F4 */ lfs f0, 0x6f4(r3)
/* 80BE79BC D0 03 07 18 */ stfs f0, 0x718(r3)
/* 80BE79C0 C0 23 07 14 */ lfs f1, 0x714(r3)
/* 80BE79C4 C0 04 00 38 */ lfs f0, 0x38(r4)
/* 80BE79C8 EC 01 00 2A */ fadds f0, f1, f0
/* 80BE79CC D0 03 07 14 */ stfs f0, 0x714(r3)
/* 80BE79D0 C0 03 07 10 */ lfs f0, 0x710(r3)
/* 80BE79D4 D0 03 07 1C */ stfs f0, 0x71c(r3)
/* 80BE79D8 C0 03 07 14 */ lfs f0, 0x714(r3)
/* 80BE79DC D0 03 07 20 */ stfs f0, 0x720(r3)
/* 80BE79E0 C0 03 07 18 */ lfs f0, 0x718(r3)
/* 80BE79E4 D0 03 07 24 */ stfs f0, 0x724(r3)
/* 80BE79E8 38 00 00 BC */ li r0, 0xbc
/* 80BE79EC B0 03 07 28 */ sth r0, 0x728(r3)
/* 80BE79F0 38 00 00 66 */ li r0, 0x66
/* 80BE79F4 B0 03 07 2A */ sth r0, 0x72a(r3)
/* 80BE79F8 38 00 00 42 */ li r0, 0x42
/* 80BE79FC B0 03 07 2C */ sth r0, 0x72c(r3)
/* 80BE7A00 C0 04 00 3C */ lfs f0, 0x3c(r4)
/* 80BE7A04 D0 03 07 30 */ stfs f0, 0x730(r3)
/* 80BE7A08 C0 04 00 40 */ lfs f0, 0x40(r4)
/* 80BE7A0C D0 03 07 34 */ stfs f0, 0x734(r3)
/* 80BE7A10 4E 80 00 20 */ blr
@@ -1,23 +0,0 @@
lbl_80BE76B0:
/* 80BE76B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE76B4 7C 08 02 A6 */ mflr r0
/* 80BE76B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE76BC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80BE76C0 7C 7F 1B 78 */ mr r31, r3
/* 80BE76C4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80BE76C8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80BE76CC C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
/* 80BE76D0 C0 5F 04 D4 */ lfs f2, 0x4d4(r31)
/* 80BE76D4 C0 7F 04 D8 */ lfs f3, 0x4d8(r31)
/* 80BE76D8 4B 75 F2 11 */ bl PSMTXTrans
/* 80BE76DC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80BE76E0 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80BE76E4 A8 9F 04 DC */ lha r4, 0x4dc(r31)
/* 80BE76E8 A8 BF 04 DE */ lha r5, 0x4de(r31)
/* 80BE76EC A8 DF 04 E0 */ lha r6, 0x4e0(r31)
/* 80BE76F0 4B 42 4B B1 */ bl mDoMtx_ZXYrotM__FPA4_fsss
/* 80BE76F4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80BE76F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE76FC 7C 08 03 A6 */ mtlr r0
/* 80BE7700 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE7704 4E 80 00 20 */ blr
@@ -1,10 +0,0 @@
lbl_80BE7A14:
/* 80BE7A14 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE7A18 7C 08 02 A6 */ mflr r0
/* 80BE7A1C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE7A20 38 63 07 1C */ addi r3, r3, 0x71c
/* 80BE7A24 4B 5B FD 6D */ bl dKy_plight_set__FP15LIGHT_INFLUENCE
/* 80BE7A28 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE7A2C 7C 08 03 A6 */ mtlr r0
/* 80BE7A30 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE7A34 4E 80 00 20 */ blr
@@ -1,85 +0,0 @@
lbl_80D1BE6C:
/* 80D1BE6C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80D1BE70 7C 08 02 A6 */ mflr r0
/* 80D1BE74 90 01 00 34 */ stw r0, 0x34(r1)
/* 80D1BE78 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80D1BE7C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80D1BE80 7C 7E 1B 78 */ mr r30, r3
/* 80D1BE84 3C 80 80 D2 */ lis r4, lit_3628@ha /* 0x80D1C354@ha */
/* 80D1BE88 3B E4 C3 54 */ addi r31, r4, lit_3628@l /* 0x80D1C354@l */
/* 80D1BE8C 38 00 00 00 */ li r0, 0
/* 80D1BE90 B0 03 04 E0 */ sth r0, 0x4e0(r3)
/* 80D1BE94 B0 03 04 E8 */ sth r0, 0x4e8(r3)
/* 80D1BE98 B0 03 04 B8 */ sth r0, 0x4b8(r3)
/* 80D1BE9C 4B FF FF 69 */ bl initBaseMtx__11daObjTrnd_cFv
/* 80D1BEA0 38 1E 07 08 */ addi r0, r30, 0x708
/* 80D1BEA4 90 1E 05 04 */ stw r0, 0x504(r30)
/* 80D1BEA8 38 7E 05 68 */ addi r3, r30, 0x568
/* 80D1BEAC 38 80 00 FF */ li r4, 0xff
/* 80D1BEB0 38 A0 00 FF */ li r5, 0xff
/* 80D1BEB4 7F C6 F3 78 */ mr r6, r30
/* 80D1BEB8 4B 36 79 A9 */ bl Init__9dCcD_SttsFiiP10fopAc_ac_c
/* 80D1BEBC 38 7E 05 A4 */ addi r3, r30, 0x5a4
/* 80D1BEC0 3C 80 80 D2 */ lis r4, l_cps_src@ha /* 0x80D1C3B4@ha */
/* 80D1BEC4 38 84 C3 B4 */ addi r4, r4, l_cps_src@l /* 0x80D1C3B4@l */
/* 80D1BEC8 4B 36 89 09 */ bl Set__8dCcD_CpsFRC11dCcD_SrcCps
/* 80D1BECC 38 1E 05 68 */ addi r0, r30, 0x568
/* 80D1BED0 90 1E 05 E8 */ stw r0, 0x5e8(r30)
/* 80D1BED4 C0 1F 00 4C */ lfs f0, 0x4c(r31)
/* 80D1BED8 C0 7E 04 EC */ lfs f3, 0x4ec(r30)
/* 80D1BEDC EC 20 00 F2 */ fmuls f1, f0, f3
/* 80D1BEE0 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 80D1BEE4 C0 5F 00 00 */ lfs f2, 0(r31)
/* 80D1BEE8 D0 41 00 18 */ stfs f2, 0x18(r1)
/* 80D1BEEC D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 80D1BEF0 C0 1F 00 08 */ lfs f0, 8(r31)
/* 80D1BEF4 EC 80 00 F2 */ fmuls f4, f0, f3
/* 80D1BEF8 D0 81 00 08 */ stfs f4, 8(r1)
/* 80D1BEFC C0 7F 00 3C */ lfs f3, 0x3c(r31)
/* 80D1BF00 C0 1E 04 F0 */ lfs f0, 0x4f0(r30)
/* 80D1BF04 EC A3 00 32 */ fmuls f5, f3, f0
/* 80D1BF08 D0 A1 00 0C */ stfs f5, 0xc(r1)
/* 80D1BF0C D0 81 00 10 */ stfs f4, 0x10(r1)
/* 80D1BF10 7F C3 F3 78 */ mr r3, r30
/* 80D1BF14 FC 60 08 90 */ fmr f3, f1
/* 80D1BF18 FC C0 20 90 */ fmr f6, f4
/* 80D1BF1C 4B 2F E6 2D */ bl fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff
/* 80D1BF20 80 1E 00 B0 */ lwz r0, 0xb0(r30)
/* 80D1BF24 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 80D1BF28 28 00 00 FF */ cmplwi r0, 0xff
/* 80D1BF2C 41 82 00 0C */ beq lbl_80D1BF38
/* 80D1BF30 28 00 00 00 */ cmplwi r0, 0
/* 80D1BF34 40 82 00 10 */ bne lbl_80D1BF44
lbl_80D1BF38:
/* 80D1BF38 38 00 FF FF */ li r0, -1
/* 80D1BF3C B0 1E 07 38 */ sth r0, 0x738(r30)
/* 80D1BF40 48 00 00 0C */ b lbl_80D1BF4C
lbl_80D1BF44:
/* 80D1BF44 1C 00 00 0F */ mulli r0, r0, 0xf
/* 80D1BF48 B0 1E 07 38 */ sth r0, 0x738(r30)
lbl_80D1BF4C:
/* 80D1BF4C C0 3F 00 08 */ lfs f1, 8(r31)
/* 80D1BF50 C0 1E 04 EC */ lfs f0, 0x4ec(r30)
/* 80D1BF54 EC 01 00 32 */ fmuls f0, f1, f0
/* 80D1BF58 D0 1E 07 00 */ stfs f0, 0x700(r30)
/* 80D1BF5C C0 1E 04 D0 */ lfs f0, 0x4d0(r30)
/* 80D1BF60 D0 1E 06 E8 */ stfs f0, 0x6e8(r30)
/* 80D1BF64 C0 1E 04 D4 */ lfs f0, 0x4d4(r30)
/* 80D1BF68 D0 1E 06 EC */ stfs f0, 0x6ec(r30)
/* 80D1BF6C C0 1E 04 D8 */ lfs f0, 0x4d8(r30)
/* 80D1BF70 D0 1E 06 F0 */ stfs f0, 0x6f0(r30)
/* 80D1BF74 C0 3F 00 3C */ lfs f1, 0x3c(r31)
/* 80D1BF78 C0 1E 04 F0 */ lfs f0, 0x4f0(r30)
/* 80D1BF7C EC 01 00 32 */ fmuls f0, f1, f0
/* 80D1BF80 D0 1E 07 3C */ stfs f0, 0x73c(r30)
/* 80D1BF84 C0 1E 07 3C */ lfs f0, 0x73c(r30)
/* 80D1BF88 D0 1E 07 04 */ stfs f0, 0x704(r30)
/* 80D1BF8C 7F C3 F3 78 */ mr r3, r30
/* 80D1BF90 4B FF FA 09 */ bl setPntWind__11daObjTrnd_cFv
/* 80D1BF94 38 60 00 01 */ li r3, 1
/* 80D1BF98 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80D1BF9C 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80D1BFA0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80D1BFA4 7C 08 03 A6 */ mtlr r0
/* 80D1BFA8 38 21 00 30 */ addi r1, r1, 0x30
/* 80D1BFAC 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_80D1C0A8:
/* 80D1C0A8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D1C0AC 7C 08 02 A6 */ mflr r0
/* 80D1C0B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D1C0B4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D1C0B8 7C 7F 1B 79 */ or. r31, r3, r3
/* 80D1C0BC 41 82 00 1C */ beq lbl_80D1C0D8
/* 80D1C0C0 3C A0 80 D2 */ lis r5, __vt__8cM3dGAab@ha /* 0x80D1C450@ha */
/* 80D1C0C4 38 05 C4 50 */ addi r0, r5, __vt__8cM3dGAab@l /* 0x80D1C450@l */
/* 80D1C0C8 90 1F 00 18 */ stw r0, 0x18(r31)
/* 80D1C0CC 7C 80 07 35 */ extsh. r0, r4
/* 80D1C0D0 40 81 00 08 */ ble lbl_80D1C0D8
/* 80D1C0D4 4B 5B 2C 69 */ bl __dl__FPv
lbl_80D1C0D8:
/* 80D1C0D8 7F E3 FB 78 */ mr r3, r31
/* 80D1C0DC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D1C0E0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D1C0E4 7C 08 03 A6 */ mtlr r0
/* 80D1C0E8 38 21 00 10 */ addi r1, r1, 0x10
/* 80D1C0EC 4E 80 00 20 */ blr
@@ -1,112 +0,0 @@
lbl_80D1C0F0:
/* 80D1C0F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D1C0F4 7C 08 02 A6 */ mflr r0
/* 80D1C0F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D1C0FC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D1C100 93 C1 00 08 */ stw r30, 8(r1)
/* 80D1C104 7C 7F 1B 78 */ mr r31, r3
/* 80D1C108 3C 60 80 D2 */ lis r3, lit_3628@ha /* 0x80D1C354@ha */
/* 80D1C10C 3B C3 C3 54 */ addi r30, r3, lit_3628@l /* 0x80D1C354@l */
/* 80D1C110 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80D1C114 54 04 46 3E */ srwi r4, r0, 0x18
/* 80D1C118 28 04 00 FF */ cmplwi r4, 0xff
/* 80D1C11C 41 82 00 58 */ beq lbl_80D1C174
/* 80D1C120 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D1C124 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D1C128 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80D1C12C 7C 05 07 74 */ extsb r5, r0
/* 80D1C130 4B 31 92 31 */ bl isSwitch__10dSv_info_cCFii
/* 80D1C134 2C 03 00 00 */ cmpwi r3, 0
/* 80D1C138 40 82 00 3C */ bne lbl_80D1C174
/* 80D1C13C C0 3E 00 00 */ lfs f1, 0(r30)
/* 80D1C140 C0 1F 07 3C */ lfs f0, 0x73c(r31)
/* 80D1C144 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80D1C148 41 82 00 10 */ beq lbl_80D1C158
/* 80D1C14C D0 3F 07 3C */ stfs f1, 0x73c(r31)
/* 80D1C150 7F E3 FB 78 */ mr r3, r31
/* 80D1C154 4B FF F8 B9 */ bl cutPntWind__11daObjTrnd_cFv
lbl_80D1C158:
/* 80D1C158 38 7F 07 6C */ addi r3, r31, 0x76c
/* 80D1C15C C0 3E 00 50 */ lfs f1, 0x50(r30)
/* 80D1C160 C0 5E 00 0C */ lfs f2, 0xc(r30)
/* 80D1C164 C0 7E 00 14 */ lfs f3, 0x14(r30)
/* 80D1C168 C0 9E 00 54 */ lfs f4, 0x54(r30)
/* 80D1C16C 4B 55 38 11 */ bl cLib_addCalc__FPfffff
/* 80D1C170 48 00 00 B0 */ b lbl_80D1C220
lbl_80D1C174:
/* 80D1C174 A8 7F 07 38 */ lha r3, 0x738(r31)
/* 80D1C178 7C 60 07 35 */ extsh. r0, r3
/* 80D1C17C 40 81 00 54 */ ble lbl_80D1C1D0
/* 80D1C180 38 03 FF FF */ addi r0, r3, -1
/* 80D1C184 B0 1F 07 38 */ sth r0, 0x738(r31)
/* 80D1C188 C0 3E 00 00 */ lfs f1, 0(r30)
/* 80D1C18C C0 1F 07 3C */ lfs f0, 0x73c(r31)
/* 80D1C190 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80D1C194 40 82 00 20 */ bne lbl_80D1C1B4
/* 80D1C198 38 7F 07 6C */ addi r3, r31, 0x76c
/* 80D1C19C C0 3E 00 50 */ lfs f1, 0x50(r30)
/* 80D1C1A0 C0 5E 00 0C */ lfs f2, 0xc(r30)
/* 80D1C1A4 C0 7E 00 14 */ lfs f3, 0x14(r30)
/* 80D1C1A8 C0 9E 00 54 */ lfs f4, 0x54(r30)
/* 80D1C1AC 4B 55 37 D1 */ bl cLib_addCalc__FPfffff
/* 80D1C1B0 48 00 00 70 */ b lbl_80D1C220
lbl_80D1C1B4:
/* 80D1C1B4 38 7F 07 6C */ addi r3, r31, 0x76c
/* 80D1C1B8 C0 3E 00 58 */ lfs f1, 0x58(r30)
/* 80D1C1BC C0 5E 00 18 */ lfs f2, 0x18(r30)
/* 80D1C1C0 C0 7E 00 14 */ lfs f3, 0x14(r30)
/* 80D1C1C4 C0 9E 00 54 */ lfs f4, 0x54(r30)
/* 80D1C1C8 4B 55 37 B5 */ bl cLib_addCalc__FPfffff
/* 80D1C1CC 48 00 00 54 */ b lbl_80D1C220
lbl_80D1C1D0:
/* 80D1C1D0 7C 60 07 35 */ extsh. r0, r3
/* 80D1C1D4 40 82 00 4C */ bne lbl_80D1C220
/* 80D1C1D8 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80D1C1DC 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 80D1C1E0 1C 00 00 0F */ mulli r0, r0, 0xf
/* 80D1C1E4 B0 1F 07 38 */ sth r0, 0x738(r31)
/* 80D1C1E8 C0 3E 00 00 */ lfs f1, 0(r30)
/* 80D1C1EC C0 1F 07 3C */ lfs f0, 0x73c(r31)
/* 80D1C1F0 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80D1C1F4 40 82 00 20 */ bne lbl_80D1C214
/* 80D1C1F8 C0 3E 00 3C */ lfs f1, 0x3c(r30)
/* 80D1C1FC C0 1F 04 F0 */ lfs f0, 0x4f0(r31)
/* 80D1C200 EC 01 00 32 */ fmuls f0, f1, f0
/* 80D1C204 D0 1F 07 3C */ stfs f0, 0x73c(r31)
/* 80D1C208 7F E3 FB 78 */ mr r3, r31
/* 80D1C20C 4B FF F7 8D */ bl setPntWind__11daObjTrnd_cFv
/* 80D1C210 48 00 00 10 */ b lbl_80D1C220
lbl_80D1C214:
/* 80D1C214 D0 3F 07 3C */ stfs f1, 0x73c(r31)
/* 80D1C218 7F E3 FB 78 */ mr r3, r31
/* 80D1C21C 4B FF F7 F1 */ bl cutPntWind__11daObjTrnd_cFv
lbl_80D1C220:
/* 80D1C220 38 60 00 00 */ li r3, 0
/* 80D1C224 A8 9F 04 B6 */ lha r4, 0x4b6(r31)
/* 80D1C228 4B 33 F3 F5 */ bl dKyw_evt_wind_set__Fss
/* 80D1C22C C0 3F 07 6C */ lfs f1, 0x76c(r31)
/* 80D1C230 4B 33 F3 DD */ bl dKyw_custom_windpower__Ff
/* 80D1C234 7F E3 FB 78 */ mr r3, r31
/* 80D1C238 4B FF FA 09 */ bl setCpsInfo__11daObjTrnd_cFv
/* 80D1C23C 7F E3 FB 78 */ mr r3, r31
/* 80D1C240 4B FF FB E5 */ bl setBaseMtx__11daObjTrnd_cFv
/* 80D1C244 C0 3E 00 00 */ lfs f1, 0(r30)
/* 80D1C248 C0 1F 07 04 */ lfs f0, 0x704(r31)
/* 80D1C24C FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80D1C250 41 82 00 24 */ beq lbl_80D1C274
/* 80D1C254 38 7F 06 C8 */ addi r3, r31, 0x6c8
/* 80D1C258 38 9F 06 E8 */ addi r4, r31, 0x6e8
/* 80D1C25C 4B 55 2D E1 */ bl Set__8cM3dGCpsFRC9cM3dGCpsS
/* 80D1C260 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D1C264 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D1C268 38 63 23 3C */ addi r3, r3, 0x233c
/* 80D1C26C 38 9F 05 A4 */ addi r4, r31, 0x5a4
/* 80D1C270 4B 54 89 39 */ bl Set__4cCcSFP8cCcD_Obj
lbl_80D1C274:
/* 80D1C274 38 60 00 01 */ li r3, 1
/* 80D1C278 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D1C27C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80D1C280 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D1C284 7C 08 03 A6 */ mtlr r0
/* 80D1C288 38 21 00 10 */ addi r1, r1, 0x10
/* 80D1C28C 4E 80 00 20 */ blr
@@ -1,143 +0,0 @@
lbl_80D1BA30:
/* 80D1BA30 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80D1BA34 7C 08 02 A6 */ mflr r0
/* 80D1BA38 90 01 00 44 */ stw r0, 0x44(r1)
/* 80D1BA3C 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 80D1BA40 93 C1 00 38 */ stw r30, 0x38(r1)
/* 80D1BA44 7C 7E 1B 78 */ mr r30, r3
/* 80D1BA48 3C 60 80 D2 */ lis r3, lit_3628@ha /* 0x80D1C354@ha */
/* 80D1BA4C 3B E3 C3 54 */ addi r31, r3, lit_3628@l /* 0x80D1C354@l */
/* 80D1BA50 C0 1E 06 E8 */ lfs f0, 0x6e8(r30)
/* 80D1BA54 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 80D1BA58 C0 1E 06 EC */ lfs f0, 0x6ec(r30)
/* 80D1BA5C D0 01 00 28 */ stfs f0, 0x28(r1)
/* 80D1BA60 C0 1E 06 F0 */ lfs f0, 0x6f0(r30)
/* 80D1BA64 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 80D1BA68 C0 1E 06 F4 */ lfs f0, 0x6f4(r30)
/* 80D1BA6C D0 01 00 18 */ stfs f0, 0x18(r1)
/* 80D1BA70 C0 1E 06 F8 */ lfs f0, 0x6f8(r30)
/* 80D1BA74 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 80D1BA78 C0 1E 06 FC */ lfs f0, 0x6fc(r30)
/* 80D1BA7C D0 01 00 20 */ stfs f0, 0x20(r1)
/* 80D1BA80 38 61 00 24 */ addi r3, r1, 0x24
/* 80D1BA84 38 81 00 18 */ addi r4, r1, 0x18
/* 80D1BA88 38 A1 00 0C */ addi r5, r1, 0xc
/* 80D1BA8C 4B 33 FC D5 */ bl dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz
/* 80D1BA90 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80D1BA94 D0 1E 07 4C */ stfs f0, 0x74c(r30)
/* 80D1BA98 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80D1BA9C D0 1E 07 50 */ stfs f0, 0x750(r30)
/* 80D1BAA0 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80D1BAA4 D0 1E 07 54 */ stfs f0, 0x754(r30)
/* 80D1BAA8 C0 3F 00 10 */ lfs f1, 0x10(r31)
/* 80D1BAAC C0 1E 07 00 */ lfs f0, 0x700(r30)
/* 80D1BAB0 EC 01 00 32 */ fmuls f0, f1, f0
/* 80D1BAB4 D0 1E 07 58 */ stfs f0, 0x758(r30)
/* 80D1BAB8 C0 1F 00 00 */ lfs f0, 0(r31)
/* 80D1BABC D0 1E 07 60 */ stfs f0, 0x760(r30)
/* 80D1BAC0 C0 7E 07 58 */ lfs f3, 0x758(r30)
/* 80D1BAC4 38 7E 07 40 */ addi r3, r30, 0x740
/* 80D1BAC8 C0 3E 06 F4 */ lfs f1, 0x6f4(r30)
/* 80D1BACC C0 5F 00 14 */ lfs f2, 0x14(r31)
/* 80D1BAD0 C0 1F 00 18 */ lfs f0, 0x18(r31)
/* 80D1BAD4 EC 80 00 F2 */ fmuls f4, f0, f3
/* 80D1BAD8 4B 55 3E A5 */ bl cLib_addCalc__FPfffff
/* 80D1BADC C0 7E 07 58 */ lfs f3, 0x758(r30)
/* 80D1BAE0 38 7E 07 44 */ addi r3, r30, 0x744
/* 80D1BAE4 C0 3E 06 F8 */ lfs f1, 0x6f8(r30)
/* 80D1BAE8 C0 5F 00 14 */ lfs f2, 0x14(r31)
/* 80D1BAEC C0 1F 00 18 */ lfs f0, 0x18(r31)
/* 80D1BAF0 EC 80 00 F2 */ fmuls f4, f0, f3
/* 80D1BAF4 4B 55 3E 89 */ bl cLib_addCalc__FPfffff
/* 80D1BAF8 C0 7E 07 58 */ lfs f3, 0x758(r30)
/* 80D1BAFC 38 7E 07 48 */ addi r3, r30, 0x748
/* 80D1BB00 C0 3E 06 FC */ lfs f1, 0x6fc(r30)
/* 80D1BB04 C0 5F 00 14 */ lfs f2, 0x14(r31)
/* 80D1BB08 C0 1F 00 18 */ lfs f0, 0x18(r31)
/* 80D1BB0C EC 80 00 F2 */ fmuls f4, f0, f3
/* 80D1BB10 4B 55 3E 6D */ bl cLib_addCalc__FPfffff
/* 80D1BB14 38 7E 07 40 */ addi r3, r30, 0x740
/* 80D1BB18 38 9E 06 F4 */ addi r4, r30, 0x6f4
/* 80D1BB1C 4B 62 B8 81 */ bl PSVECSquareDistance
/* 80D1BB20 C0 1F 00 00 */ lfs f0, 0(r31)
/* 80D1BB24 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D1BB28 40 81 00 58 */ ble lbl_80D1BB80
/* 80D1BB2C FC 00 08 34 */ frsqrte f0, f1
/* 80D1BB30 C8 9F 00 20 */ lfd f4, 0x20(r31)
/* 80D1BB34 FC 44 00 32 */ fmul f2, f4, f0
/* 80D1BB38 C8 7F 00 28 */ lfd f3, 0x28(r31)
/* 80D1BB3C FC 00 00 32 */ fmul f0, f0, f0
/* 80D1BB40 FC 01 00 32 */ fmul f0, f1, f0
/* 80D1BB44 FC 03 00 28 */ fsub f0, f3, f0
/* 80D1BB48 FC 02 00 32 */ fmul f0, f2, f0
/* 80D1BB4C FC 44 00 32 */ fmul f2, f4, f0
/* 80D1BB50 FC 00 00 32 */ fmul f0, f0, f0
/* 80D1BB54 FC 01 00 32 */ fmul f0, f1, f0
/* 80D1BB58 FC 03 00 28 */ fsub f0, f3, f0
/* 80D1BB5C FC 02 00 32 */ fmul f0, f2, f0
/* 80D1BB60 FC 44 00 32 */ fmul f2, f4, f0
/* 80D1BB64 FC 00 00 32 */ fmul f0, f0, f0
/* 80D1BB68 FC 01 00 32 */ fmul f0, f1, f0
/* 80D1BB6C FC 03 00 28 */ fsub f0, f3, f0
/* 80D1BB70 FC 02 00 32 */ fmul f0, f2, f0
/* 80D1BB74 FC 21 00 32 */ fmul f1, f1, f0
/* 80D1BB78 FC 20 08 18 */ frsp f1, f1
/* 80D1BB7C 48 00 00 88 */ b lbl_80D1BC04
lbl_80D1BB80:
/* 80D1BB80 C8 1F 00 30 */ lfd f0, 0x30(r31)
/* 80D1BB84 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D1BB88 40 80 00 10 */ bge lbl_80D1BB98
/* 80D1BB8C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80D1BB90 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
/* 80D1BB94 48 00 00 70 */ b lbl_80D1BC04
lbl_80D1BB98:
/* 80D1BB98 D0 21 00 08 */ stfs f1, 8(r1)
/* 80D1BB9C 80 81 00 08 */ lwz r4, 8(r1)
/* 80D1BBA0 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 80D1BBA4 3C 00 7F 80 */ lis r0, 0x7f80
/* 80D1BBA8 7C 03 00 00 */ cmpw r3, r0
/* 80D1BBAC 41 82 00 14 */ beq lbl_80D1BBC0
/* 80D1BBB0 40 80 00 40 */ bge lbl_80D1BBF0
/* 80D1BBB4 2C 03 00 00 */ cmpwi r3, 0
/* 80D1BBB8 41 82 00 20 */ beq lbl_80D1BBD8
/* 80D1BBBC 48 00 00 34 */ b lbl_80D1BBF0
lbl_80D1BBC0:
/* 80D1BBC0 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80D1BBC4 41 82 00 0C */ beq lbl_80D1BBD0
/* 80D1BBC8 38 00 00 01 */ li r0, 1
/* 80D1BBCC 48 00 00 28 */ b lbl_80D1BBF4
lbl_80D1BBD0:
/* 80D1BBD0 38 00 00 02 */ li r0, 2
/* 80D1BBD4 48 00 00 20 */ b lbl_80D1BBF4
lbl_80D1BBD8:
/* 80D1BBD8 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80D1BBDC 41 82 00 0C */ beq lbl_80D1BBE8
/* 80D1BBE0 38 00 00 05 */ li r0, 5
/* 80D1BBE4 48 00 00 10 */ b lbl_80D1BBF4
lbl_80D1BBE8:
/* 80D1BBE8 38 00 00 03 */ li r0, 3
/* 80D1BBEC 48 00 00 08 */ b lbl_80D1BBF4
lbl_80D1BBF0:
/* 80D1BBF0 38 00 00 04 */ li r0, 4
lbl_80D1BBF4:
/* 80D1BBF4 2C 00 00 01 */ cmpwi r0, 1
/* 80D1BBF8 40 82 00 0C */ bne lbl_80D1BC04
/* 80D1BBFC 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80D1BC00 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
lbl_80D1BC04:
/* 80D1BC04 C0 1E 07 58 */ lfs f0, 0x758(r30)
/* 80D1BC08 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D1BC0C 40 80 00 1C */ bge lbl_80D1BC28
/* 80D1BC10 C0 1E 06 E8 */ lfs f0, 0x6e8(r30)
/* 80D1BC14 D0 1E 07 40 */ stfs f0, 0x740(r30)
/* 80D1BC18 C0 1E 06 EC */ lfs f0, 0x6ec(r30)
/* 80D1BC1C D0 1E 07 44 */ stfs f0, 0x744(r30)
/* 80D1BC20 C0 1E 06 F0 */ lfs f0, 0x6f0(r30)
/* 80D1BC24 D0 1E 07 48 */ stfs f0, 0x748(r30)
lbl_80D1BC28:
/* 80D1BC28 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 80D1BC2C 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 80D1BC30 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80D1BC34 7C 08 03 A6 */ mtlr r0
/* 80D1BC38 38 21 00 40 */ addi r1, r1, 0x40
/* 80D1BC3C 4E 80 00 20 */ blr
@@ -1,117 +0,0 @@
lbl_80D1BC40:
/* 80D1BC40 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80D1BC44 7C 08 02 A6 */ mflr r0
/* 80D1BC48 90 01 00 44 */ stw r0, 0x44(r1)
/* 80D1BC4C 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 80D1BC50 93 C1 00 38 */ stw r30, 0x38(r1)
/* 80D1BC54 7C 7E 1B 78 */ mr r30, r3
/* 80D1BC58 3C 60 80 D2 */ lis r3, lit_3628@ha /* 0x80D1C354@ha */
/* 80D1BC5C 3B E3 C3 54 */ addi r31, r3, lit_3628@l /* 0x80D1C354@l */
/* 80D1BC60 38 7E 07 04 */ addi r3, r30, 0x704
/* 80D1BC64 C0 3E 07 3C */ lfs f1, 0x73c(r30)
/* 80D1BC68 C0 7F 00 38 */ lfs f3, 0x38(r31)
/* 80D1BC6C C0 5F 00 3C */ lfs f2, 0x3c(r31)
/* 80D1BC70 C0 1E 04 F0 */ lfs f0, 0x4f0(r30)
/* 80D1BC74 EC 02 00 32 */ fmuls f0, f2, f0
/* 80D1BC78 EC 43 00 32 */ fmuls f2, f3, f0
/* 80D1BC7C 4B 55 4A C5 */ bl cLib_chaseF__FPfff
/* 80D1BC80 C0 3F 00 00 */ lfs f1, 0(r31)
/* 80D1BC84 D0 3E 06 F4 */ stfs f1, 0x6f4(r30)
/* 80D1BC88 C0 1E 07 04 */ lfs f0, 0x704(r30)
/* 80D1BC8C D0 1E 06 F8 */ stfs f0, 0x6f8(r30)
/* 80D1BC90 D0 3E 06 FC */ stfs f1, 0x6fc(r30)
/* 80D1BC94 C0 1E 06 E8 */ lfs f0, 0x6e8(r30)
/* 80D1BC98 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 80D1BC9C C0 1E 06 EC */ lfs f0, 0x6ec(r30)
/* 80D1BCA0 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 80D1BCA4 C0 1E 06 F0 */ lfs f0, 0x6f0(r30)
/* 80D1BCA8 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 80D1BCAC 38 61 00 18 */ addi r3, r1, 0x18
/* 80D1BCB0 4B 2F 10 B5 */ bl transS__14mDoMtx_stack_cFRC4cXyz
/* 80D1BCB4 38 7E 04 E4 */ addi r3, r30, 0x4e4
/* 80D1BCB8 4B 2F 12 8D */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz
/* 80D1BCBC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80D1BCC0 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80D1BCC4 38 9E 06 F4 */ addi r4, r30, 0x6f4
/* 80D1BCC8 7C 85 23 78 */ mr r5, r4
/* 80D1BCCC 4B 62 B0 A1 */ bl PSMTXMultVec
/* 80D1BCD0 38 7E 06 C8 */ addi r3, r30, 0x6c8
/* 80D1BCD4 38 9E 06 E8 */ addi r4, r30, 0x6e8
/* 80D1BCD8 4B 55 33 65 */ bl Set__8cM3dGCpsFRC9cM3dGCpsS
/* 80D1BCDC C0 3E 06 F4 */ lfs f1, 0x6f4(r30)
/* 80D1BCE0 C0 1E 06 E8 */ lfs f0, 0x6e8(r30)
/* 80D1BCE4 EC 01 00 28 */ fsubs f0, f1, f0
/* 80D1BCE8 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 80D1BCEC C0 3E 06 F8 */ lfs f1, 0x6f8(r30)
/* 80D1BCF0 C0 1E 06 EC */ lfs f0, 0x6ec(r30)
/* 80D1BCF4 EC 01 00 28 */ fsubs f0, f1, f0
/* 80D1BCF8 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 80D1BCFC C0 3E 06 FC */ lfs f1, 0x6fc(r30)
/* 80D1BD00 C0 1E 06 F0 */ lfs f0, 0x6f0(r30)
/* 80D1BD04 EC 01 00 28 */ fsubs f0, f1, f0
/* 80D1BD08 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 80D1BD0C 38 61 00 24 */ addi r3, r1, 0x24
/* 80D1BD10 4B 54 B3 9D */ bl isZero__4cXyzCFv
/* 80D1BD14 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80D1BD18 40 82 00 14 */ bne lbl_80D1BD2C
/* 80D1BD1C 38 61 00 0C */ addi r3, r1, 0xc
/* 80D1BD20 38 81 00 24 */ addi r4, r1, 0x24
/* 80D1BD24 4B 54 B1 D1 */ bl normalize__4cXyzFv
/* 80D1BD28 48 00 00 20 */ b lbl_80D1BD48
lbl_80D1BD2C:
/* 80D1BD2C 3C 60 80 43 */ lis r3, Zero__4cXyz@ha /* 0x80430CF4@ha */
/* 80D1BD30 C4 03 0C F4 */ lfsu f0, Zero__4cXyz@l(r3) /* 0x80430CF4@l */
/* 80D1BD34 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 80D1BD38 C0 03 00 04 */ lfs f0, 4(r3)
/* 80D1BD3C D0 01 00 28 */ stfs f0, 0x28(r1)
/* 80D1BD40 C0 03 00 08 */ lfs f0, 8(r3)
/* 80D1BD44 D0 01 00 2C */ stfs f0, 0x2c(r1)
lbl_80D1BD48:
/* 80D1BD48 38 61 00 24 */ addi r3, r1, 0x24
/* 80D1BD4C 7C 64 1B 78 */ mr r4, r3
/* 80D1BD50 C0 3F 00 40 */ lfs f1, 0x40(r31)
/* 80D1BD54 C0 1E 04 F4 */ lfs f0, 0x4f4(r30)
/* 80D1BD58 EC 21 00 32 */ fmuls f1, f1, f0
/* 80D1BD5C 4B 62 B3 7D */ bl PSVECScale
/* 80D1BD60 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 80D1BD64 D0 1E 06 28 */ stfs f0, 0x628(r30)
/* 80D1BD68 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 80D1BD6C D0 1E 06 2C */ stfs f0, 0x62c(r30)
/* 80D1BD70 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 80D1BD74 D0 1E 06 30 */ stfs f0, 0x630(r30)
/* 80D1BD78 7F C3 F3 78 */ mr r3, r30
/* 80D1BD7C 4B FF FC B5 */ bl movePntWind__11daObjTrnd_cFv
/* 80D1BD80 80 1E 00 B0 */ lwz r0, 0xb0(r30)
/* 80D1BD84 54 00 C7 FF */ rlwinm. r0, r0, 0x18, 0x1f, 0x1f
/* 80D1BD88 40 82 00 64 */ bne lbl_80D1BDEC
/* 80D1BD8C C0 7F 00 44 */ lfs f3, 0x44(r31)
/* 80D1BD90 C0 5E 07 04 */ lfs f2, 0x704(r30)
/* 80D1BD94 C0 3F 00 3C */ lfs f1, 0x3c(r31)
/* 80D1BD98 C0 1E 04 F0 */ lfs f0, 0x4f0(r30)
/* 80D1BD9C EC 01 00 32 */ fmuls f0, f1, f0
/* 80D1BDA0 EC 02 00 24 */ fdivs f0, f2, f0
/* 80D1BDA4 EC 23 00 32 */ fmuls f1, f3, f0
/* 80D1BDA8 4B 64 63 05 */ bl __cvt_fp2unsigned
/* 80D1BDAC 7C 66 1B 78 */ mr r6, r3
/* 80D1BDB0 3C 60 00 09 */ lis r3, 0x0009 /* 0x0009002D@ha */
/* 80D1BDB4 38 03 00 2D */ addi r0, r3, 0x002D /* 0x0009002D@l */
/* 80D1BDB8 90 01 00 08 */ stw r0, 8(r1)
/* 80D1BDBC 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 80D1BDC0 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 80D1BDC4 80 63 00 00 */ lwz r3, 0(r3)
/* 80D1BDC8 38 81 00 08 */ addi r4, r1, 8
/* 80D1BDCC 38 A0 00 00 */ li r5, 0
/* 80D1BDD0 38 E0 00 00 */ li r7, 0
/* 80D1BDD4 C0 3F 00 04 */ lfs f1, 4(r31)
/* 80D1BDD8 FC 40 08 90 */ fmr f2, f1
/* 80D1BDDC C0 7F 00 48 */ lfs f3, 0x48(r31)
/* 80D1BDE0 FC 80 18 90 */ fmr f4, f3
/* 80D1BDE4 39 00 00 00 */ li r8, 0
/* 80D1BDE8 4B 59 07 25 */ bl seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
lbl_80D1BDEC:
/* 80D1BDEC 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 80D1BDF0 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 80D1BDF4 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80D1BDF8 7C 08 03 A6 */ mtlr r0
/* 80D1BDFC 38 21 00 40 */ addi r1, r1, 0x40
/* 80D1BE00 4E 80 00 20 */ blr
@@ -1,30 +0,0 @@
lbl_80D1B998:
/* 80D1B998 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D1B99C 7C 08 02 A6 */ mflr r0
/* 80D1B9A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D1B9A4 3C 80 80 D2 */ lis r4, lit_3628@ha /* 0x80D1C354@ha */
/* 80D1B9A8 38 84 C3 54 */ addi r4, r4, lit_3628@l /* 0x80D1C354@l */
/* 80D1B9AC C0 03 04 D0 */ lfs f0, 0x4d0(r3)
/* 80D1B9B0 D0 03 07 40 */ stfs f0, 0x740(r3)
/* 80D1B9B4 C0 03 04 D4 */ lfs f0, 0x4d4(r3)
/* 80D1B9B8 D0 03 07 44 */ stfs f0, 0x744(r3)
/* 80D1B9BC C0 03 04 D8 */ lfs f0, 0x4d8(r3)
/* 80D1B9C0 D0 03 07 48 */ stfs f0, 0x748(r3)
/* 80D1B9C4 C0 44 00 00 */ lfs f2, 0(r4)
/* 80D1B9C8 D0 43 07 4C */ stfs f2, 0x74c(r3)
/* 80D1B9CC C0 04 00 04 */ lfs f0, 4(r4)
/* 80D1B9D0 D0 03 07 50 */ stfs f0, 0x750(r3)
/* 80D1B9D4 D0 43 07 54 */ stfs f2, 0x754(r3)
/* 80D1B9D8 C0 24 00 08 */ lfs f1, 8(r4)
/* 80D1B9DC C0 03 04 EC */ lfs f0, 0x4ec(r3)
/* 80D1B9E0 EC 01 00 32 */ fmuls f0, f1, f0
/* 80D1B9E4 D0 03 07 58 */ stfs f0, 0x758(r3)
/* 80D1B9E8 D0 43 07 60 */ stfs f2, 0x760(r3)
/* 80D1B9EC C0 04 00 0C */ lfs f0, 0xc(r4)
/* 80D1B9F0 D0 03 07 5C */ stfs f0, 0x75c(r3)
/* 80D1B9F4 38 63 07 40 */ addi r3, r3, 0x740
/* 80D1B9F8 4B 33 F4 05 */ bl dKyw_pntwind_set__FP14WIND_INFLUENCE
/* 80D1B9FC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D1BA00 7C 08 03 A6 */ mtlr r0
/* 80D1BA04 38 21 00 10 */ addi r1, r1, 0x10
/* 80D1BA08 4E 80 00 20 */ blr
@@ -1,114 +0,0 @@
lbl_8048A3DC:
/* 8048A3DC 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8048A3E0 7C 08 02 A6 */ mflr r0
/* 8048A3E4 90 01 00 74 */ stw r0, 0x74(r1)
/* 8048A3E8 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 8048A3EC 93 C1 00 68 */ stw r30, 0x68(r1)
/* 8048A3F0 3C 80 80 49 */ lis r4, lit_3874@ha /* 0x8048A590@ha */
/* 8048A3F4 3B C4 A5 90 */ addi r30, r4, lit_3874@l /* 0x8048A590@l */
/* 8048A3F8 7C 7F 1B 78 */ mr r31, r3
/* 8048A3FC 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 8048A400 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 8048A404 40 82 00 1C */ bne lbl_8048A420
/* 8048A408 28 1F 00 00 */ cmplwi r31, 0
/* 8048A40C 41 82 00 08 */ beq lbl_8048A414
/* 8048A410 4B B8 E7 55 */ bl __ct__10fopAc_ac_cFv
lbl_8048A414:
/* 8048A414 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 8048A418 60 00 00 08 */ ori r0, r0, 8
/* 8048A41C 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_8048A420:
/* 8048A420 7F E3 FB 78 */ mr r3, r31
/* 8048A424 4B FF FB 39 */ bl getAreaType__11daTag_Cam_cFv
/* 8048A428 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 8048A42C 40 82 00 8C */ bne lbl_8048A4B8
/* 8048A430 C0 1F 04 EC */ lfs f0, 0x4ec(r31)
/* 8048A434 C0 5E 00 88 */ lfs f2, 0x88(r30)
/* 8048A438 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8048A43C D0 1F 04 EC */ stfs f0, 0x4ec(r31)
/* 8048A440 C0 3F 04 F0 */ lfs f1, 0x4f0(r31)
/* 8048A444 C0 1E 00 8C */ lfs f0, 0x8c(r30)
/* 8048A448 EC 01 00 32 */ fmuls f0, f1, f0
/* 8048A44C D0 1F 04 F0 */ stfs f0, 0x4f0(r31)
/* 8048A450 C0 1F 04 F4 */ lfs f0, 0x4f4(r31)
/* 8048A454 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8048A458 D0 1F 04 F4 */ stfs f0, 0x4f4(r31)
/* 8048A45C C0 3F 04 D8 */ lfs f1, 0x4d8(r31)
/* 8048A460 C0 1F 04 F4 */ lfs f0, 0x4f4(r31)
/* 8048A464 EC 61 00 28 */ fsubs f3, f1, f0
/* 8048A468 C0 5F 04 D4 */ lfs f2, 0x4d4(r31)
/* 8048A46C C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
/* 8048A470 C0 1F 04 EC */ lfs f0, 0x4ec(r31)
/* 8048A474 EC 01 00 28 */ fsubs f0, f1, f0
/* 8048A478 D0 1F 05 74 */ stfs f0, 0x574(r31)
/* 8048A47C D0 5F 05 78 */ stfs f2, 0x578(r31)
/* 8048A480 D0 7F 05 7C */ stfs f3, 0x57c(r31)
/* 8048A484 C0 3F 04 D8 */ lfs f1, 0x4d8(r31)
/* 8048A488 C0 1F 04 F4 */ lfs f0, 0x4f4(r31)
/* 8048A48C EC 61 00 2A */ fadds f3, f1, f0
/* 8048A490 C0 3F 04 D4 */ lfs f1, 0x4d4(r31)
/* 8048A494 C0 1F 04 F0 */ lfs f0, 0x4f0(r31)
/* 8048A498 EC 41 00 2A */ fadds f2, f1, f0
/* 8048A49C C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
/* 8048A4A0 C0 1F 04 EC */ lfs f0, 0x4ec(r31)
/* 8048A4A4 EC 01 00 2A */ fadds f0, f1, f0
/* 8048A4A8 D0 1F 05 80 */ stfs f0, 0x580(r31)
/* 8048A4AC D0 5F 05 84 */ stfs f2, 0x584(r31)
/* 8048A4B0 D0 7F 05 88 */ stfs f3, 0x588(r31)
/* 8048A4B4 48 00 00 58 */ b lbl_8048A50C
lbl_8048A4B8:
/* 8048A4B8 C0 1F 04 EC */ lfs f0, 0x4ec(r31)
/* 8048A4BC C0 3E 00 8C */ lfs f1, 0x8c(r30)
/* 8048A4C0 EC 00 00 72 */ fmuls f0, f0, f1
/* 8048A4C4 D0 1F 04 EC */ stfs f0, 0x4ec(r31)
/* 8048A4C8 C0 1F 04 F0 */ lfs f0, 0x4f0(r31)
/* 8048A4CC EC 00 00 72 */ fmuls f0, f0, f1
/* 8048A4D0 D0 1F 04 F0 */ stfs f0, 0x4f0(r31)
/* 8048A4D4 C0 1F 04 F4 */ lfs f0, 0x4f4(r31)
/* 8048A4D8 C0 5E 00 68 */ lfs f2, 0x68(r30)
/* 8048A4DC EC 00 00 B2 */ fmuls f0, f0, f2
/* 8048A4E0 D0 1F 04 F4 */ stfs f0, 0x4f4(r31)
/* 8048A4E4 C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
/* 8048A4E8 D0 5F 05 74 */ stfs f2, 0x574(r31)
/* 8048A4EC D0 1F 05 78 */ stfs f0, 0x578(r31)
/* 8048A4F0 D0 5F 05 7C */ stfs f2, 0x57c(r31)
/* 8048A4F4 C0 3F 04 D4 */ lfs f1, 0x4d4(r31)
/* 8048A4F8 C0 1F 04 F0 */ lfs f0, 0x4f0(r31)
/* 8048A4FC EC 01 00 2A */ fadds f0, f1, f0
/* 8048A500 D0 5F 05 80 */ stfs f2, 0x580(r31)
/* 8048A504 D0 1F 05 84 */ stfs f0, 0x584(r31)
/* 8048A508 D0 5F 05 88 */ stfs f2, 0x588(r31)
lbl_8048A50C:
/* 8048A50C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8048A510 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8048A514 80 03 5D B4 */ lwz r0, 0x5db4(r3)
/* 8048A518 3C 60 80 49 */ lis r3, data_8048A670@ha /* 0x8048A670@ha */
/* 8048A51C 90 03 A6 70 */ stw r0, data_8048A670@l(r3) /* 0x8048A670@l */
/* 8048A520 38 A1 00 04 */ addi r5, r1, 4
/* 8048A524 38 9E 00 08 */ addi r4, r30, 8
/* 8048A528 38 00 00 0B */ li r0, 0xb
/* 8048A52C 7C 09 03 A6 */ mtctr r0
lbl_8048A530:
/* 8048A530 80 64 00 04 */ lwz r3, 4(r4)
/* 8048A534 84 04 00 08 */ lwzu r0, 8(r4)
/* 8048A538 90 65 00 04 */ stw r3, 4(r5)
/* 8048A53C 94 05 00 08 */ stwu r0, 8(r5)
/* 8048A540 42 00 FF F0 */ bdnz lbl_8048A530
/* 8048A544 7F E3 FB 78 */ mr r3, r31
/* 8048A548 4B FF F9 F1 */ bl getCondition__11daTag_Cam_cFv
/* 8048A54C 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8048A550 2C 00 00 16 */ cmpwi r0, 0x16
/* 8048A554 40 81 00 08 */ ble lbl_8048A55C
/* 8048A558 38 60 00 03 */ li r3, 3
lbl_8048A55C:
/* 8048A55C 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d
/* 8048A560 38 61 00 08 */ addi r3, r1, 8
/* 8048A564 7C 03 00 2E */ lwzx r0, r3, r0
/* 8048A568 90 1F 05 70 */ stw r0, 0x570(r31)
/* 8048A56C 38 60 00 04 */ li r3, 4
/* 8048A570 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 8048A574 83 C1 00 68 */ lwz r30, 0x68(r1)
/* 8048A578 80 01 00 74 */ lwz r0, 0x74(r1)
/* 8048A57C 7C 08 03 A6 */ mtlr r0
/* 8048A580 38 21 00 70 */ addi r1, r1, 0x70
/* 8048A584 4E 80 00 20 */ blr
@@ -1,14 +0,0 @@
lbl_8048A3AC:
/* 8048A3AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048A3B0 7C 08 02 A6 */ mflr r0
/* 8048A3B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048A3B8 28 03 00 00 */ cmplwi r3, 0
/* 8048A3BC 41 82 00 0C */ beq lbl_8048A3C8
/* 8048A3C0 38 80 00 00 */ li r4, 0
/* 8048A3C4 4B B8 E8 C9 */ bl __dt__10fopAc_ac_cFv
lbl_8048A3C8:
/* 8048A3C8 38 60 00 01 */ li r3, 1
/* 8048A3CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8048A3D0 7C 08 03 A6 */ mtlr r0
/* 8048A3D4 38 21 00 10 */ addi r1, r1, 0x10
/* 8048A3D8 4E 80 00 20 */ blr
@@ -1,10 +0,0 @@
lbl_8048A380:
/* 8048A380 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048A384 7C 08 02 A6 */ mflr r0
/* 8048A388 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048A38C 4B FF FB E9 */ bl execute__11daTag_Cam_cFv
/* 8048A390 38 60 00 01 */ li r3, 1
/* 8048A394 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8048A398 7C 08 03 A6 */ mtlr r0
/* 8048A39C 38 21 00 10 */ addi r1, r1, 0x10
/* 8048A3A0 4E 80 00 20 */ blr
@@ -1,281 +0,0 @@
lbl_80489F74:
/* 80489F74 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80489F78 7C 08 02 A6 */ mflr r0
/* 80489F7C 90 01 00 54 */ stw r0, 0x54(r1)
/* 80489F80 39 61 00 50 */ addi r11, r1, 0x50
/* 80489F84 4B ED 82 51 */ bl _savegpr_27
/* 80489F88 7C 7D 1B 78 */ mr r29, r3
/* 80489F8C 3C 80 80 49 */ lis r4, lit_3874@ha /* 0x8048A590@ha */
/* 80489F90 3B E4 A5 90 */ addi r31, r4, lit_3874@l /* 0x8048A590@l */
/* 80489F94 88 03 04 E2 */ lbz r0, 0x4e2(r3)
/* 80489F98 7C 05 07 74 */ extsb r5, r0
/* 80489F9C 3C 80 80 45 */ lis r4, mStayNo__20dStage_roomControl_c+0x0@ha /* 0x80450D64@ha */
/* 80489FA0 88 04 0D 64 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0@l(r4) /* 0x80450D64@l */
/* 80489FA4 7C 00 07 74 */ extsb r0, r0
/* 80489FA8 7C 05 00 00 */ cmpw r5, r0
/* 80489FAC 41 82 00 0C */ beq lbl_80489FB8
/* 80489FB0 38 60 00 00 */ li r3, 0
/* 80489FB4 48 00 03 AC */ b lbl_8048A360
lbl_80489FB8:
/* 80489FB8 4B FF FF 5D */ bl getSwType__11daTag_Cam_cFv
/* 80489FBC 7C 7C 1B 78 */ mr r28, r3
/* 80489FC0 7F A3 EB 78 */ mr r3, r29
/* 80489FC4 4B FF FF 69 */ bl getSwBit__11daTag_Cam_cFv
/* 80489FC8 3B C0 00 00 */ li r30, 0
/* 80489FCC 3B 60 00 00 */ li r27, 0
/* 80489FD0 54 64 06 3E */ clrlwi r4, r3, 0x18
/* 80489FD4 28 04 00 FF */ cmplwi r4, 0xff
/* 80489FD8 41 82 00 48 */ beq lbl_8048A020
/* 80489FDC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80489FE0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80489FE4 88 1D 04 E2 */ lbz r0, 0x4e2(r29)
/* 80489FE8 7C 05 07 74 */ extsb r5, r0
/* 80489FEC 4B BA B3 75 */ bl isSwitch__10dSv_info_cCFii
/* 80489FF0 30 03 FF FF */ addic r0, r3, -1
/* 80489FF4 7C 60 19 10 */ subfe r3, r0, r3
/* 80489FF8 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 80489FFC 41 82 00 0C */ beq lbl_8048A008
/* 8048A000 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8048A004 40 82 00 14 */ bne lbl_8048A018
lbl_8048A008:
/* 8048A008 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 8048A00C 40 82 00 18 */ bne lbl_8048A024
/* 8048A010 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8048A014 40 82 00 10 */ bne lbl_8048A024
lbl_8048A018:
/* 8048A018 3B 60 00 01 */ li r27, 1
/* 8048A01C 48 00 00 08 */ b lbl_8048A024
lbl_8048A020:
/* 8048A020 3B 60 00 01 */ li r27, 1
lbl_8048A024:
/* 8048A024 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 8048A028 41 82 02 98 */ beq lbl_8048A2C0
/* 8048A02C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8048A030 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8048A034 80 83 5D B4 */ lwz r4, 0x5db4(r3)
/* 8048A038 C0 04 04 D0 */ lfs f0, 0x4d0(r4)
/* 8048A03C D0 01 00 24 */ stfs f0, 0x24(r1)
/* 8048A040 C0 04 04 D4 */ lfs f0, 0x4d4(r4)
/* 8048A044 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 8048A048 C0 04 04 D8 */ lfs f0, 0x4d8(r4)
/* 8048A04C D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 8048A050 80 03 5F 18 */ lwz r0, 0x5f18(r3)
/* 8048A054 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 8048A058 41 82 00 28 */ beq lbl_8048A080
/* 8048A05C C0 04 05 50 */ lfs f0, 0x550(r4)
/* 8048A060 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 8048A064 C0 24 05 54 */ lfs f1, 0x554(r4)
/* 8048A068 D0 21 00 28 */ stfs f1, 0x28(r1)
/* 8048A06C C0 04 05 58 */ lfs f0, 0x558(r4)
/* 8048A070 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 8048A074 C0 1F 00 64 */ lfs f0, 0x64(r31)
/* 8048A078 EC 01 00 28 */ fsubs f0, f1, f0
/* 8048A07C D0 01 00 28 */ stfs f0, 0x28(r1)
lbl_8048A080:
/* 8048A080 7F A3 EB 78 */ mr r3, r29
/* 8048A084 4B FF FE E5 */ bl getAreaNoChk__11daTag_Cam_cFv
/* 8048A088 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 8048A08C 41 82 00 0C */ beq lbl_8048A098
/* 8048A090 3B C0 00 01 */ li r30, 1
/* 8048A094 48 00 02 2C */ b lbl_8048A2C0
lbl_8048A098:
/* 8048A098 7F A3 EB 78 */ mr r3, r29
/* 8048A09C 4B FF FE C1 */ bl getAreaType__11daTag_Cam_cFv
/* 8048A0A0 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 8048A0A4 40 82 00 E0 */ bne lbl_8048A184
/* 8048A0A8 A8 1D 04 B6 */ lha r0, 0x4b6(r29)
/* 8048A0AC 2C 00 00 00 */ cmpwi r0, 0
/* 8048A0B0 41 82 00 60 */ beq lbl_8048A110
/* 8048A0B4 38 7D 04 D0 */ addi r3, r29, 0x4d0
/* 8048A0B8 4B B8 2C AD */ bl transS__14mDoMtx_stack_cFRC4cXyz
/* 8048A0BC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8048A0C0 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8048A0C4 A8 1D 04 B6 */ lha r0, 0x4b6(r29)
/* 8048A0C8 7C 00 00 D0 */ neg r0, r0
/* 8048A0CC 7C 04 07 34 */ extsh r4, r0
/* 8048A0D0 4B B8 23 65 */ bl mDoMtx_YrotM__FPA4_fs
/* 8048A0D4 38 61 00 0C */ addi r3, r1, 0xc
/* 8048A0D8 38 81 00 24 */ addi r4, r1, 0x24
/* 8048A0DC 38 BD 04 D0 */ addi r5, r29, 0x4d0
/* 8048A0E0 4B DD CA 55 */ bl __mi__4cXyzCFRC3Vec
/* 8048A0E4 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8048A0E8 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8048A0EC C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8048A0F0 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8048A0F4 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8048A0F8 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 8048A0FC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8048A100 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8048A104 38 81 00 18 */ addi r4, r1, 0x18
/* 8048A108 38 A1 00 24 */ addi r5, r1, 0x24
/* 8048A10C 4B EB CC 61 */ bl PSMTXMultVec
lbl_8048A110:
/* 8048A110 C0 1D 05 74 */ lfs f0, 0x574(r29)
/* 8048A114 C0 21 00 24 */ lfs f1, 0x24(r1)
/* 8048A118 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8048A11C 4C 40 13 82 */ cror 2, 0, 2
/* 8048A120 40 82 01 A0 */ bne lbl_8048A2C0
/* 8048A124 C0 1D 05 80 */ lfs f0, 0x580(r29)
/* 8048A128 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8048A12C 4C 40 13 82 */ cror 2, 0, 2
/* 8048A130 40 82 01 90 */ bne lbl_8048A2C0
/* 8048A134 C0 1D 05 78 */ lfs f0, 0x578(r29)
/* 8048A138 C0 21 00 28 */ lfs f1, 0x28(r1)
/* 8048A13C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8048A140 4C 40 13 82 */ cror 2, 0, 2
/* 8048A144 40 82 01 7C */ bne lbl_8048A2C0
/* 8048A148 C0 1D 05 84 */ lfs f0, 0x584(r29)
/* 8048A14C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8048A150 4C 40 13 82 */ cror 2, 0, 2
/* 8048A154 40 82 01 6C */ bne lbl_8048A2C0
/* 8048A158 C0 1D 05 7C */ lfs f0, 0x57c(r29)
/* 8048A15C C0 21 00 2C */ lfs f1, 0x2c(r1)
/* 8048A160 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8048A164 4C 40 13 82 */ cror 2, 0, 2
/* 8048A168 40 82 01 58 */ bne lbl_8048A2C0
/* 8048A16C C0 1D 05 88 */ lfs f0, 0x588(r29)
/* 8048A170 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8048A174 4C 40 13 82 */ cror 2, 0, 2
/* 8048A178 40 82 01 48 */ bne lbl_8048A2C0
/* 8048A17C 3B C0 00 01 */ li r30, 1
/* 8048A180 48 00 01 40 */ b lbl_8048A2C0
lbl_8048A184:
/* 8048A184 C0 3D 04 D0 */ lfs f1, 0x4d0(r29)
/* 8048A188 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 8048A18C EC 41 00 28 */ fsubs f2, f1, f0
/* 8048A190 C0 3D 04 D8 */ lfs f1, 0x4d8(r29)
/* 8048A194 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 8048A198 EC 01 00 28 */ fsubs f0, f1, f0
/* 8048A19C EC 22 00 B2 */ fmuls f1, f2, f2
/* 8048A1A0 EC 00 00 32 */ fmuls f0, f0, f0
/* 8048A1A4 EC 81 00 2A */ fadds f4, f1, f0
/* 8048A1A8 C0 1F 00 68 */ lfs f0, 0x68(r31)
/* 8048A1AC FC 04 00 40 */ fcmpo cr0, f4, f0
/* 8048A1B0 40 81 00 58 */ ble lbl_8048A208
/* 8048A1B4 FC 00 20 34 */ frsqrte f0, f4
/* 8048A1B8 C8 7F 00 70 */ lfd f3, 0x70(r31)
/* 8048A1BC FC 23 00 32 */ fmul f1, f3, f0
/* 8048A1C0 C8 5F 00 78 */ lfd f2, 0x78(r31)
/* 8048A1C4 FC 00 00 32 */ fmul f0, f0, f0
/* 8048A1C8 FC 04 00 32 */ fmul f0, f4, f0
/* 8048A1CC FC 02 00 28 */ fsub f0, f2, f0
/* 8048A1D0 FC 01 00 32 */ fmul f0, f1, f0
/* 8048A1D4 FC 23 00 32 */ fmul f1, f3, f0
/* 8048A1D8 FC 00 00 32 */ fmul f0, f0, f0
/* 8048A1DC FC 04 00 32 */ fmul f0, f4, f0
/* 8048A1E0 FC 02 00 28 */ fsub f0, f2, f0
/* 8048A1E4 FC 01 00 32 */ fmul f0, f1, f0
/* 8048A1E8 FC 23 00 32 */ fmul f1, f3, f0
/* 8048A1EC FC 00 00 32 */ fmul f0, f0, f0
/* 8048A1F0 FC 04 00 32 */ fmul f0, f4, f0
/* 8048A1F4 FC 02 00 28 */ fsub f0, f2, f0
/* 8048A1F8 FC 01 00 32 */ fmul f0, f1, f0
/* 8048A1FC FC 84 00 32 */ fmul f4, f4, f0
/* 8048A200 FC 80 20 18 */ frsp f4, f4
/* 8048A204 48 00 00 88 */ b lbl_8048A28C
lbl_8048A208:
/* 8048A208 C8 1F 00 80 */ lfd f0, 0x80(r31)
/* 8048A20C FC 04 00 40 */ fcmpo cr0, f4, f0
/* 8048A210 40 80 00 10 */ bge lbl_8048A220
/* 8048A214 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 8048A218 C0 83 0A E0 */ lfs f4, __float_nan@l(r3) /* 0x80450AE0@l */
/* 8048A21C 48 00 00 70 */ b lbl_8048A28C
lbl_8048A220:
/* 8048A220 D0 81 00 08 */ stfs f4, 8(r1)
/* 8048A224 80 81 00 08 */ lwz r4, 8(r1)
/* 8048A228 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 8048A22C 3C 00 7F 80 */ lis r0, 0x7f80
/* 8048A230 7C 03 00 00 */ cmpw r3, r0
/* 8048A234 41 82 00 14 */ beq lbl_8048A248
/* 8048A238 40 80 00 40 */ bge lbl_8048A278
/* 8048A23C 2C 03 00 00 */ cmpwi r3, 0
/* 8048A240 41 82 00 20 */ beq lbl_8048A260
/* 8048A244 48 00 00 34 */ b lbl_8048A278
lbl_8048A248:
/* 8048A248 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8048A24C 41 82 00 0C */ beq lbl_8048A258
/* 8048A250 38 00 00 01 */ li r0, 1
/* 8048A254 48 00 00 28 */ b lbl_8048A27C
lbl_8048A258:
/* 8048A258 38 00 00 02 */ li r0, 2
/* 8048A25C 48 00 00 20 */ b lbl_8048A27C
lbl_8048A260:
/* 8048A260 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8048A264 41 82 00 0C */ beq lbl_8048A270
/* 8048A268 38 00 00 05 */ li r0, 5
/* 8048A26C 48 00 00 10 */ b lbl_8048A27C
lbl_8048A270:
/* 8048A270 38 00 00 03 */ li r0, 3
/* 8048A274 48 00 00 08 */ b lbl_8048A27C
lbl_8048A278:
/* 8048A278 38 00 00 04 */ li r0, 4
lbl_8048A27C:
/* 8048A27C 2C 00 00 01 */ cmpwi r0, 1
/* 8048A280 40 82 00 0C */ bne lbl_8048A28C
/* 8048A284 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 8048A288 C0 83 0A E0 */ lfs f4, __float_nan@l(r3) /* 0x80450AE0@l */
lbl_8048A28C:
/* 8048A28C C0 1D 04 EC */ lfs f0, 0x4ec(r29)
/* 8048A290 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 8048A294 40 80 00 2C */ bge lbl_8048A2C0
/* 8048A298 C0 1D 05 78 */ lfs f0, 0x578(r29)
/* 8048A29C C0 21 00 28 */ lfs f1, 0x28(r1)
/* 8048A2A0 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8048A2A4 4C 40 13 82 */ cror 2, 0, 2
/* 8048A2A8 40 82 00 18 */ bne lbl_8048A2C0
/* 8048A2AC C0 1D 05 84 */ lfs f0, 0x584(r29)
/* 8048A2B0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8048A2B4 4C 40 13 82 */ cror 2, 0, 2
/* 8048A2B8 40 82 00 08 */ bne lbl_8048A2C0
/* 8048A2BC 3B C0 00 01 */ li r30, 1
lbl_8048A2C0:
/* 8048A2C0 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 8048A2C4 41 82 00 98 */ beq lbl_8048A35C
/* 8048A2C8 7F A3 EB 78 */ mr r3, r29
/* 8048A2CC 4B FF FC 55 */ bl getPrio__11daTag_Cam_cFv
/* 8048A2D0 54 7B 06 3E */ clrlwi r27, r3, 0x18
/* 8048A2D4 7F A3 EB 78 */ mr r3, r29
/* 8048A2D8 4B FF FC 61 */ bl getCondition__11daTag_Cam_cFv
/* 8048A2DC 7C 7E 1B 78 */ mr r30, r3
/* 8048A2E0 81 9D 05 70 */ lwz r12, 0x570(r29)
/* 8048A2E4 7D 89 03 A6 */ mtctr r12
/* 8048A2E8 4E 80 04 21 */ bctrl
/* 8048A2EC 7C 7C 1B 78 */ mr r28, r3
/* 8048A2F0 57 C0 06 3E */ clrlwi r0, r30, 0x18
/* 8048A2F4 28 00 00 FF */ cmplwi r0, 0xff
/* 8048A2F8 40 82 00 10 */ bne lbl_8048A308
/* 8048A2FC 63 60 80 00 */ ori r0, r27, 0x8000
/* 8048A300 54 1B 04 3E */ clrlwi r27, r0, 0x10
/* 8048A304 48 00 00 20 */ b lbl_8048A324
lbl_8048A308:
/* 8048A308 28 00 00 FA */ cmplwi r0, 0xfa
/* 8048A30C 40 82 00 18 */ bne lbl_8048A324
/* 8048A310 4B CF 73 31 */ bl dCam_getBody__Fv
/* 8048A314 80 03 06 0C */ lwz r0, 0x60c(r3)
/* 8048A318 54 00 01 09 */ rlwinm. r0, r0, 0, 4, 4
/* 8048A31C 41 82 00 08 */ beq lbl_8048A324
/* 8048A320 3B 80 00 01 */ li r28, 1
lbl_8048A324:
/* 8048A324 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 8048A328 41 82 00 34 */ beq lbl_8048A35C
/* 8048A32C 7F A3 EB 78 */ mr r3, r29
/* 8048A330 4B FF FC 15 */ bl getCameraId__11daTag_Cam_cFv
/* 8048A334 7C 7E 1B 78 */ mr r30, r3
/* 8048A338 7F A3 EB 78 */ mr r3, r29
/* 8048A33C 4B FF FC 15 */ bl getRailID__11daTag_Cam_cFv
/* 8048A340 7C 7C 1B 78 */ mr r28, r3
/* 8048A344 4B CF 72 FD */ bl dCam_getBody__Fv
/* 8048A348 7F A4 EB 78 */ mr r4, r29
/* 8048A34C 57 C5 06 3E */ clrlwi r5, r30, 0x18
/* 8048A350 7F 66 DB 78 */ mr r6, r27
/* 8048A354 7F 87 E3 78 */ mr r7, r28
/* 8048A358 4B CD 92 01 */ bl SetTagData__9dCamera_cFP10fopAc_ac_clUsUc
lbl_8048A35C:
/* 8048A35C 38 60 00 01 */ li r3, 1
lbl_8048A360:
/* 8048A360 39 61 00 50 */ addi r11, r1, 0x50
/* 8048A364 4B ED 7E BD */ bl _restgpr_27
/* 8048A368 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8048A36C 7C 08 03 A6 */ mtlr r0
/* 8048A370 38 21 00 50 */ addi r1, r1, 0x50
/* 8048A374 4E 80 00 20 */ blr
@@ -1,33 +0,0 @@
lbl_80489AA0:
/* 80489AA0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80489AA4 7C 08 02 A6 */ mflr r0
/* 80489AA8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80489AAC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80489AB0 3B E0 00 00 */ li r31, 0
/* 80489AB4 3C 60 80 49 */ lis r3, data_8048A670@ha /* 0x8048A670@ha */
/* 80489AB8 38 63 A6 70 */ addi r3, r3, data_8048A670@l /* 0x8048A670@l */
/* 80489ABC 80 63 00 00 */ lwz r3, 0(r3)
/* 80489AC0 81 83 06 28 */ lwz r12, 0x628(r3)
/* 80489AC4 81 8C 01 88 */ lwz r12, 0x188(r12)
/* 80489AC8 7D 89 03 A6 */ mtctr r12
/* 80489ACC 4E 80 04 21 */ bctrl
/* 80489AD0 28 03 00 00 */ cmplwi r3, 0
/* 80489AD4 40 82 00 28 */ bne lbl_80489AFC
/* 80489AD8 3C 60 80 49 */ lis r3, data_8048A670@ha /* 0x8048A670@ha */
/* 80489ADC 38 63 A6 70 */ addi r3, r3, data_8048A670@l /* 0x8048A670@l */
/* 80489AE0 80 63 00 00 */ lwz r3, 0(r3)
/* 80489AE4 81 83 06 28 */ lwz r12, 0x628(r3)
/* 80489AE8 81 8C 01 8C */ lwz r12, 0x18c(r12)
/* 80489AEC 7D 89 03 A6 */ mtctr r12
/* 80489AF0 4E 80 04 21 */ bctrl
/* 80489AF4 28 03 00 00 */ cmplwi r3, 0
/* 80489AF8 41 82 00 08 */ beq lbl_80489B00
lbl_80489AFC:
/* 80489AFC 3B E0 00 01 */ li r31, 1
lbl_80489B00:
/* 80489B00 7F E3 FB 78 */ mr r3, r31
/* 80489B04 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80489B08 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80489B0C 7C 08 03 A6 */ mtlr r0
/* 80489B10 38 21 00 10 */ addi r1, r1, 0x10
/* 80489B14 4E 80 00 20 */ blr
@@ -1,6 +0,0 @@
lbl_80489B18:
/* 80489B18 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80489B1C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80489B20 80 03 5F 18 */ lwz r0, 0x5f18(r3)
/* 80489B24 54 03 67 FE */ rlwinm r3, r0, 0xc, 0x1f, 0x1f
/* 80489B28 4E 80 00 20 */ blr
@@ -1,17 +0,0 @@
lbl_80489B2C:
/* 80489B2C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80489B30 7C 08 02 A6 */ mflr r0
/* 80489B34 90 01 00 14 */ stw r0, 0x14(r1)
/* 80489B38 3C 60 80 49 */ lis r3, data_8048A670@ha /* 0x8048A670@ha */
/* 80489B3C 38 63 A6 70 */ addi r3, r3, data_8048A670@l /* 0x8048A670@l */
/* 80489B40 80 63 00 00 */ lwz r3, 0(r3)
/* 80489B44 81 83 06 28 */ lwz r12, 0x628(r3)
/* 80489B48 81 8C 01 90 */ lwz r12, 0x190(r12)
/* 80489B4C 7D 89 03 A6 */ mtctr r12
/* 80489B50 4E 80 04 21 */ bctrl
/* 80489B54 30 03 FF FF */ addic r0, r3, -1
/* 80489B58 7C 60 19 10 */ subfe r3, r0, r3
/* 80489B5C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80489B60 7C 08 03 A6 */ mtlr r0
/* 80489B64 38 21 00 10 */ addi r1, r1, 0x10
/* 80489B68 4E 80 00 20 */ blr
@@ -1,31 +0,0 @@
lbl_80489B6C:
/* 80489B6C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80489B70 7C 08 02 A6 */ mflr r0
/* 80489B74 90 01 00 14 */ stw r0, 0x14(r1)
/* 80489B78 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80489B7C 93 C1 00 08 */ stw r30, 8(r1)
/* 80489B80 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80489B84 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80489B88 83 C3 5D B8 */ lwz r30, 0x5db8(r3)
/* 80489B8C 3B E0 00 00 */ li r31, 0
/* 80489B90 3C 60 80 49 */ lis r3, data_8048A670@ha /* 0x8048A670@ha */
/* 80489B94 38 63 A6 70 */ addi r3, r3, data_8048A670@l /* 0x8048A670@l */
/* 80489B98 80 63 00 00 */ lwz r3, 0(r3)
/* 80489B9C 81 83 06 28 */ lwz r12, 0x628(r3)
/* 80489BA0 81 8C 01 88 */ lwz r12, 0x188(r12)
/* 80489BA4 7D 89 03 A6 */ mtctr r12
/* 80489BA8 4E 80 04 21 */ bctrl
/* 80489BAC 28 03 00 00 */ cmplwi r3, 0
/* 80489BB0 41 82 00 14 */ beq lbl_80489BC4
/* 80489BB4 88 1E 16 B4 */ lbz r0, 0x16b4(r30)
/* 80489BB8 28 00 00 04 */ cmplwi r0, 4
/* 80489BBC 40 82 00 08 */ bne lbl_80489BC4
/* 80489BC0 3B E0 00 01 */ li r31, 1
lbl_80489BC4:
/* 80489BC4 7F E3 FB 78 */ mr r3, r31
/* 80489BC8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80489BCC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80489BD0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80489BD4 7C 08 03 A6 */ mtlr r0
/* 80489BD8 38 21 00 10 */ addi r1, r1, 0x10
/* 80489BDC 4E 80 00 20 */ blr
@@ -1,10 +0,0 @@
lbl_80489BE0:
/* 80489BE0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80489BE4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80489BE8 80 83 5F 18 */ lwz r4, 0x5f18(r3)
/* 80489BEC 3C 60 02 00 */ lis r3, 0x0200 /* 0x02000008@ha */
/* 80489BF0 38 03 00 08 */ addi r0, r3, 0x0008 /* 0x02000008@l */
/* 80489BF4 7C 83 00 38 */ and r3, r4, r0
/* 80489BF8 30 03 FF FF */ addic r0, r3, -1
/* 80489BFC 7C 60 19 10 */ subfe r3, r0, r3
/* 80489C00 4E 80 00 20 */ blr
@@ -1,7 +0,0 @@
lbl_80489C04:
/* 80489C04 3C 60 80 49 */ lis r3, data_8048A670@ha /* 0x8048A670@ha */
/* 80489C08 38 63 A6 70 */ addi r3, r3, data_8048A670@l /* 0x8048A670@l */
/* 80489C0C 80 63 00 00 */ lwz r3, 0(r3)
/* 80489C10 80 03 05 70 */ lwz r0, 0x570(r3)
/* 80489C14 54 03 A7 FE */ rlwinm r3, r0, 0x14, 0x1f, 0x1f
/* 80489C18 4E 80 00 20 */ blr
@@ -1,7 +0,0 @@
lbl_80489C1C:
/* 80489C1C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80489C20 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80489C24 80 63 5D B4 */ lwz r3, 0x5db4(r3)
/* 80489C28 80 03 05 74 */ lwz r0, 0x574(r3)
/* 80489C2C 54 03 3F FE */ rlwinm r3, r0, 7, 0x1f, 0x1f
/* 80489C30 4E 80 00 20 */ blr
@@ -1,15 +0,0 @@
lbl_80489C34:
/* 80489C34 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80489C38 7C 08 02 A6 */ mflr r0
/* 80489C3C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80489C40 3C 60 80 49 */ lis r3, data_8048A670@ha /* 0x8048A670@ha */
/* 80489C44 38 63 A6 70 */ addi r3, r3, data_8048A670@l /* 0x8048A670@l */
/* 80489C48 80 63 00 00 */ lwz r3, 0(r3)
/* 80489C4C 81 83 06 28 */ lwz r12, 0x628(r3)
/* 80489C50 81 8C 00 68 */ lwz r12, 0x68(r12)
/* 80489C54 7D 89 03 A6 */ mtctr r12
/* 80489C58 4E 80 04 21 */ bctrl
/* 80489C5C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80489C60 7C 08 03 A6 */ mtlr r0
/* 80489C64 38 21 00 10 */ addi r1, r1, 0x10
/* 80489C68 4E 80 00 20 */ blr
@@ -1,17 +0,0 @@
lbl_80489C6C:
/* 80489C6C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80489C70 7C 08 02 A6 */ mflr r0
/* 80489C74 90 01 00 14 */ stw r0, 0x14(r1)
/* 80489C78 3C 60 80 49 */ lis r3, data_8048A670@ha /* 0x8048A670@ha */
/* 80489C7C 38 63 A6 70 */ addi r3, r3, data_8048A670@l /* 0x8048A670@l */
/* 80489C80 80 63 00 00 */ lwz r3, 0(r3)
/* 80489C84 81 83 06 28 */ lwz r12, 0x628(r3)
/* 80489C88 81 8C 01 98 */ lwz r12, 0x198(r12)
/* 80489C8C 7D 89 03 A6 */ mtctr r12
/* 80489C90 4E 80 04 21 */ bctrl
/* 80489C94 30 03 FF FF */ addic r0, r3, -1
/* 80489C98 7C 60 19 10 */ subfe r3, r0, r3
/* 80489C9C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80489CA0 7C 08 03 A6 */ mtlr r0
/* 80489CA4 38 21 00 10 */ addi r1, r1, 0x10
/* 80489CA8 4E 80 00 20 */ blr
@@ -1,15 +0,0 @@
lbl_80489CAC:
/* 80489CAC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80489CB0 7C 08 02 A6 */ mflr r0
/* 80489CB4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80489CB8 3C 60 80 49 */ lis r3, data_8048A670@ha /* 0x8048A670@ha */
/* 80489CBC 38 63 A6 70 */ addi r3, r3, data_8048A670@l /* 0x8048A670@l */
/* 80489CC0 80 63 00 00 */ lwz r3, 0(r3)
/* 80489CC4 81 83 06 28 */ lwz r12, 0x628(r3)
/* 80489CC8 81 8C 00 60 */ lwz r12, 0x60(r12)
/* 80489CCC 7D 89 03 A6 */ mtctr r12
/* 80489CD0 4E 80 04 21 */ bctrl
/* 80489CD4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80489CD8 7C 08 03 A6 */ mtlr r0
/* 80489CDC 38 21 00 10 */ addi r1, r1, 0x10
/* 80489CE0 4E 80 00 20 */ blr
@@ -1,6 +0,0 @@
lbl_80489CE4:
/* 80489CE4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80489CE8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80489CEC 80 03 5D 7C */ lwz r0, 0x5d7c(r3)
/* 80489CF0 54 03 AF FE */ rlwinm r3, r0, 0x15, 0x1f, 0x1f
/* 80489CF4 4E 80 00 20 */ blr
@@ -1,15 +0,0 @@
lbl_80489CF8:
/* 80489CF8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80489CFC 7C 08 02 A6 */ mflr r0
/* 80489D00 90 01 00 14 */ stw r0, 0x14(r1)
/* 80489D04 3C 60 80 49 */ lis r3, data_8048A670@ha /* 0x8048A670@ha */
/* 80489D08 38 63 A6 70 */ addi r3, r3, data_8048A670@l /* 0x8048A670@l */
/* 80489D0C 80 63 00 00 */ lwz r3, 0(r3)
/* 80489D10 81 83 06 28 */ lwz r12, 0x628(r3)
/* 80489D14 81 8C 01 F0 */ lwz r12, 0x1f0(r12)
/* 80489D18 7D 89 03 A6 */ mtctr r12
/* 80489D1C 4E 80 04 21 */ bctrl
/* 80489D20 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80489D24 7C 08 03 A6 */ mtlr r0
/* 80489D28 38 21 00 10 */ addi r1, r1, 0x10
/* 80489D2C 4E 80 00 20 */ blr
@@ -1,12 +0,0 @@
lbl_80489D30:
/* 80489D30 3C 60 80 49 */ lis r3, data_8048A670@ha /* 0x8048A670@ha */
/* 80489D34 80 83 A6 70 */ lwz r4, data_8048A670@l(r3) /* 0x8048A670@l */
/* 80489D38 38 60 00 00 */ li r3, 0
/* 80489D3C A0 04 2F E8 */ lhz r0, 0x2fe8(r4)
/* 80489D40 28 00 00 15 */ cmplwi r0, 0x15
/* 80489D44 4C 82 00 20 */ bnelr
/* 80489D48 A8 04 30 0C */ lha r0, 0x300c(r4)
/* 80489D4C 2C 00 00 00 */ cmpwi r0, 0
/* 80489D50 4D 82 00 20 */ beqlr
/* 80489D54 38 60 00 01 */ li r3, 1
/* 80489D58 4E 80 00 20 */ blr
@@ -1,6 +0,0 @@
lbl_80489D5C:
/* 80489D5C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80489D60 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80489D64 80 03 5F 1C */ lwz r0, 0x5f1c(r3)
/* 80489D68 54 03 87 FE */ rlwinm r3, r0, 0x10, 0x1f, 0x1f
/* 80489D6C 4E 80 00 20 */ blr
@@ -1,17 +0,0 @@
lbl_80489D70:
/* 80489D70 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80489D74 7C 08 02 A6 */ mflr r0
/* 80489D78 90 01 00 14 */ stw r0, 0x14(r1)
/* 80489D7C 3C 60 80 49 */ lis r3, data_8048A670@ha /* 0x8048A670@ha */
/* 80489D80 38 63 A6 70 */ addi r3, r3, data_8048A670@l /* 0x8048A670@l */
/* 80489D84 80 63 00 00 */ lwz r3, 0(r3)
/* 80489D88 81 83 06 28 */ lwz r12, 0x628(r3)
/* 80489D8C 81 8C 00 8C */ lwz r12, 0x8c(r12)
/* 80489D90 7D 89 03 A6 */ mtctr r12
/* 80489D94 4E 80 04 21 */ bctrl
/* 80489D98 30 03 FF FF */ addic r0, r3, -1
/* 80489D9C 7C 60 19 10 */ subfe r3, r0, r3
/* 80489DA0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80489DA4 7C 08 03 A6 */ mtlr r0
/* 80489DA8 38 21 00 10 */ addi r1, r1, 0x10
/* 80489DAC 4E 80 00 20 */ blr
@@ -1,14 +0,0 @@
lbl_80489DB0:
/* 80489DB0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80489DB4 7C 08 02 A6 */ mflr r0
/* 80489DB8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80489DBC 3C 60 80 49 */ lis r3, data_8048A670@ha /* 0x8048A670@ha */
/* 80489DC0 38 63 A6 70 */ addi r3, r3, data_8048A670@l /* 0x8048A670@l */
/* 80489DC4 80 63 00 00 */ lwz r3, 0(r3)
/* 80489DC8 4B C5 75 C9 */ bl getCopyRodCameraActor__9daAlink_cFv
/* 80489DCC 30 03 FF FF */ addic r0, r3, -1
/* 80489DD0 7C 60 19 10 */ subfe r3, r0, r3
/* 80489DD4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80489DD8 7C 08 03 A6 */ mtlr r0
/* 80489DDC 38 21 00 10 */ addi r1, r1, 0x10
/* 80489DE0 4E 80 00 20 */ blr
@@ -1,6 +0,0 @@
lbl_80489DE4:
/* 80489DE4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80489DE8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80489DEC 80 03 5F 1C */ lwz r0, 0x5f1c(r3)
/* 80489DF0 54 03 3F FE */ rlwinm r3, r0, 7, 0x1f, 0x1f
/* 80489DF4 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80489DF8:
/* 80489DF8 3C 60 80 49 */ lis r3, data_8048A670@ha /* 0x8048A670@ha */
/* 80489DFC 38 63 A6 70 */ addi r3, r3, data_8048A670@l /* 0x8048A670@l */
/* 80489E00 80 63 00 00 */ lwz r3, 0(r3)
/* 80489E04 88 03 05 6A */ lbz r0, 0x56a(r3)
/* 80489E08 20 00 00 2C */ subfic r0, r0, 0x2c
/* 80489E0C 7C 00 00 34 */ cntlzw r0, r0
/* 80489E10 54 03 D9 7E */ srwi r3, r0, 5
/* 80489E14 4E 80 00 20 */ blr
@@ -1,31 +0,0 @@
lbl_80489E18:
/* 80489E18 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80489E1C 7C 08 02 A6 */ mflr r0
/* 80489E20 90 01 00 14 */ stw r0, 0x14(r1)
/* 80489E24 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80489E28 93 C1 00 08 */ stw r30, 8(r1)
/* 80489E2C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80489E30 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80489E34 83 C3 5D B8 */ lwz r30, 0x5db8(r3)
/* 80489E38 3B E0 00 00 */ li r31, 0
/* 80489E3C 3C 60 80 49 */ lis r3, data_8048A670@ha /* 0x8048A670@ha */
/* 80489E40 38 63 A6 70 */ addi r3, r3, data_8048A670@l /* 0x8048A670@l */
/* 80489E44 80 63 00 00 */ lwz r3, 0(r3)
/* 80489E48 81 83 06 28 */ lwz r12, 0x628(r3)
/* 80489E4C 81 8C 01 88 */ lwz r12, 0x188(r12)
/* 80489E50 7D 89 03 A6 */ mtctr r12
/* 80489E54 4E 80 04 21 */ bctrl
/* 80489E58 28 03 00 00 */ cmplwi r3, 0
/* 80489E5C 41 82 00 14 */ beq lbl_80489E70
/* 80489E60 80 1E 17 44 */ lwz r0, 0x1744(r30)
/* 80489E64 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0
/* 80489E68 41 82 00 08 */ beq lbl_80489E70
/* 80489E6C 3B E0 00 01 */ li r31, 1
lbl_80489E70:
/* 80489E70 7F E3 FB 78 */ mr r3, r31
/* 80489E74 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80489E78 83 C1 00 08 */ lwz r30, 8(r1)
/* 80489E7C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80489E80 7C 08 03 A6 */ mtlr r0
/* 80489E84 38 21 00 10 */ addi r1, r1, 0x10
/* 80489E88 4E 80 00 20 */ blr
@@ -1,22 +0,0 @@
lbl_80489E8C:
/* 80489E8C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80489E90 7C 08 02 A6 */ mflr r0
/* 80489E94 90 01 00 14 */ stw r0, 0x14(r1)
/* 80489E98 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80489E9C 3B E0 00 00 */ li r31, 0
/* 80489EA0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80489EA4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80489EA8 80 03 5F 18 */ lwz r0, 0x5f18(r3)
/* 80489EAC 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb
/* 80489EB0 41 82 00 14 */ beq lbl_80489EC4
/* 80489EB4 4B FF FE 31 */ bl func_80489CE4
/* 80489EB8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80489EBC 40 82 00 08 */ bne lbl_80489EC4
/* 80489EC0 3B E0 00 01 */ li r31, 1
lbl_80489EC4:
/* 80489EC4 7F E3 FB 78 */ mr r3, r31
/* 80489EC8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80489ECC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80489ED0 7C 08 03 A6 */ mtlr r0
/* 80489ED4 38 21 00 10 */ addi r1, r1, 0x10
/* 80489ED8 4E 80 00 20 */ blr
@@ -1,15 +0,0 @@
lbl_80489EDC:
/* 80489EDC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80489EE0 7C 08 02 A6 */ mflr r0
/* 80489EE4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80489EE8 3C 60 80 49 */ lis r3, data_8048A670@ha /* 0x8048A670@ha */
/* 80489EEC 38 63 A6 70 */ addi r3, r3, data_8048A670@l /* 0x8048A670@l */
/* 80489EF0 80 63 00 00 */ lwz r3, 0(r3)
/* 80489EF4 81 83 06 28 */ lwz r12, 0x628(r3)
/* 80489EF8 81 8C 02 54 */ lwz r12, 0x254(r12)
/* 80489EFC 7D 89 03 A6 */ mtctr r12
/* 80489F00 4E 80 04 21 */ bctrl
/* 80489F04 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80489F08 7C 08 03 A6 */ mtlr r0
/* 80489F0C 38 21 00 10 */ addi r1, r1, 0x10
/* 80489F10 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_80489F68:
/* 80489F68 A8 03 04 B8 */ lha r0, 0x4b8(r3)
/* 80489F6C 54 03 05 AC */ rlwinm r3, r0, 0, 0x16, 0x16
/* 80489F70 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_80489F5C:
/* 80489F5C A8 03 04 B8 */ lha r0, 0x4b8(r3)
/* 80489F60 54 03 05 EE */ rlwinm r3, r0, 0, 0x17, 0x17
/* 80489F64 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_80489F44:
/* 80489F44 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 80489F48 54 03 46 3E */ srwi r3, r0, 0x18
/* 80489F4C 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_80489F38:
/* 80489F38 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 80489F3C 54 03 86 3E */ rlwinm r3, r0, 0x10, 0x18, 0x1f
/* 80489F40 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_80489F20:
/* 80489F20 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 80489F24 54 03 E7 3E */ rlwinm r3, r0, 0x1c, 0x1c, 0x1f
/* 80489F28 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_80489F50:
/* 80489F50 A8 03 04 B8 */ lha r0, 0x4b8(r3)
/* 80489F54 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 80489F58 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_80489F2C:
/* 80489F2C 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 80489F30 54 03 C6 3E */ rlwinm r3, r0, 0x18, 0x18, 0x1f
/* 80489F34 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_80489F14:
/* 80489F14 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 80489F18 54 03 07 3E */ clrlwi r3, r0, 0x1c
/* 80489F1C 4E 80 00 20 */ blr
@@ -1,34 +0,0 @@
lbl_8048F7F8:
/* 8048F7F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048F7FC 7C 08 02 A6 */ mflr r0
/* 8048F800 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048F804 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8048F808 93 C1 00 08 */ stw r30, 8(r1)
/* 8048F80C 7C 7E 1B 79 */ or. r30, r3, r3
/* 8048F810 7C 9F 23 78 */ mr r31, r4
/* 8048F814 41 82 00 48 */ beq lbl_8048F85C
/* 8048F818 3C 80 80 49 */ lis r4, __vt__11daTag_Msg_c@ha /* 0x80490234@ha */
/* 8048F81C 38 04 02 34 */ addi r0, r4, __vt__11daTag_Msg_c@l /* 0x80490234@l */
/* 8048F820 90 1E 05 68 */ stw r0, 0x568(r30)
/* 8048F824 48 00 07 69 */ bl getResName__11daTag_Msg_cFv
/* 8048F828 7C 64 1B 78 */ mr r4, r3
/* 8048F82C 38 7E 05 74 */ addi r3, r30, 0x574
/* 8048F830 4B B9 D7 D9 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
/* 8048F834 38 7E 05 80 */ addi r3, r30, 0x580
/* 8048F838 38 80 FF FF */ li r4, -1
/* 8048F83C 4B DB A7 0D */ bl __dt__10dMsgFlow_cFv
/* 8048F840 7F C3 F3 78 */ mr r3, r30
/* 8048F844 38 80 00 00 */ li r4, 0
/* 8048F848 4B B8 94 45 */ bl __dt__10fopAc_ac_cFv
/* 8048F84C 7F E0 07 35 */ extsh. r0, r31
/* 8048F850 40 81 00 0C */ ble lbl_8048F85C
/* 8048F854 7F C3 F3 78 */ mr r3, r30
/* 8048F858 4B E3 F4 E5 */ bl __dl__FPv
lbl_8048F85C:
/* 8048F85C 7F C3 F3 78 */ mr r3, r30
/* 8048F860 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8048F864 83 C1 00 08 */ lwz r30, 8(r1)
/* 8048F868 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8048F86C 7C 08 03 A6 */ mtlr r0
/* 8048F870 38 21 00 10 */ addi r1, r1, 0x10
/* 8048F874 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_80490128:
/* 80490128 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8049012C 7C 08 02 A6 */ mflr r0
/* 80490130 90 01 00 14 */ stw r0, 0x14(r1)
/* 80490134 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80490138 7C 7F 1B 79 */ or. r31, r3, r3
/* 8049013C 41 82 00 1C */ beq lbl_80490158
/* 80490140 3C A0 80 49 */ lis r5, __vt__17daTag_Msg_Param_c@ha /* 0x80490228@ha */
/* 80490144 38 05 02 28 */ addi r0, r5, __vt__17daTag_Msg_Param_c@l /* 0x80490228@l */
/* 80490148 90 1F 00 00 */ stw r0, 0(r31)
/* 8049014C 7C 80 07 35 */ extsh. r0, r4
/* 80490150 40 81 00 08 */ ble lbl_80490158
/* 80490154 4B E3 EB E9 */ bl __dl__FPv
lbl_80490158:
/* 80490158 7F E3 FB 78 */ mr r3, r31
/* 8049015C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80490160 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80490164 7C 08 03 A6 */ mtlr r0
/* 80490168 38 21 00 10 */ addi r1, r1, 0x10
/* 8049016C 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8048F7D8:
/* 8048F7D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048F7DC 7C 08 02 A6 */ mflr r0
/* 8048F7E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048F7E4 48 00 01 71 */ bl createHeap__11daTag_Msg_cFv
/* 8048F7E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8048F7EC 7C 08 03 A6 */ mtlr r0
/* 8048F7F0 38 21 00 10 */ addi r1, r1, 0x10
/* 8048F7F4 4E 80 00 20 */ blr
@@ -1,28 +0,0 @@
lbl_8048F954:
/* 8048F954 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048F958 7C 08 02 A6 */ mflr r0
/* 8048F95C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048F960 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8048F964 7C 7F 1B 78 */ mr r31, r3
/* 8048F968 38 60 00 04 */ li r3, 4
/* 8048F96C 4B E3 F2 E1 */ bl __nw__FUl
/* 8048F970 28 03 00 00 */ cmplwi r3, 0
/* 8048F974 41 82 00 10 */ beq lbl_8048F984
/* 8048F978 3C 80 80 49 */ lis r4, __vt__17daTag_Msg_Param_c@ha /* 0x80490228@ha */
/* 8048F97C 38 04 02 28 */ addi r0, r4, __vt__17daTag_Msg_Param_c@l /* 0x80490228@l */
/* 8048F980 90 03 00 00 */ stw r0, 0(r3)
lbl_8048F984:
/* 8048F984 90 7F 05 D8 */ stw r3, 0x5d8(r31)
/* 8048F988 80 1F 05 D8 */ lwz r0, 0x5d8(r31)
/* 8048F98C 28 00 00 00 */ cmplwi r0, 0
/* 8048F990 40 82 00 0C */ bne lbl_8048F99C
/* 8048F994 38 60 00 00 */ li r3, 0
/* 8048F998 48 00 00 08 */ b lbl_8048F9A0
lbl_8048F99C:
/* 8048F99C 38 60 00 01 */ li r3, 1
lbl_8048F9A0:
/* 8048F9A0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8048F9A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8048F9A8 7C 08 03 A6 */ mtlr r0
/* 8048F9AC 38 21 00 10 */ addi r1, r1, 0x10
/* 8048F9B0 4E 80 00 20 */ blr
@@ -1,60 +0,0 @@
lbl_8048F878:
/* 8048F878 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048F87C 7C 08 02 A6 */ mflr r0
/* 8048F880 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048F884 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8048F888 93 C1 00 08 */ stw r30, 8(r1)
/* 8048F88C 7C 7E 1B 78 */ mr r30, r3
/* 8048F890 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 8048F894 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 8048F898 40 82 00 34 */ bne lbl_8048F8CC
/* 8048F89C 7F C0 F3 79 */ or. r0, r30, r30
/* 8048F8A0 41 82 00 20 */ beq lbl_8048F8C0
/* 8048F8A4 7C 1F 03 78 */ mr r31, r0
/* 8048F8A8 4B B8 92 BD */ bl __ct__10fopAc_ac_cFv
/* 8048F8AC 3C 60 80 49 */ lis r3, __vt__11daTag_Msg_c@ha /* 0x80490234@ha */
/* 8048F8B0 38 03 02 34 */ addi r0, r3, __vt__11daTag_Msg_c@l /* 0x80490234@l */
/* 8048F8B4 90 1F 05 68 */ stw r0, 0x568(r31)
/* 8048F8B8 38 7F 05 80 */ addi r3, r31, 0x580
/* 8048F8BC 4B DB A6 45 */ bl __ct__10dMsgFlow_cFv
lbl_8048F8C0:
/* 8048F8C0 80 1E 04 A0 */ lwz r0, 0x4a0(r30)
/* 8048F8C4 60 00 00 08 */ ori r0, r0, 8
/* 8048F8C8 90 1E 04 A0 */ stw r0, 0x4a0(r30)
lbl_8048F8CC:
/* 8048F8CC 7F C3 F3 78 */ mr r3, r30
/* 8048F8D0 48 00 06 BD */ bl getResName__11daTag_Msg_cFv
/* 8048F8D4 7C 64 1B 78 */ mr r4, r3
/* 8048F8D8 38 7E 05 74 */ addi r3, r30, 0x574
/* 8048F8DC 4B B9 D5 E1 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc
/* 8048F8E0 7C 7F 1B 78 */ mr r31, r3
/* 8048F8E4 2C 1F 00 04 */ cmpwi r31, 4
/* 8048F8E8 40 82 00 50 */ bne lbl_8048F938
/* 8048F8EC 3C 60 20 00 */ lis r3, 0x2000 /* 0x20000008@ha */
/* 8048F8F0 38 03 00 08 */ addi r0, r3, 0x0008 /* 0x20000008@l */
/* 8048F8F4 90 1E 05 5C */ stw r0, 0x55c(r30)
/* 8048F8F8 7F C3 F3 78 */ mr r3, r30
/* 8048F8FC 48 00 06 A1 */ bl getParam__11daTag_Msg_cFv
/* 8048F900 7F C3 F3 78 */ mr r3, r30
/* 8048F904 48 00 06 89 */ bl getResName__11daTag_Msg_cFv
/* 8048F908 90 7E 01 00 */ stw r3, 0x100(r30)
/* 8048F90C 38 00 FF FF */ li r0, -1
/* 8048F910 B0 1E 05 D0 */ sth r0, 0x5d0(r30)
/* 8048F914 7F C3 F3 78 */ mr r3, r30
/* 8048F918 3C 80 80 49 */ lis r4, createHeapCallBack__FP10fopAc_ac_c@ha /* 0x8048F7D8@ha */
/* 8048F91C 38 84 F7 D8 */ addi r4, r4, createHeapCallBack__FP10fopAc_ac_c@l /* 0x8048F7D8@l */
/* 8048F920 38 A0 00 10 */ li r5, 0x10
/* 8048F924 4B B8 AB 8D */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl
/* 8048F928 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8048F92C 40 82 00 0C */ bne lbl_8048F938
/* 8048F930 38 60 00 05 */ li r3, 5
/* 8048F934 48 00 00 08 */ b lbl_8048F93C
lbl_8048F938:
/* 8048F938 7F E3 FB 78 */ mr r3, r31
lbl_8048F93C:
/* 8048F93C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8048F940 83 C1 00 08 */ lwz r30, 8(r1)
/* 8048F944 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8048F948 7C 08 03 A6 */ mtlr r0
/* 8048F94C 38 21 00 10 */ addi r1, r1, 0x10
/* 8048F950 4E 80 00 20 */ blr
@@ -1,24 +0,0 @@
lbl_8049004C:
/* 8049004C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80490050 7C 08 02 A6 */ mflr r0
/* 80490054 90 01 00 14 */ stw r0, 0x14(r1)
/* 80490058 7C 64 1B 78 */ mr r4, r3
/* 8049005C 2C 05 00 00 */ cmpwi r5, 0
/* 80490060 41 82 00 20 */ beq lbl_80490080
/* 80490064 38 64 05 80 */ addi r3, r4, 0x580
/* 80490068 80 A4 05 7C */ lwz r5, 0x57c(r4)
/* 8049006C 38 C0 00 00 */ li r6, 0
/* 80490070 38 E0 00 00 */ li r7, 0
/* 80490074 4B DB 9F 1D */ bl init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c
/* 80490078 38 60 00 00 */ li r3, 0
/* 8049007C 48 00 00 14 */ b lbl_80490090
lbl_80490080:
/* 80490080 38 64 05 80 */ addi r3, r4, 0x580
/* 80490084 38 A0 00 00 */ li r5, 0
/* 80490088 38 C0 00 00 */ li r6, 0
/* 8049008C 4B DB A2 4D */ bl doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci
lbl_80490090:
/* 80490090 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80490094 7C 08 03 A6 */ mtlr r0
/* 80490098 38 21 00 10 */ addi r1, r1, 0x10
/* 8049009C 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_804900A0:
/* 804900A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804900A4 7C 08 02 A6 */ mflr r0
/* 804900A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 804900AC 4B FF F7 CD */ bl create__11daTag_Msg_cFv
/* 804900B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804900B4 7C 08 03 A6 */ mtlr r0
/* 804900B8 38 21 00 10 */ addi r1, r1, 0x10
/* 804900BC 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_804900C0:
/* 804900C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804900C4 7C 08 02 A6 */ mflr r0
/* 804900C8 90 01 00 14 */ stw r0, 0x14(r1)
/* 804900CC 4B FF F8 E9 */ bl destroy__11daTag_Msg_cFv
/* 804900D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804900D4 7C 08 03 A6 */ mtlr r0
/* 804900D8 38 21 00 10 */ addi r1, r1, 0x10
/* 804900DC 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80490100:
/* 80490100 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80490104 7C 08 02 A6 */ mflr r0
/* 80490108 90 01 00 14 */ stw r0, 0x14(r1)
/* 8049010C 4B FF FB 5D */ bl draw__11daTag_Msg_cFv
/* 80490110 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80490114 7C 08 03 A6 */ mtlr r0
/* 80490118 38 21 00 10 */ addi r1, r1, 0x10
/* 8049011C 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_804900E0:
/* 804900E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804900E4 7C 08 02 A6 */ mflr r0
/* 804900E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 804900EC 4B FF F8 FD */ bl execute__11daTag_Msg_cFv
/* 804900F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804900F4 7C 08 03 A6 */ mtlr r0
/* 804900F8 38 21 00 10 */ addi r1, r1, 0x10
/* 804900FC 4E 80 00 20 */ blr
@@ -1,14 +0,0 @@
lbl_8048F9B4:
/* 8048F9B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048F9B8 7C 08 02 A6 */ mflr r0
/* 8048F9BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048F9C0 38 80 FF FF */ li r4, -1
/* 8048F9C4 81 83 05 68 */ lwz r12, 0x568(r3)
/* 8048F9C8 81 8C 00 08 */ lwz r12, 8(r12)
/* 8048F9CC 7D 89 03 A6 */ mtctr r12
/* 8048F9D0 4E 80 04 21 */ bctrl
/* 8048F9D4 38 60 00 01 */ li r3, 1
/* 8048F9D8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8048F9DC 7C 08 03 A6 */ mtlr r0
/* 8048F9E0 38 21 00 10 */ addi r1, r1, 0x10
/* 8048F9E4 4E 80 00 20 */ blr
@@ -1,171 +0,0 @@
lbl_8048F9E8:
/* 8048F9E8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8048F9EC 7C 08 02 A6 */ mflr r0
/* 8048F9F0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8048F9F4 39 61 00 20 */ addi r11, r1, 0x20
/* 8048F9F8 4B ED 27 D9 */ bl _savegpr_26
/* 8048F9FC 7C 7D 1B 78 */ mr r29, r3
/* 8048FA00 3B C0 00 01 */ li r30, 1
/* 8048FA04 3C 80 80 45 */ lis r4, mStayNo__20dStage_roomControl_c+0x0@ha /* 0x80450D64@ha */
/* 8048FA08 88 04 0D 64 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0@l(r4) /* 0x80450D64@l */
/* 8048FA0C 98 03 04 E2 */ stb r0, 0x4e2(r3)
/* 8048FA10 C0 43 04 D8 */ lfs f2, 0x4d8(r3)
/* 8048FA14 3C 80 80 49 */ lis r4, lit_3757@ha /* 0x8049017C@ha */
/* 8048FA18 C0 24 01 7C */ lfs f1, lit_3757@l(r4) /* 0x8049017C@l */
/* 8048FA1C C0 03 04 D4 */ lfs f0, 0x4d4(r3)
/* 8048FA20 EC 21 00 2A */ fadds f1, f1, f0
/* 8048FA24 C0 03 04 D0 */ lfs f0, 0x4d0(r3)
/* 8048FA28 D0 03 05 38 */ stfs f0, 0x538(r3)
/* 8048FA2C D0 23 05 3C */ stfs f1, 0x53c(r3)
/* 8048FA30 D0 43 05 40 */ stfs f2, 0x540(r3)
/* 8048FA34 C0 03 05 38 */ lfs f0, 0x538(r3)
/* 8048FA38 D0 03 05 50 */ stfs f0, 0x550(r3)
/* 8048FA3C C0 03 05 3C */ lfs f0, 0x53c(r3)
/* 8048FA40 D0 03 05 54 */ stfs f0, 0x554(r3)
/* 8048FA44 C0 03 05 40 */ lfs f0, 0x540(r3)
/* 8048FA48 D0 03 05 58 */ stfs f0, 0x558(r3)
/* 8048FA4C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8048FA50 3B E4 61 C0 */ addi r31, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8048FA54 88 1F 4F AD */ lbz r0, 0x4fad(r31)
/* 8048FA58 28 00 00 00 */ cmplwi r0, 0
/* 8048FA5C 41 82 01 54 */ beq lbl_8048FBB0
/* 8048FA60 3B C0 00 00 */ li r30, 0
/* 8048FA64 A0 1D 00 F8 */ lhz r0, 0xf8(r29)
/* 8048FA68 28 00 00 01 */ cmplwi r0, 1
/* 8048FA6C 40 82 00 5C */ bne lbl_8048FAC8
/* 8048FA70 38 80 FF FF */ li r4, -1
/* 8048FA74 88 BD 05 E4 */ lbz r5, 0x5e4(r29)
/* 8048FA78 48 00 05 D5 */ bl cut_speak__11daTag_Msg_cFii
/* 8048FA7C 2C 03 00 00 */ cmpwi r3, 0
/* 8048FA80 41 82 00 3C */ beq lbl_8048FABC
/* 8048FA84 88 1D 05 DC */ lbz r0, 0x5dc(r29)
/* 8048FA88 28 00 00 01 */ cmplwi r0, 1
/* 8048FA8C 40 82 00 24 */ bne lbl_8048FAB0
/* 8048FA90 88 9D 05 DF */ lbz r4, 0x5df(r29)
/* 8048FA94 28 04 00 FF */ cmplwi r4, 0xff
/* 8048FA98 41 82 00 18 */ beq lbl_8048FAB0
/* 8048FA9C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8048FAA0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8048FAA4 88 1D 04 E2 */ lbz r0, 0x4e2(r29)
/* 8048FAA8 7C 05 07 74 */ extsb r5, r0
/* 8048FAAC 4B BA 57 55 */ bl onSwitch__10dSv_info_cFii
lbl_8048FAB0:
/* 8048FAB0 38 7F 4E C8 */ addi r3, r31, 0x4ec8
/* 8048FAB4 4B BB 29 B5 */ bl reset__14dEvt_control_cFv
/* 8048FAB8 3B C0 00 01 */ li r30, 1
lbl_8048FABC:
/* 8048FABC 38 00 00 00 */ li r0, 0
/* 8048FAC0 98 1D 05 E4 */ stb r0, 0x5e4(r29)
/* 8048FAC4 48 00 00 EC */ b lbl_8048FBB0
lbl_8048FAC8:
/* 8048FAC8 A8 9D 05 D0 */ lha r4, 0x5d0(r29)
/* 8048FACC 2C 04 FF FF */ cmpwi r4, -1
/* 8048FAD0 41 82 00 E0 */ beq lbl_8048FBB0
/* 8048FAD4 3B 5F 4F F8 */ addi r26, r31, 0x4ff8
/* 8048FAD8 7F 43 D3 78 */ mr r3, r26
/* 8048FADC 4B BB 7F 9D */ bl endCheck__16dEvent_manager_cFs
/* 8048FAE0 2C 03 00 00 */ cmpwi r3, 0
/* 8048FAE4 41 82 00 50 */ beq lbl_8048FB34
/* 8048FAE8 38 00 00 00 */ li r0, 0
/* 8048FAEC 90 1D 05 CC */ stw r0, 0x5cc(r29)
/* 8048FAF0 38 00 FF FF */ li r0, -1
/* 8048FAF4 B0 1D 05 D0 */ sth r0, 0x5d0(r29)
/* 8048FAF8 88 1D 05 DC */ lbz r0, 0x5dc(r29)
/* 8048FAFC 28 00 00 00 */ cmplwi r0, 0
/* 8048FB00 40 82 00 24 */ bne lbl_8048FB24
/* 8048FB04 88 9D 05 DF */ lbz r4, 0x5df(r29)
/* 8048FB08 28 04 00 FF */ cmplwi r4, 0xff
/* 8048FB0C 41 82 00 18 */ beq lbl_8048FB24
/* 8048FB10 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8048FB14 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8048FB18 88 1D 04 E2 */ lbz r0, 0x4e2(r29)
/* 8048FB1C 7C 05 07 74 */ extsb r5, r0
/* 8048FB20 4B BA 56 E1 */ bl onSwitch__10dSv_info_cFii
lbl_8048FB24:
/* 8048FB24 38 7F 4E C8 */ addi r3, r31, 0x4ec8
/* 8048FB28 4B BB 29 41 */ bl reset__14dEvt_control_cFv
/* 8048FB2C 3B C0 00 01 */ li r30, 1
/* 8048FB30 48 00 00 80 */ b lbl_8048FBB0
lbl_8048FB34:
/* 8048FB34 7F 43 D3 78 */ mr r3, r26
/* 8048FB38 38 9D 05 6C */ addi r4, r29, 0x56c
/* 8048FB3C 38 A0 00 00 */ li r5, 0
/* 8048FB40 38 C0 00 00 */ li r6, 0
/* 8048FB44 4B BB 7F D9 */ bl getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci
/* 8048FB48 7C 7B 1B 78 */ mr r27, r3
/* 8048FB4C 7F 43 D3 78 */ mr r3, r26
/* 8048FB50 7F 64 DB 78 */ mr r4, r27
/* 8048FB54 3C A0 80 49 */ lis r5, mEvtCutTBL__11daTag_Msg_c@ha /* 0x804901D0@ha */
/* 8048FB58 38 A5 01 D0 */ addi r5, r5, mEvtCutTBL__11daTag_Msg_c@l /* 0x804901D0@l */
/* 8048FB5C 38 C0 00 02 */ li r6, 2
/* 8048FB60 38 E0 00 00 */ li r7, 0
/* 8048FB64 39 00 00 00 */ li r8, 0
/* 8048FB68 4B BB 82 A9 */ bl getMyActIdx__16dEvent_manager_cFiPCPCciii
/* 8048FB6C 7C 7C 1B 78 */ mr r28, r3
/* 8048FB70 7F 43 D3 78 */ mr r3, r26
/* 8048FB74 7F 64 DB 78 */ mr r4, r27
/* 8048FB78 4B BB 81 D5 */ bl getIsAddvance__16dEvent_manager_cFi
/* 8048FB7C 7C 65 1B 78 */ mr r5, r3
/* 8048FB80 38 60 00 00 */ li r3, 0
/* 8048FB84 2C 1C 00 00 */ cmpwi r28, 0
/* 8048FB88 41 82 00 08 */ beq lbl_8048FB90
/* 8048FB8C 48 00 00 10 */ b lbl_8048FB9C
lbl_8048FB90:
/* 8048FB90 7F A3 EB 78 */ mr r3, r29
/* 8048FB94 7F 64 DB 78 */ mr r4, r27
/* 8048FB98 48 00 04 B5 */ bl cut_speak__11daTag_Msg_cFii
lbl_8048FB9C:
/* 8048FB9C 2C 03 00 00 */ cmpwi r3, 0
/* 8048FBA0 41 82 00 10 */ beq lbl_8048FBB0
/* 8048FBA4 7F 43 D3 78 */ mr r3, r26
/* 8048FBA8 7F 64 DB 78 */ mr r4, r27
/* 8048FBAC 4B BB 85 D1 */ bl cutEnd__16dEvent_manager_cFi
lbl_8048FBB0:
/* 8048FBB0 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 8048FBB4 41 82 00 98 */ beq lbl_8048FC4C
/* 8048FBB8 7F A3 EB 78 */ mr r3, r29
/* 8048FBBC 48 00 00 B5 */ bl rangeCheck__11daTag_Msg_cFv
/* 8048FBC0 2C 03 00 00 */ cmpwi r3, 0
/* 8048FBC4 41 82 00 88 */ beq lbl_8048FC4C
/* 8048FBC8 7F A3 EB 78 */ mr r3, r29
/* 8048FBCC 48 00 02 4D */ bl otherCheck__11daTag_Msg_cFv
/* 8048FBD0 2C 03 00 00 */ cmpwi r3, 0
/* 8048FBD4 41 82 00 78 */ beq lbl_8048FC4C
/* 8048FBD8 88 1D 05 DD */ lbz r0, 0x5dd(r29)
/* 8048FBDC 28 00 00 00 */ cmplwi r0, 0
/* 8048FBE0 41 82 00 58 */ beq lbl_8048FC38
/* 8048FBE4 38 00 00 01 */ li r0, 1
/* 8048FBE8 90 1D 05 CC */ stw r0, 0x5cc(r29)
/* 8048FBEC 38 7F 4F F8 */ addi r3, r31, 0x4ff8
/* 8048FBF0 7F A4 EB 78 */ mr r4, r29
/* 8048FBF4 80 1D 05 CC */ lwz r0, 0x5cc(r29)
/* 8048FBF8 54 00 10 3A */ slwi r0, r0, 2
/* 8048FBFC 3C A0 80 49 */ lis r5, l_evtNameTBL@ha /* 0x804901C8@ha */
/* 8048FC00 38 A5 01 C8 */ addi r5, r5, l_evtNameTBL@l /* 0x804901C8@l */
/* 8048FC04 7C A5 00 2E */ lwzx r5, r5, r0
/* 8048FC08 38 C0 00 FF */ li r6, 0xff
/* 8048FC0C 4B BB 7B 4D */ bl getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc
/* 8048FC10 B0 7D 05 D0 */ sth r3, 0x5d0(r29)
/* 8048FC14 7F A3 EB 78 */ mr r3, r29
/* 8048FC18 A8 9D 05 D0 */ lha r4, 0x5d0(r29)
/* 8048FC1C 38 A0 00 FF */ li r5, 0xff
/* 8048FC20 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */
/* 8048FC24 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */
/* 8048FC28 38 E0 00 00 */ li r7, 0
/* 8048FC2C 39 00 00 01 */ li r8, 1
/* 8048FC30 4B B8 BA 4D */ bl fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs
/* 8048FC34 48 00 00 18 */ b lbl_8048FC4C
lbl_8048FC38:
/* 8048FC38 A0 1D 00 FA */ lhz r0, 0xfa(r29)
/* 8048FC3C 60 00 00 01 */ ori r0, r0, 1
/* 8048FC40 B0 1D 00 FA */ sth r0, 0xfa(r29)
/* 8048FC44 38 00 00 01 */ li r0, 1
/* 8048FC48 98 1D 05 E4 */ stb r0, 0x5e4(r29)
lbl_8048FC4C:
/* 8048FC4C 38 60 00 01 */ li r3, 1
/* 8048FC50 39 61 00 20 */ addi r11, r1, 0x20
/* 8048FC54 4B ED 25 C9 */ bl _restgpr_26
/* 8048FC58 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8048FC5C 7C 08 03 A6 */ mtlr r0
/* 8048FC60 38 21 00 20 */ addi r1, r1, 0x20
/* 8048FC64 4E 80 00 20 */ blr
@@ -1,47 +0,0 @@
lbl_8048FF9C:
/* 8048FF9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048FFA0 7C 08 02 A6 */ mflr r0
/* 8048FFA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048FFA8 A8 03 04 B4 */ lha r0, 0x4b4(r3)
/* 8048FFAC 98 03 05 DE */ stb r0, 0x5de(r3)
/* 8048FFB0 A8 03 04 B4 */ lha r0, 0x4b4(r3)
/* 8048FFB4 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 8048FFB8 98 03 05 DF */ stb r0, 0x5df(r3)
/* 8048FFBC 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8048FFC0 54 00 05 3E */ clrlwi r0, r0, 0x14
/* 8048FFC4 B0 03 05 E0 */ sth r0, 0x5e0(r3)
/* 8048FFC8 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8048FFCC 54 00 A5 3E */ rlwinm r0, r0, 0x14, 0x14, 0x1f
/* 8048FFD0 B0 03 05 E2 */ sth r0, 0x5e2(r3)
/* 8048FFD4 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8048FFD8 54 00 47 FE */ rlwinm r0, r0, 8, 0x1f, 0x1f
/* 8048FFDC 98 03 05 DC */ stb r0, 0x5dc(r3)
/* 8048FFE0 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8048FFE4 54 00 3F FE */ rlwinm r0, r0, 7, 0x1f, 0x1f
/* 8048FFE8 98 03 05 DD */ stb r0, 0x5dd(r3)
/* 8048FFEC A8 03 04 B8 */ lha r0, 0x4b8(r3)
/* 8048FFF0 54 00 04 3F */ clrlwi. r0, r0, 0x10
/* 8048FFF4 41 82 00 0C */ beq lbl_80490000
/* 8048FFF8 90 03 05 7C */ stw r0, 0x57c(r3)
/* 8048FFFC 48 00 00 0C */ b lbl_80490008
lbl_80490000:
/* 80490000 38 00 FF FF */ li r0, -1
/* 80490004 90 03 05 7C */ stw r0, 0x57c(r3)
lbl_80490008:
/* 80490008 C0 03 04 EC */ lfs f0, 0x4ec(r3)
/* 8049000C 3C 80 80 49 */ lis r4, lit_3880@ha /* 0x804901A0@ha */
/* 80490010 C0 24 01 A0 */ lfs f1, lit_3880@l(r4) /* 0x804901A0@l */
/* 80490014 EC 00 00 72 */ fmuls f0, f0, f1
/* 80490018 D0 03 04 EC */ stfs f0, 0x4ec(r3)
/* 8049001C C0 03 04 F0 */ lfs f0, 0x4f0(r3)
/* 80490020 EC 00 00 72 */ fmuls f0, f0, f1
/* 80490024 D0 03 04 F0 */ stfs f0, 0x4f0(r3)
/* 80490028 38 63 05 6C */ addi r3, r3, 0x56c
/* 8049002C 3C 80 80 49 */ lis r4, d_a_tag_msg__stringBase0@ha /* 0x804901A4@ha */
/* 80490030 38 84 01 A4 */ addi r4, r4, d_a_tag_msg__stringBase0@l /* 0x804901A4@l */
/* 80490034 38 84 00 0D */ addi r4, r4, 0xd
/* 80490038 4B ED 8A F5 */ bl strcpy
/* 8049003C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80490040 7C 08 03 A6 */ mtlr r0
/* 80490044 38 21 00 10 */ addi r1, r1, 0x10
/* 80490048 4E 80 00 20 */ blr
@@ -1,5 +0,0 @@
lbl_8048FF8C:
/* 8048FF8C 3C 60 80 49 */ lis r3, l_resName@ha /* 0x804901C4@ha */
/* 8048FF90 38 63 01 C4 */ addi r3, r3, l_resName@l /* 0x804901C4@l */
/* 8048FF94 80 63 00 00 */ lwz r3, 0(r3)
/* 8048FF98 4E 80 00 20 */ blr
@@ -1,103 +0,0 @@
lbl_8048FE18:
/* 8048FE18 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048FE1C 7C 08 02 A6 */ mflr r0
/* 8048FE20 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048FE24 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8048FE28 7C 7F 1B 78 */ mr r31, r3
/* 8048FE2C 88 03 05 DC */ lbz r0, 0x5dc(r3)
/* 8048FE30 28 00 00 00 */ cmplwi r0, 0
/* 8048FE34 41 82 00 7C */ beq lbl_8048FEB0
/* 8048FE38 A0 1F 05 E0 */ lhz r0, 0x5e0(r31)
/* 8048FE3C 28 00 0F FF */ cmplwi r0, 0xfff
/* 8048FE40 41 82 00 2C */ beq lbl_8048FE6C
/* 8048FE44 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8048FE48 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8048FE4C 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 8048FE50 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e
/* 8048FE54 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 8048FE58 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 8048FE5C 7C 84 02 2E */ lhzx r4, r4, r0
/* 8048FE60 4B BA 4B 5D */ bl isEventBit__11dSv_event_cCFUs
/* 8048FE64 2C 03 00 00 */ cmpwi r3, 0
/* 8048FE68 41 82 00 40 */ beq lbl_8048FEA8
lbl_8048FE6C:
/* 8048FE6C A0 1F 05 E2 */ lhz r0, 0x5e2(r31)
/* 8048FE70 28 00 0F FF */ cmplwi r0, 0xfff
/* 8048FE74 41 82 00 9C */ beq lbl_8048FF10
/* 8048FE78 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8048FE7C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8048FE80 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 8048FE84 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e
/* 8048FE88 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 8048FE8C 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 8048FE90 7C 84 02 2E */ lhzx r4, r4, r0
/* 8048FE94 4B BA 4B 29 */ bl isEventBit__11dSv_event_cCFUs
/* 8048FE98 2C 03 00 00 */ cmpwi r3, 0
/* 8048FE9C 41 82 00 74 */ beq lbl_8048FF10
/* 8048FEA0 38 60 00 00 */ li r3, 0
/* 8048FEA4 48 00 00 D4 */ b lbl_8048FF78
lbl_8048FEA8:
/* 8048FEA8 38 60 00 00 */ li r3, 0
/* 8048FEAC 48 00 00 CC */ b lbl_8048FF78
lbl_8048FEB0:
/* 8048FEB0 88 9F 05 DE */ lbz r4, 0x5de(r31)
/* 8048FEB4 28 04 00 FF */ cmplwi r4, 0xff
/* 8048FEB8 41 82 00 20 */ beq lbl_8048FED8
/* 8048FEBC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8048FEC0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8048FEC4 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 8048FEC8 7C 05 07 74 */ extsb r5, r0
/* 8048FECC 4B BA 54 95 */ bl isSwitch__10dSv_info_cCFii
/* 8048FED0 2C 03 00 00 */ cmpwi r3, 0
/* 8048FED4 41 82 00 34 */ beq lbl_8048FF08
lbl_8048FED8:
/* 8048FED8 88 9F 05 DF */ lbz r4, 0x5df(r31)
/* 8048FEDC 28 04 00 FF */ cmplwi r4, 0xff
/* 8048FEE0 41 82 00 30 */ beq lbl_8048FF10
/* 8048FEE4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8048FEE8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8048FEEC 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 8048FEF0 7C 05 07 74 */ extsb r5, r0
/* 8048FEF4 4B BA 54 6D */ bl isSwitch__10dSv_info_cCFii
/* 8048FEF8 2C 03 00 00 */ cmpwi r3, 0
/* 8048FEFC 41 82 00 14 */ beq lbl_8048FF10
/* 8048FF00 38 60 00 00 */ li r3, 0
/* 8048FF04 48 00 00 74 */ b lbl_8048FF78
lbl_8048FF08:
/* 8048FF08 38 60 00 00 */ li r3, 0
/* 8048FF0C 48 00 00 6C */ b lbl_8048FF78
lbl_8048FF10:
/* 8048FF10 88 1F 05 DD */ lbz r0, 0x5dd(r31)
/* 8048FF14 28 00 00 00 */ cmplwi r0, 0
/* 8048FF18 41 82 00 0C */ beq lbl_8048FF24
/* 8048FF1C 38 60 00 01 */ li r3, 1
/* 8048FF20 48 00 00 58 */ b lbl_8048FF78
lbl_8048FF24:
/* 8048FF24 7F E3 FB 78 */ mr r3, r31
/* 8048FF28 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8048FF2C 3B E4 61 C0 */ addi r31, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8048FF30 80 9F 5D AC */ lwz r4, 0x5dac(r31)
/* 8048FF34 4B B8 A7 DD */ bl fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c
/* 8048FF38 38 03 7F FF */ addi r0, r3, 0x7fff
/* 8048FF3C 7C 04 07 34 */ extsh r4, r0
/* 8048FF40 80 7F 5D AC */ lwz r3, 0x5dac(r31)
/* 8048FF44 A8 03 04 DE */ lha r0, 0x4de(r3)
/* 8048FF48 7C 00 20 50 */ subf r0, r0, r4
/* 8048FF4C 7C 00 07 35 */ extsh. r0, r0
/* 8048FF50 40 80 00 0C */ bge lbl_8048FF5C
/* 8048FF54 7C 00 00 D0 */ neg r0, r0
/* 8048FF58 7C 00 07 34 */ extsh r0, r0
lbl_8048FF5C:
/* 8048FF5C 7C 05 07 34 */ extsh r5, r0
/* 8048FF60 38 00 10 00 */ li r0, 0x1000
/* 8048FF64 7C 04 FE 70 */ srawi r4, r0, 0x1f
/* 8048FF68 54 A3 0F FE */ srwi r3, r5, 0x1f
/* 8048FF6C 7C 05 00 10 */ subfc r0, r5, r0
/* 8048FF70 7C 04 19 14 */ adde r0, r4, r3
/* 8048FF74 54 03 06 3E */ clrlwi r3, r0, 0x18
lbl_8048FF78:
/* 8048FF78 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8048FF7C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8048FF80 7C 08 03 A6 */ mtlr r0
/* 8048FF84 38 21 00 10 */ addi r1, r1, 0x10
/* 8048FF88 4E 80 00 20 */ blr
@@ -1,117 +0,0 @@
lbl_8048FC70:
/* 8048FC70 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8048FC74 7C 08 02 A6 */ mflr r0
/* 8048FC78 90 01 00 44 */ stw r0, 0x44(r1)
/* 8048FC7C 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8048FC80 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8048FC84 7C 7F 1B 78 */ mr r31, r3
/* 8048FC88 3C 60 80 49 */ lis r3, m__17daTag_Msg_Param_c@ha /* 0x80490178@ha */
/* 8048FC8C 3B C3 01 78 */ addi r30, r3, m__17daTag_Msg_Param_c@l /* 0x80490178@l */
/* 8048FC90 38 61 00 18 */ addi r3, r1, 0x18
/* 8048FC94 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8048FC98 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8048FC9C 80 84 5D AC */ lwz r4, 0x5dac(r4)
/* 8048FCA0 38 84 04 D0 */ addi r4, r4, 0x4d0
/* 8048FCA4 38 BF 04 D0 */ addi r5, r31, 0x4d0
/* 8048FCA8 4B DD 6E 8D */ bl __mi__4cXyzCFRC3Vec
/* 8048FCAC C0 41 00 18 */ lfs f2, 0x18(r1)
/* 8048FCB0 D0 41 00 24 */ stfs f2, 0x24(r1)
/* 8048FCB4 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8048FCB8 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 8048FCBC C0 21 00 20 */ lfs f1, 0x20(r1)
/* 8048FCC0 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 8048FCC4 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 8048FCC8 C0 1E 00 08 */ lfs f0, 8(r30)
/* 8048FCCC D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8048FCD0 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 8048FCD4 38 61 00 0C */ addi r3, r1, 0xc
/* 8048FCD8 4B EB 74 61 */ bl PSVECSquareMag
/* 8048FCDC C0 1E 00 08 */ lfs f0, 8(r30)
/* 8048FCE0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8048FCE4 40 81 00 58 */ ble lbl_8048FD3C
/* 8048FCE8 FC 00 08 34 */ frsqrte f0, f1
/* 8048FCEC C8 9E 00 10 */ lfd f4, 0x10(r30)
/* 8048FCF0 FC 44 00 32 */ fmul f2, f4, f0
/* 8048FCF4 C8 7E 00 18 */ lfd f3, 0x18(r30)
/* 8048FCF8 FC 00 00 32 */ fmul f0, f0, f0
/* 8048FCFC FC 01 00 32 */ fmul f0, f1, f0
/* 8048FD00 FC 03 00 28 */ fsub f0, f3, f0
/* 8048FD04 FC 02 00 32 */ fmul f0, f2, f0
/* 8048FD08 FC 44 00 32 */ fmul f2, f4, f0
/* 8048FD0C FC 00 00 32 */ fmul f0, f0, f0
/* 8048FD10 FC 01 00 32 */ fmul f0, f1, f0
/* 8048FD14 FC 03 00 28 */ fsub f0, f3, f0
/* 8048FD18 FC 02 00 32 */ fmul f0, f2, f0
/* 8048FD1C FC 44 00 32 */ fmul f2, f4, f0
/* 8048FD20 FC 00 00 32 */ fmul f0, f0, f0
/* 8048FD24 FC 01 00 32 */ fmul f0, f1, f0
/* 8048FD28 FC 03 00 28 */ fsub f0, f3, f0
/* 8048FD2C FC 02 00 32 */ fmul f0, f2, f0
/* 8048FD30 FC 21 00 32 */ fmul f1, f1, f0
/* 8048FD34 FC 20 08 18 */ frsp f1, f1
/* 8048FD38 48 00 00 88 */ b lbl_8048FDC0
lbl_8048FD3C:
/* 8048FD3C C8 1E 00 20 */ lfd f0, 0x20(r30)
/* 8048FD40 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8048FD44 40 80 00 10 */ bge lbl_8048FD54
/* 8048FD48 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 8048FD4C C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
/* 8048FD50 48 00 00 70 */ b lbl_8048FDC0
lbl_8048FD54:
/* 8048FD54 D0 21 00 08 */ stfs f1, 8(r1)
/* 8048FD58 80 81 00 08 */ lwz r4, 8(r1)
/* 8048FD5C 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 8048FD60 3C 00 7F 80 */ lis r0, 0x7f80
/* 8048FD64 7C 03 00 00 */ cmpw r3, r0
/* 8048FD68 41 82 00 14 */ beq lbl_8048FD7C
/* 8048FD6C 40 80 00 40 */ bge lbl_8048FDAC
/* 8048FD70 2C 03 00 00 */ cmpwi r3, 0
/* 8048FD74 41 82 00 20 */ beq lbl_8048FD94
/* 8048FD78 48 00 00 34 */ b lbl_8048FDAC
lbl_8048FD7C:
/* 8048FD7C 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8048FD80 41 82 00 0C */ beq lbl_8048FD8C
/* 8048FD84 38 00 00 01 */ li r0, 1
/* 8048FD88 48 00 00 28 */ b lbl_8048FDB0
lbl_8048FD8C:
/* 8048FD8C 38 00 00 02 */ li r0, 2
/* 8048FD90 48 00 00 20 */ b lbl_8048FDB0
lbl_8048FD94:
/* 8048FD94 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8048FD98 41 82 00 0C */ beq lbl_8048FDA4
/* 8048FD9C 38 00 00 05 */ li r0, 5
/* 8048FDA0 48 00 00 10 */ b lbl_8048FDB0
lbl_8048FDA4:
/* 8048FDA4 38 00 00 03 */ li r0, 3
/* 8048FDA8 48 00 00 08 */ b lbl_8048FDB0
lbl_8048FDAC:
/* 8048FDAC 38 00 00 04 */ li r0, 4
lbl_8048FDB0:
/* 8048FDB0 2C 00 00 01 */ cmpwi r0, 1
/* 8048FDB4 40 82 00 0C */ bne lbl_8048FDC0
/* 8048FDB8 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 8048FDBC C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
lbl_8048FDC0:
/* 8048FDC0 C0 1F 04 EC */ lfs f0, 0x4ec(r31)
/* 8048FDC4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8048FDC8 7C 00 00 26 */ mfcr r0
/* 8048FDCC 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 8048FDD0 41 82 00 2C */ beq lbl_8048FDFC
/* 8048FDD4 C0 3F 04 F0 */ lfs f1, 0x4f0(r31)
/* 8048FDD8 FC 00 08 50 */ fneg f0, f1
/* 8048FDDC C0 41 00 28 */ lfs f2, 0x28(r1)
/* 8048FDE0 FC 00 10 40 */ fcmpo cr0, f0, f2
/* 8048FDE4 7C 00 00 26 */ mfcr r0
/* 8048FDE8 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 8048FDEC 41 82 00 10 */ beq lbl_8048FDFC
/* 8048FDF0 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 8048FDF4 7C 00 00 26 */ mfcr r0
/* 8048FDF8 54 00 0F FE */ srwi r0, r0, 0x1f
lbl_8048FDFC:
/* 8048FDFC 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 8048FE00 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8048FE04 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8048FE08 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8048FE0C 7C 08 03 A6 */ mtlr r0
/* 8048FE10 38 21 00 40 */ addi r1, r1, 0x40
/* 8048FE14 4E 80 00 20 */ blr
+1 -1
View File
@@ -2958,7 +2958,7 @@ public:
/* 80140984 */ void statusWindowDraw();
/* 80140AC8 */ void resetStatusWindow();
/* 8018280C */ fopAc_ac_c* getChainGrabActor() { return field_0x2844.getActor(); }
/* 80182814 */ BOOL checkCokkoGlide() const { return mProcID == PROC_AUTO_JUMP && mProcVar2.field_0x300c != 0; }
/* 80182814 */ bool checkCokkoGlide() const { return mProcID == PROC_AUTO_JUMP && mProcVar2.field_0x300c != 0; }
/* 8018283C */ BOOL checkCameraLargeDamage() const { return mProcID == PROC_LARGE_DAMAGE || mProcID == PROC_LARGE_DAMAGE_WALL || mProcID == PROC_LARGE_DAMAGE_UP || mProcID == PROC_WOLF_LARGE_DAMAGE_UP; }
/* 80182870 */ const cXyz& getHsSubChainTopPos() const { return mIronBallBgChkPos; }
/* 80182888 */ BOOL checkCutHeadProc() const { return mProcID == PROC_CUT_HEAD; }
+5
View File
@@ -897,6 +897,11 @@ public:
bool checkWolfEnemyHangBiteOwn(fopAc_ac_c* i_actorP) const { return checkWolfEnemyBiteAllOwn(i_actorP); }
bool checkWolfEnemyLeftThrow() const { return checkNoResetFlg2(FLG2_WOLF_ENEMY_LEFT_THROW); }
void onWolfLightDropGet() {
onEndResetFlg0(ERFLG0_UNK_20000000);
onNoResetFlg3(FLG3_UNK_200000);
}
static daMidna_c* m_midnaActor;
};
+4
View File
@@ -1927,6 +1927,10 @@ inline u8 dComIfGs_getPlayerFieldLastStayRegionNo() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().getRegionNo();
}
inline void dComIfGs_setLightDropNum(u8 i_level, u8 i_num) {
g_dComIfG_gameInfo.info.getPlayer().getLightDrop().setLightDropNum(i_level, i_num);
}
void dComIfGp_setSelectItem(int index);
s32 dComIfGp_offHeapLockFlag(int flag);
void dComIfGp_createSubExpHeap2D();
+2
View File
@@ -383,6 +383,8 @@ public:
void setFlag(u32 i_flag) { mEventFlags |= i_flag; }
void clrFlag(u32 i_flag) { mEventFlags &= ~i_flag; }
bool CheckFlag(u32 i_flag) { return mEventFlags & i_flag; }
void ResetView() { setView(0.0f, 0.0f, 608.0f, 448.0f); }
void clearInfo(dCamInfo_c* i_info, s16 param_1) {
+4
View File
@@ -74,6 +74,10 @@ public:
setPosition(i_tboxNo, 0, i_pos, -1);
}
static void setLightDropPostion(int i_tboxNo, const Vec* i_pos) {
setPosition(i_tboxNo, 4, i_pos, -1);
}
static u8 const typeToTypeGroup[17][2];
static type_group_list mTypeGroupListAll[17];
static typeGroupData_c* mTypeGroupData;
+1 -2
View File
@@ -72,8 +72,7 @@ public:
class dPa_followEcallBack : public dPa_levelEcallBack {
public:
/* 80049580 */ dPa_followEcallBack(u8, u8);
/* 80D22230 */ void __defctor(); // compiler generated
/* 80049580 */ dPa_followEcallBack(u8 param_0 = 0, u8 param_1 = 0);
/* 80050200 */ virtual ~dPa_followEcallBack();
/* 800495BC */ virtual void execute(JPABaseEmitter*);
+1
View File
@@ -131,6 +131,7 @@ public:
void setFriendFlag(u8 i_flag) { mFriendFlag |= i_flag; }
u8 getFriendFlag() { return mFriendFlag; }
u8 getSwitchBit() { return mSwitchBit; }
private:
/* 0x5AC */ request_of_phase_process_class mPhase;
+4 -2
View File
@@ -77,9 +77,11 @@ public:
/* 80820DD0 */ void create();
int getMaxLockAttack() { return 6; }
u8 getSwitchBit() { return mSwitchBit; }
private:
/* 0x5AC */ u8 field_0x5ac[0x1524 - 0x5ac];
/* 0x5AC */ u8 field_0x5ac[0x6C0 - 0x5ac];
/* 0x6C0 */ u8 mSwitchBit;
/* 0x6C1 */ u8 field_0x6c1[0x1524 - 0x6C1];
};
STATIC_ASSERT(sizeof(daE_YMB_c) == 0x1524);
+70 -16
View File
@@ -2,6 +2,9 @@
#define D_A_OBJ_DROP_H
#include "f_op/f_op_actor_mng.h"
#include "d/particle/d_particle.h"
#include "d/cc/d_cc_d.h"
#include "d/bg/d_bg_s_acch.h"
/**
* @ingroup actors-objects
@@ -13,29 +16,80 @@
*/
class daObjDrop_c : public fopAc_ac_c {
public:
/* 80BDFD8C */ void Create();
/* 80BDFE58 */ void create();
enum MODE_e {
MODE_INIT_e,
MODE_PARENT_WAIT_e,
MODE_NO_PARENT_e,
MODE_WAIT_e,
};
enum DEMOMODE_e {
DEMOMODE_COMPLETE_WAIT_e,
DEMOMODE_ORDER_COMPLETE_DEMO_e,
DEMOMODE_COMPLETE_DEMO_e,
DEMOMODE_WAIT_COMPLETE_GET_DEMO_e,
DEMOMODE_COMPLETE_GET_DEMO_e,
};
/* 80BDFD8C */ int Create();
/* 80BDFE58 */ int create();
/* 80BE0358 */ void dropGet();
/* 80BE0430 */ void checkGetArea();
/* 80BE0430 */ BOOL checkGetArea();
/* 80BE05DC */ void checkCompleteDemo();
/* 80BE0658 */ void createLineEffect();
/* 80BE071C */ void removeLineEffect();
/* 80BE077C */ void createBodyEffect();
/* 80BE0840 */ void removeBodyEffect();
/* 80BE08A0 */ void modeInit();
/* 80BE0994 */ void modeNoParent();
/* 80BE09F4 */ void modeParentWait();
/* 80BE0C08 */ void modeWait();
/* 80BE1928 */ bool actionCompleteWait();
/* 80BE1930 */ void actionOrderCompleteDemo();
/* 80BE19D0 */ void actionCompleateDemo();
/* 80BE1ACC */ void actionWaitCompleteGetDemo();
/* 80BE1B5C */ void actionCompleteGetDemo();
/* 80BE1BC4 */ void execute();
/* 80BE1DCC */ void _delete();
/* 80BE08A0 */ int modeInit();
/* 80BE0994 */ int modeNoParent();
/* 80BE09F4 */ int modeParentWait();
/* 80BE0C08 */ int modeWait();
/* 80BE1928 */ int actionCompleteWait();
/* 80BE1930 */ int actionOrderCompleteDemo();
/* 80BE19D0 */ int actionCompleateDemo();
/* 80BE1ACC */ int actionWaitCompleteGetDemo();
/* 80BE1B5C */ int actionCompleteGetDemo();
/* 80BE1BC4 */ int execute();
/* 80BE1DCC */ int _delete();
private:
/* 0x568 */ u8 field_0x568[0xa7c - 0x568];
u8 getYmSwbit() { return fopAcM_GetParamBit(this, 8, 8); }
u8 getSave() { return fopAcM_GetParamBit(this, 0, 6); }
void setDemoMode(u8 i_mode) { mDemoMode = i_mode; }
void setMode(u8 i_mode) { mMode = i_mode; }
u8 chkDemoMode() { return mDemoMode; }
/* 0x568 */ cXyz mLinePos[3];
/* 0x58C */ cXyz mLineMovePos[3];
/* 0x5B0 */ csXyz mTargetAngle[3];
/* 0x5C2 */ s16 mTargetRelAngle[3];
/* 0x5C8 */ u8 mLineIsCross[3];
/* 0x5CC */ JPABaseEmitter* mpLineEffEmtrs[3];
/* 0x5D8 */ dPa_followEcallBack mLineEffCallbacks[3];
/* 0x614 */ JPABaseEmitter* mpBodyEffEmtrs[6];
/* 0x62C */ dPa_followEcallBack mBodyEffCallbacks[6];
/* 0x6A4 */ int mCounter;
/* 0x6A8 */ fpc_ProcID mPtI_Id;
/* 0x6AC */ u32 field_0x6ac;
/* 0x6B0 */ u8 mMode;
/* 0x6B1 */ s8 mModeTimer;
/* 0x6B2 */ u8 mModeAction;
/* 0x6B3 */ u8 field_0x6B3[0x6B5 - 0x6B3];
/* 0x6B5 */ u8 mDeleteTimer;
/* 0x6B6 */ u8 mDrawInTimer;
/* 0x6B7 */ u8 field_0x6b7;
/* 0x6B8 */ u8 mAppear;
/* 0x6B9 */ u8 mSetCollectDrop;
/* 0x6BA */ u8 mDemoMode;
/* 0x6BB */ u8 mFadeoutTimer;
/* 0x6BC */ u8 field_0x6bc;
/* 0x6C0 */ Z2SoundObjSimple mSound;
/* 0x6E0 */ dBgS_AcchCir mAcchCir;
/* 0x720 */ dBgS_ObjAcch mAcch;
/* 0x8F8 */ dCcD_Stts mCcStts;
/* 0x934 */ dCcD_Sph mCcSph;
/* 0xA6C */ cXyz mTargetPos;
/* 0xA78 */ u8 field_0xa78[0xA7C - 0xA78];
};
STATIC_ASSERT(sizeof(daObjDrop_c) == 0xa7c);
@@ -4,6 +4,7 @@
#include "d/com/d_com_inf_game.h"
#include "m_Do/m_Do_hostIO.h"
#include "f_op/f_op_actor_mng.h"
#include "d/cc/d_cc_d.h"
/**
* @ingroup actors-objects
@@ -16,49 +17,40 @@
class daFireWood_c : public fopAc_ac_c {
public:
/* 80BE76B0 */ void setBaseMtx();
/* 80BE7708 */ void create();
/* 80BE7708 */ int create();
/* 80BE79A0 */ void lightInit();
/* 80BE7A14 */ void setLight();
/* 80BE7A38 */ void Execute();
/* 80BE7E74 */ bool Draw();
/* 80BE7E7C */ void Delete();
/* 80BE7A38 */ int Execute();
/* 80BE7E74 */ int Draw();
/* 80BE7E7C */ int Delete();
static u8 const mCcDObjInfo[48];
static u8 mCcDCyl[68];
static const dCcD_SrcGObjInf mCcDObjInfo;
static dCcD_SrcCyl mCcDCyl;
private:
/* 0x568 */ u8 field_0x568[0x574 - 0x568];
/* 0x574 */ dCcD_Stts mStts;
/* 0x5B0 */ dCcD_Cyl mCyl;
/* 0x6EC */ cXyz field_0x6ec;
/* 0x6F8 */ u8 field_0x6f8;
/* 0x6F9 */ u8 field_0x6f9;
/* 0x6FC */ u32 field_0x6fc[4];
/* 0x70C */ u8 field_0x70c;
/* 0x710 */ cXyz field_0x710;
/* 0x574 */ dCcD_Stts mCcStts;
/* 0x5B0 */ dCcD_Cyl mCcCyl;
/* 0x6EC */ cXyz mFlamePos;
/* 0x6F8 */ u8 mIsSwitch;
/* 0x6F9 */ u8 mIsLit;
/* 0x6FC */ u32 mFlameEmtrIDs[4];
/* 0x70C */ u8 mFlameType;
/* 0x710 */ cXyz mLightPos;
/* 0x71C */ LIGHT_INFLUENCE mLightInfluence;
/* 0x73C */ u8 field_0x73c;
/* 0x73C */ u8 mSwWaitTime;
};
STATIC_ASSERT(sizeof(daFireWood_c) == 0x740);
#ifdef NONMATCHING
class daFireWood_HIO_c : public mDoHIO_entry_c {
public:
/* 80BE762C */ daFireWood_HIO_c();
/* 80BE7F24 */ virtual ~daFireWood_HIO_c();
/* 80BE7F24 */ virtual ~daFireWood_HIO_c() {}
/* 0x4 */ f32 field_0x4;
/* 0x8 */ f32 field_0x8;
/* 0xC */ u8 field_0xc;
/* 0x4 */ f32 mFlameOffsetY;
/* 0x8 */ f32 mCollisionRadius;
/* 0xC */ u8 mWaitTime;
};
#else
struct daFireWood_HIO_c {
/* 80BE762C */ daFireWood_HIO_c();
/* 80BE7F24 */ ~daFireWood_HIO_c();
};
#endif
#endif /* D_A_OBJ_FIREWOOD_H */
@@ -7,7 +7,7 @@
/**
* @ingroup actors-objects
* @class daObjTrnd_c
* @brief Tornado
* @brief Wind Column
*
* @details
*
@@ -27,17 +27,17 @@ public:
/* 80D1C298 */ int _delete();
u32 checkSE() { return fopAcM_GetParamBit(this, 8, 1); }
u32 getTimer() { return fopAcM_GetParamBit(this, 0, 8); }
u32 getSwbit() { return fopAcM_GetParamBit(this, 0x18, 8); }
u8 getTimer() { return fopAcM_GetParamBit(this, 0, 8); }
u8 getSwbit() { return fopAcM_GetParamBit(this, 0x18, 8); }
private:
/* 0x568 */ dCcD_Stts mStts;
/* 0x5A4 */ dCcD_Cps mCps;
/* 0x6E8 */ cM3dGCpsS field_0x6e8;
/* 0x704 */ f32 field_0x704;
/* 0x708 */ Mtx field_0x708;
/* 0x738 */ s16 field_0x738;
/* 0x73C */ f32 field_0x73c;
/* 0x6E8 */ cM3dGCpsS mWindCps;
/* 0x704 */ f32 mNowLength;
/* 0x708 */ Mtx mMtx;
/* 0x738 */ s16 mTimer;
/* 0x73C */ f32 mTargetLength;
/* 0x740 */ WIND_INFLUENCE mWindInfluence;
/* 0x76C */ f32 mWindPower;
};
@@ -7,7 +7,7 @@
/**
* @ingroup actors-objects
* @class daObjTrnd2_c
* @brief Tornado 2
* @brief Strong Wind Column
*
* @details
*
@@ -30,9 +30,9 @@ public:
/* 80D1D2E0 */ int draw();
/* 80D1D2E8 */ int _delete();
f32 getTargetLength() { return field_0x738; }
f32 getNowLength() { return field_0x704; }
Vec& getWindEndPos() { return field_0x6e8.mEnd; }
f32 getTargetLength() { return mTargetLength; }
f32 getNowLength() { return mNowLength; }
Vec& getWindEndPos() { return mWindCps.mEnd; }
u32 getPower() { return fopAcM_GetParamBit(this, 8, 8); }
u32 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); }
u32 getSwType() { return fopAcM_GetParamBit(this, 16, 4); }
@@ -42,16 +42,16 @@ public:
/* 0x568 */ dCcD_Stts mStts;
/* 0x5A4 */ dCcD_Cps mCps;
/* 0x6E8 */ cM3dGCpsS field_0x6e8;
/* 0x704 */ f32 field_0x704;
/* 0x708 */ Mtx field_0x708;
/* 0x738 */ f32 field_0x738;
/* 0x6E8 */ cM3dGCpsS mWindCps;
/* 0x704 */ f32 mNowLength;
/* 0x708 */ Mtx mMtx;
/* 0x738 */ f32 mTargetLength;
/* 0x73C */ WIND_INFLUENCE mWindInfluence;
/* 0x768 */ f32 field_0x768;
/* 0x76C */ f32 field_0x76c;
/* 0x768 */ f32 mDefaultRadius;
/* 0x76C */ f32 mDefaultLength;
/* 0x770 */ int mTimer;
/* 0x774 */ f32 mWindPower;
/* 0x778 */ bool field_0x778;
/* 0x778 */ bool mColumnOn;
/* 0x778 */ JPABaseEmitter* mParticles[3];
};
@@ -1,6 +1,26 @@
#ifndef D_A_TAG_CAMERA_H
#define D_A_TAG_CAMERA_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class daTag_Cam_c : public fopAc_ac_c {
public:
/* 80489F14 */ u8 getSwType();
/* 80489F20 */ u8 getPrio();
/* 80489F2C */ u8 getSwBit();
/* 80489F38 */ u8 getCondition();
/* 80489F44 */ u8 getCameraId();
/* 80489F50 */ u8 getRailID();
/* 80489F5C */ u16 getAreaType();
/* 80489F68 */ u16 getAreaNoChk();
/* 80489F74 */ int execute();
inline int create();
/* 0x568 */ u8 field_0x568[0x570 - 0x568];
/* 0x570 */ bool (*mCheckFunc)();
/* 0x574 */ cXyz mBoundsLo;
/* 0x580 */ cXyz mBoundsHi;
};
#endif /* D_A_TAG_CAMERA_H */
+49 -1
View File
@@ -1,6 +1,54 @@
#ifndef D_A_TAG_MSG_H
#define D_A_TAG_MSG_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "d/msg/d_msg_flow.h"
class daTag_Msg_HIO_Param_c {
public:
/* 0x0 */ u8 mDebugAdjustON;
};
class daTag_Msg_Param_c {
public:
/* 80490128 */ virtual ~daTag_Msg_Param_c() {}
static const daTag_Msg_HIO_Param_c m;
};
class daTag_Msg_c : public fopAc_ac_c {
public:
/* 8048F7F8 */ virtual ~daTag_Msg_c();
/* 8048F878 */ int create();
/* 8048F954 */ int createHeap();
/* 8048F9B4 */ int destroy();
/* 8048F9E8 */ int execute();
/* 8048FC68 */ int draw();
/* 8048FC70 */ BOOL rangeCheck();
/* 8048FE18 */ BOOL otherCheck();
/* 8048FF8C */ char* getResName();
/* 8048FF9C */ void getParam();
/* 8049004C */ BOOL cut_speak(int, BOOL);
static char* mEvtCutTBL[2];
/* 0x56C */ char mStaffName[8];
/* 0x574 */ request_of_phase_process_class mPhase;
/* 0x57C */ int mFlowID;
/* 0x580 */ dMsgFlow_c mMsgFlow;
/* 0x5CC */ int mOrderEvtNum;
/* 0x5D0 */ s16 mEventIdx;
/* 0x5D2 */ u8 field_0x5D2[0x5D8 - 0x5D2];
/* 0x5D8 */ daTag_Msg_Param_c* mParam;
/* 0x5DC */ u8 field_0x5dc;
/* 0x5DD */ u8 field_0x5dd;
/* 0x5DE */ u8 mOnSwitch;
/* 0x5DF */ u8 mOffSwitch;
/* 0x5E0 */ u16 mOnSaveLabel;
/* 0x5E2 */ u16 mOffSaveLabel;
/* 0x5E4 */ u8 field_0x5e4;
};
STATIC_ASSERT(sizeof(daTag_Msg_c) == 0x5E8);
#endif /* D_A_TAG_MSG_H */
+54 -15
View File
@@ -150,6 +150,7 @@ extern "C" extern u8 struct_80BE2238[4];
//
/* 80BDFCD8-80BDFD8C 000078 00B4+00 2/2 0/0 0/0 .text searchParentSub__FPvPv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -191,10 +192,11 @@ SECTION_RODATA static f32 const lit_3825 = 50.0f;
COMPILER_STRIP_GATE(0x80BE1FD8, &lit_3825);
/* 80BDFD8C-80BDFE58 00012C 00CC+00 1/1 0/0 0/0 .text Create__11daObjDrop_cFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjDrop_c::Create() {
asm int daObjDrop_c::Create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop/Create__11daObjDrop_cFv.s"
}
@@ -424,16 +426,18 @@ SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = {
};
/* 80BDFE58-80BE005C 0001F8 0204+00 1/1 0/0 0/0 .text create__11daObjDrop_cFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjDrop_c::create() {
asm int daObjDrop_c::create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop/func_80BDFE58.s"
}
#pragma pop
/* 80BE005C-80BE00A4 0003FC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -445,6 +449,7 @@ extern "C" asm void __dt__8cM3dGSphFv() {
#pragma pop
/* 80BE00A4-80BE00EC 000444 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -456,6 +461,7 @@ extern "C" asm void __dt__8cM3dGAabFv() {
#pragma pop
/* 80BE00EC-80BE0148 00048C 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -467,6 +473,7 @@ extern "C" asm void __dt__10dCcD_GSttsFv() {
#pragma pop
/* 80BE0148-80BE01B8 0004E8 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -478,6 +485,7 @@ extern "C" asm void __dt__12dBgS_ObjAcchFv() {
#pragma pop
/* 80BE01B8-80BE0228 000558 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -489,6 +497,7 @@ extern "C" asm void __dt__12dBgS_AcchCirFv() {
#pragma pop
/* 80BE0228-80BE02AC 0005C8 0084+00 1/1 0/0 0/0 .text __dt__19dPa_followEcallBackFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -507,6 +516,7 @@ extern "C" asm void cleanup__18dPa_levelEcallBackFv() {
/* 80BE02B0-80BE02D8 000650 0028+00 1/1 0/0 0/0 .text __defctor__19dPa_followEcallBackFv
*/
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -518,6 +528,7 @@ extern "C" asm void __defctor__19dPa_followEcallBackFv() {
#pragma pop
/* 80BE02D8-80BE0314 000678 003C+00 1/1 0/0 0/0 .text __dt__5csXyzFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -535,6 +546,7 @@ extern "C" asm void __ct__5csXyzFv() {
}
/* 80BE0318-80BE0354 0006B8 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -552,6 +564,7 @@ extern "C" asm void __ct__4cXyzFv() {
}
/* 80BE0358-80BE0430 0006F8 00D8+00 2/2 0/0 0/0 .text dropGet__11daObjDrop_cFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -630,7 +643,7 @@ SECTION_DEAD static char const* const stringBase_80BE2048 = "F_SP112";
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjDrop_c::checkGetArea() {
asm BOOL daObjDrop_c::checkGetArea() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop/checkGetArea__11daObjDrop_cFv.s"
}
@@ -638,6 +651,7 @@ asm void daObjDrop_c::checkGetArea() {
/* 80BE05DC-80BE0658 00097C 007C+00 1/1 0/0 0/0 .text checkCompleteDemo__11daObjDrop_cFv
*/
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -654,6 +668,7 @@ COMPILER_STRIP_GATE(0x80BE2004, &lit_4119);
/* 80BE0658-80BE071C 0009F8 00C4+00 1/1 0/0 0/0 .text createLineEffect__11daObjDrop_cFv
*/
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -665,6 +680,7 @@ asm void daObjDrop_c::createLineEffect() {
/* 80BE071C-80BE077C 000ABC 0060+00 2/2 0/0 0/0 .text removeLineEffect__11daObjDrop_cFv
*/
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -676,6 +692,7 @@ asm void daObjDrop_c::removeLineEffect() {
/* 80BE077C-80BE0840 000B1C 00C4+00 2/2 0/0 0/0 .text createBodyEffect__11daObjDrop_cFv
*/
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -687,6 +704,7 @@ asm void daObjDrop_c::createBodyEffect() {
/* 80BE0840-80BE08A0 000BE0 0060+00 2/2 0/0 0/0 .text removeBodyEffect__11daObjDrop_cFv
*/
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -702,20 +720,22 @@ SECTION_RODATA static f32 const lit_4183 = 75.0f;
COMPILER_STRIP_GATE(0x80BE2008, &lit_4183);
/* 80BE08A0-80BE0994 000C40 00F4+00 2/1 0/0 0/0 .text modeInit__11daObjDrop_cFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjDrop_c::modeInit() {
asm int daObjDrop_c::modeInit() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop/modeInit__11daObjDrop_cFv.s"
}
#pragma pop
/* 80BE0994-80BE09F4 000D34 0060+00 1/0 0/0 0/0 .text modeNoParent__11daObjDrop_cFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjDrop_c::modeNoParent() {
asm int daObjDrop_c::modeNoParent() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop/modeNoParent__11daObjDrop_cFv.s"
}
@@ -730,10 +750,11 @@ COMPILER_STRIP_GATE(0x80BE200C, &lit_4252);
#pragma pop
/* 80BE09F4-80BE0C08 000D94 0214+00 1/0 0/0 0/0 .text modeParentWait__11daObjDrop_cFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjDrop_c::modeParentWait() {
asm int daObjDrop_c::modeParentWait() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop/modeParentWait__11daObjDrop_cFv.s"
}
@@ -803,6 +824,7 @@ COMPILER_STRIP_GATE(0x80BE202C, &lit_4725);
#pragma pop
/* 80BE2030-80BE2034 0000A8 0004+00 0/1 0/0 0/0 .rodata @4726 */
// matches with literals/weaks
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4726 = 60.0f;
@@ -838,16 +860,18 @@ COMPILER_STRIP_GATE(0x80BE2040, &lit_4730);
#pragma pop
/* 80BE0C08-80BE18E0 000FA8 0CD8+00 1/0 0/0 0/0 .text modeWait__11daObjDrop_cFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjDrop_c::modeWait() {
asm int daObjDrop_c::modeWait() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop/modeWait__11daObjDrop_cFv.s"
}
#pragma pop
/* 80BE18E0-80BE1928 001C80 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGLinFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -860,15 +884,16 @@ extern "C" asm void __dt__8cM3dGLinFv() {
/* 80BE1928-80BE1930 001CC8 0008+00 1/0 0/0 0/0 .text actionCompleteWait__11daObjDrop_cFv
*/
bool daObjDrop_c::actionCompleteWait() {
return true;
int daObjDrop_c::actionCompleteWait() {
return 1;
}
/* 80BE1930-80BE19D0 001CD0 00A0+00 1/0 0/0 0/0 .text actionOrderCompleteDemo__11daObjDrop_cFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjDrop_c::actionOrderCompleteDemo() {
asm int daObjDrop_c::actionOrderCompleteDemo() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop/actionOrderCompleteDemo__11daObjDrop_cFv.s"
}
@@ -880,10 +905,11 @@ SECTION_RODATA static f32 const lit_4787 = 1.0f / 30.0f;
COMPILER_STRIP_GATE(0x80BE2044, &lit_4787);
/* 80BE19D0-80BE1ACC 001D70 00FC+00 1/0 0/0 0/0 .text actionCompleateDemo__11daObjDrop_cFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjDrop_c::actionCompleateDemo() {
asm int daObjDrop_c::actionCompleateDemo() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop/actionCompleateDemo__11daObjDrop_cFv.s"
}
@@ -891,10 +917,11 @@ asm void daObjDrop_c::actionCompleateDemo() {
/* 80BE1ACC-80BE1B5C 001E6C 0090+00 1/0 0/0 0/0 .text actionWaitCompleteGetDemo__11daObjDrop_cFv
*/
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjDrop_c::actionWaitCompleteGetDemo() {
asm int daObjDrop_c::actionWaitCompleteGetDemo() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop/actionWaitCompleteGetDemo__11daObjDrop_cFv.s"
}
@@ -908,30 +935,33 @@ SECTION_DEAD static char const* const stringBase_80BE2050 = "DEFAULT_GETITEM";
#pragma pop
/* 80BE1B5C-80BE1BC4 001EFC 0068+00 1/0 0/0 0/0 .text actionCompleteGetDemo__11daObjDrop_cFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjDrop_c::actionCompleteGetDemo() {
asm int daObjDrop_c::actionCompleteGetDemo() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop/actionCompleteGetDemo__11daObjDrop_cFv.s"
}
#pragma pop
/* 80BE1BC4-80BE1DCC 001F64 0208+00 1/1 0/0 0/0 .text execute__11daObjDrop_cFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjDrop_c::execute() {
asm int daObjDrop_c::execute() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop/execute__11daObjDrop_cFv.s"
}
#pragma pop
/* 80BE1DCC-80BE1E0C 00216C 0040+00 1/1 0/0 0/0 .text _delete__11daObjDrop_cFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjDrop_c::_delete() {
asm int daObjDrop_c::_delete() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_drop/d_a_obj_drop/_delete__11daObjDrop_cFv.s"
}
@@ -939,6 +969,7 @@ asm void daObjDrop_c::_delete() {
/* 80BE1E0C-80BE1E2C 0021AC 0020+00 1/0 0/0 0/0 .text daObjDrop_Execute__FP11daObjDrop_c
*/
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -950,6 +981,7 @@ static asm void daObjDrop_Execute(daObjDrop_c* param_0) {
/* 80BE1E2C-80BE1E4C 0021CC 0020+00 1/0 0/0 0/0 .text daObjDrop_Delete__FP11daObjDrop_c
*/
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -960,6 +992,7 @@ static asm void daObjDrop_Delete(daObjDrop_c* param_0) {
#pragma pop
/* 80BE1E4C-80BE1E6C 0021EC 0020+00 1/0 0/0 0/0 .text daObjDrop_Create__FP10fopAc_ac_c */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -970,6 +1003,7 @@ static asm void daObjDrop_Create(fopAc_ac_c* param_0) {
#pragma pop
/* 80BE1E6C-80BE1EE0 00220C 0074+00 1/0 0/0 0/0 .text __dt__18dPa_levelEcallBackFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1009,6 +1043,7 @@ extern "C" asm void drawAfter__18JPAEmitterCallBackFP14JPABaseEmitter() {
}
/* 80BE1EF0-80BE1F38 002290 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1020,6 +1055,7 @@ extern "C" asm void __dt__10cCcD_GSttsFv() {
#pragma pop
/* 80BE1F38-80BE1F54 0022D8 001C+00 2/2 0/0 0/0 .text cLib_calcTimer<Uc>__FPUc */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1030,6 +1066,7 @@ extern "C" asm void func_80BE1F38(void* _this, u8* param_0) {
#pragma pop
/* 80BE1F54-80BE1F70 0022F4 001C+00 1/1 0/0 0/0 .text cLib_calcTimer<Sc>__FPSc */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1040,6 +1077,7 @@ extern "C" asm void func_80BE1F54(void* _this, s8* param_0) {
#pragma pop
/* 80BE1F70-80BE1F78 002310 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1050,6 +1088,7 @@ static asm void func_80BE1F70() {
#pragma pop
/* 80BE1F78-80BE1F80 002318 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */
// matches with literals/weaks
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -0,0 +1,649 @@
/**
* @file d_a_obj_drop.cpp
*
*/
#include "rel/d/a/obj/d_a_obj_drop/d_a_obj_drop.h"
#include "SSystem/SComponent/c_math.h"
#include "cmath.h"
#include "d/a/d_a_player.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_camera.h"
#include "d/d_item.h"
#include "d/d_tresure.h"
#include "d/s/d_s_play.h"
#include "m_Do/m_Do_graphic.h"
#include "rel/d/a/e/d_a_e_ym/d_a_e_ym.h"
#include "rel/d/a/e/d_a_e_ymb/d_a_e_ymb.h"
/* 80BDFCD8-80BDFD8C 000078 00B4+00 2/2 0/0 0/0 .text searchParentSub__FPvPv */
static void* searchParentSub(void* pproc, void* pdata) {
daObjDrop_c* pdrop = (daObjDrop_c*)pdata;
fopAc_ac_c* pym = (fopAc_ac_c*)pproc;
if (pym != NULL && fopAcM_IsActor(pym)) {
if (fopAcM_GetProfName(pym) == PROC_E_YM) {
u8 swbit = ((daE_YM_c*)pym)->getSwitchBit();
if (swbit != 0xFF && swbit == pdrop->getYmSwbit()) {
pdrop->field_0x6b7 = 1;
return pym;
}
} else if (fopAcM_GetProfName(pym) == PROC_E_YMB) {
u8 swbit = ((daE_YMB_c*)pym)->getSwitchBit();
if (swbit != 0xFF && swbit == pdrop->getYmSwbit()) {
pdrop->field_0x6b7 = 2;
return pym;
}
}
}
return NULL;
}
/* 80BE1F88-80BE1F94 000000 000C+00 4/4 0/0 0/0 .rodata l_sizuku_body_effect_list */
static const u16 l_sizuku_body_effect_list[6] = {0x838B, 0x838C, 0x838D, 0x838E, 0x838F, 0x842B};
/* 80BE1F94-80BE1F98 00000C 0004+00 0/1 0/0 0/0 .rodata l_sizuku_app_effect_list */
static const u16 l_sizuku_app_effect_list[] = {0x8388, 0x8389};
/* 80BE1F98-80BE1FD8 000010 0040+00 1/1 0/0 0/0 .rodata l_sph_src */
const static dCcD_SrcSph l_sph_src = {
{
{0x0, {{AT_TYPE_0, 0x0, 0x0}, {0x0, 0x0}, 0x79}}, // mObj
{dCcD_SE_NONE, 0x1, 0x0, dCcD_MTRL_NONE, 0x0}, // mGObjAt
{dCcD_SE_NONE, 0x0, 0x0, dCcD_MTRL_NONE, 0x6}, // mGObjTg
{0x0}, // mGObjCo
}, // mObjInf
{
{{0.0f, 0.0f, 0.0f}, 30.0f} // mSph
} // mSphAttr
};
/* 80BDFD8C-80BDFE58 00012C 00CC+00 1/1 0/0 0/0 .text Create__11daObjDrop_cFv */
int daObjDrop_c::Create() {
mAcchCir.SetWall(50.0f, 50.0f);
mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir,
fopAcM_GetSpeed_p(this), NULL, NULL);
mCcStts.Init(0, 0xFF, this);
mCcSph.Set(l_sph_src);
mCcSph.SetStts(&mCcStts);
mTargetPos = current.pos;
mSound.init(&current.pos, 2);
return 1;
}
/* 80BE2060-80BE206C 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80BE206C-80BE2080 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
#pragma push
#pragma force_active on
static u32 lit_1787[1 + 4 /* padding */] = {
0x02000201,
/* padding */
0x40080000,
0x00000000,
0x3FE00000,
0x00000000,
};
#pragma pop
/* 80BDFE58-80BE005C 0001F8 0204+00 1/1 0/0 0/0 .text create__11daObjDrop_cFv */
int daObjDrop_c::create() {
fopAcM_SetupActor(this, daObjDrop_c);
if (dComIfGs_isTbox(getSave())) {
return cPhs_ERROR_e;
}
modeInit();
if (!Create()) {
return cPhs_ERROR_e;
}
OS_REPORT("DROP PARAM %x\n", fopAcM_GetParam(this));
return cPhs_COMPLEATE_e;
}
/* 80BE0358-80BE0430 0006F8 00D8+00 2/2 0/0 0/0 .text dropGet__11daObjDrop_cFv */
void daObjDrop_c::dropGet() {
if (mSetCollectDrop) {
dComIfGs_onTbox(getSave());
u8 num = dComIfGs_getLightDropNum(dComIfGp_getStartStageDarkArea());
dComIfGs_setLightDropNum(dComIfGp_getStartStageDarkArea(), num + 1);
if (dComIfGp_getStartStageDarkArea() == 2 &&
dComIfGs_getLightDropNum(dComIfGp_getStartStageDarkArea()) == 15)
{
dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[9]);
}
u8 need_num = dComIfGp_getNeedLightDropNum();
s8 area = dComIfGp_getStartStageDarkArea();
// "Drop of Light No%d<%d/%d> Get Area<%d>!\n"
OS_REPORT("光の雫No%d<%d/%d>ゲットArea<%d>\n", getSave(), num + 1, need_num, area);
execItemGet(HEART);
mSetCollectDrop = false;
}
}
static f32 dummy() {
f32 temp = -4.0f;
return temp;
}
/* 80BE0430-80BE05DC 0007D0 01AC+00 1/1 0/0 0/0 .text checkGetArea__11daObjDrop_cFv */
BOOL daObjDrop_c::checkGetArea() {
f32 dist_to_player = current.pos.abs(daPy_getPlayerActorClass()->current.pos);
if ((daPy_getPlayerActorClass()->checkCargoCarry() &&
strcmp(dComIfGp_getStartStageName(), "F_SP112") == 0) ||
(dist_to_player < 250.0f && dComIfGs_isLightDropGetFlag(dComIfGp_getStartStageDarkArea())))
{
return true;
}
return false;
}
/* 80BE05DC-80BE0658 00097C 007C+00 1/1 0/0 0/0 .text checkCompleteDemo__11daObjDrop_cFv
*/
void daObjDrop_c::checkCompleteDemo() {
u8 need_num = dComIfGp_getNeedLightDropNum();
u8 num = dComIfGs_getLightDropNum(dComIfGp_getStartStageDarkArea());
if (need_num - 1 == num) {
field_0x6ac = fpcM_ERROR_PROCESS_ID_e;
setDemoMode(DEMOMODE_ORDER_COMPLETE_DEMO_e);
} else {
mSetCollectDrop = true;
dropGet();
}
}
/* 80BE0658-80BE071C 0009F8 00C4+00 1/1 0/0 0/0 .text createLineEffect__11daObjDrop_cFv
*/
void daObjDrop_c::createLineEffect() {
for (int i = 0; i < 3; i++) {
mpLineEffEmtrs[i] = dComIfGp_particle_set(0x838A, &mLinePos[i], NULL, &scale, 0xFF,
&mLineEffCallbacks[i], -1, NULL, NULL, NULL);
if (mpLineEffEmtrs[i] == NULL) {
// "Drop of Light: Line Effect Set Failed!!\n"
OS_REPORT_ERROR("光の雫:光線エフェクトセット失敗!!\n");
}
}
}
/* 80BE071C-80BE077C 000ABC 0060+00 2/2 0/0 0/0 .text removeLineEffect__11daObjDrop_cFv
*/
void daObjDrop_c::removeLineEffect() {
for (int i = 0; i < 3; i++) {
mLineEffCallbacks[i].remove();
}
}
/* 80BE077C-80BE0840 000B1C 00C4+00 2/2 0/0 0/0 .text createBodyEffect__11daObjDrop_cFv
*/
void daObjDrop_c::createBodyEffect() {
for (int i = 0; i < 6; i++) {
mpBodyEffEmtrs[i] =
dComIfGp_particle_set(l_sizuku_body_effect_list[i], &current.pos, NULL, &scale, 0xFF,
&mBodyEffCallbacks[i], -1, NULL, NULL, NULL);
if (mpBodyEffEmtrs[i] == NULL) {
// "Drop of Light: Effect Set Failed!!!\n"
OS_REPORT_ERROR("光の雫:エフェクトセット失敗!!!\n");
}
}
}
/* 80BE0840-80BE08A0 000BE0 0060+00 2/2 0/0 0/0 .text removeBodyEffect__11daObjDrop_cFv
*/
void daObjDrop_c::removeBodyEffect() {
for (int i = 0; i < 6; i++) {
mBodyEffCallbacks[i].remove();
}
}
/* 80BE08A0-80BE0994 000C40 00F4+00 2/1 0/0 0/0 .text modeInit__11daObjDrop_cFv */
int daObjDrop_c::modeInit() {
u8 ym_swbit = getYmSwbit();
if (ym_swbit == 0xFF || fopAcM_isSwitch(this, ym_swbit)) {
createBodyEffect();
if (ym_swbit != 0xFF) {
field_0x6b7 = 3;
}
home.pos.y = current.pos.y + 75.0f;
mModeAction = 2;
setMode(MODE_WAIT_e);
return 1;
}
mModeAction = 0;
fopAc_ac_c* pparent = (fopAc_ac_c*)fpcM_Search(searchParentSub, this);
if (pparent != NULL) {
parentActorID = fopAcM_GetID(pparent);
setMode(MODE_PARENT_WAIT_e);
return 1;
}
setMode(MODE_NO_PARENT_e);
return 1;
}
/* 80BE0994-80BE09F4 000D34 0060+00 1/0 0/0 0/0 .text modeNoParent__11daObjDrop_cFv */
int daObjDrop_c::modeNoParent() {
fopAc_ac_c* pparent = (fopAc_ac_c*)fpcM_Search(searchParentSub, this);
if (pparent != NULL) {
parentActorID = fopAcM_GetID(pparent);
setMode(MODE_PARENT_WAIT_e);
} else {
#ifdef DEBUG
if (!l_HIO.field_0x17) {
// "Drop of Light: Waiting for Shadow Insect Creation! SW=%d\n"
OS_REPORT("光の雫:闇虫生成待ち!SW=%d\n", getYmSwbit());
l_HIO.field_0x17 = true;
}
#endif
}
return 1;
}
/* 80BE09F4-80BE0C08 000D94 0214+00 1/0 0/0 0/0 .text modeParentWait__11daObjDrop_cFv */
int daObjDrop_c::modeParentWait() {
fopAc_ac_c* pparent = fopAcM_SearchByID(parentActorID);
if (pparent != NULL) {
if (fopAcM_GetProfName(pparent) == PROC_E_YM) {
current.pos = pparent->current.pos;
return 1;
}
if (fopAcM_GetProfName(pparent) == PROC_E_YMB && !mAppear) {
return 1;
}
}
if (daPy_getPlayerActorClass()->checkCargoCarry()) {
mModeAction = 50;
setMode(MODE_WAIT_e);
return 1;
}
switch (mModeAction) {
case 0:
current.angle.set(0, 0, 0);
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
dComIfGp_particle_set(l_sizuku_app_effect_list[j], &current.pos, &current.angle,
&scale);
}
current.angle.y += 0x5555;
}
mModeAction = 1;
mModeTimer = 40;
current.pos.y += 300.0f;
mSound.startSound(Z2SE_OBJ_LIGHTDROP_APPEAR, 0, -1);
break;
case 1:
if (cLib_calcTimer<s8>(&mModeTimer) == 0) {
mModeAction = 2;
}
break;
case 2:
createBodyEffect();
mModeTimer = 45;
mModeAction = 0;
setMode(MODE_WAIT_e);
break;
}
return 1;
}
/* 80BE0C08-80BE18E0 000FA8 0CD8+00 1/0 0/0 0/0 .text modeWait__11daObjDrop_cFv */
int daObjDrop_c::modeWait() {
daPy_py_c* pplayer = daPy_getPlayerActorClass();
cXyz collect_pos(pplayer->current.pos);
cXyz spF0;
mDoMtx_stack_c::copy(pplayer->getWolfBackbone2Matrix());
mDoMtx_stack_c::multVecZero(&collect_pos);
switch (mModeAction) {
case 0:
if (mModeTimer > 0) {
mModeTimer--;
} else {
mTargetPos = home.pos;
speedF = 0.0f;
mModeAction = 1;
}
break;
case 1:
case 2:
case 50:
cLib_chaseF(&speedF, 7.5f, 0.4f);
if (mModeAction == 1) {
cLib_chasePos(&current.pos, mTargetPos, speedF);
}
speed.y = -cM_scos((KREG_S(3) + 1000) * mCounter) * 2.5f;
current.pos.y += speed.y;
if (mTargetPos.abs(current.pos) < 30.0f) {
mModeAction = 2;
}
if (checkGetArea()) {
for (int i = 0; i < 3; i++) {
mLinePos[i] = current.pos;
mLineMovePos[i] = cXyz::Zero;
mTargetAngle[i] = csXyz::Zero;
}
createLineEffect();
mModeAction = 3;
}
break;
case 3:
removeBodyEffect();
static const s16 target_rel_angle[] = {0xC000, 0x0000, 0x4000};
static const s16 target_angle_x[] = {0x0000, 0x2000, 0x0000};
for (int i = 0; i < 3; i++) {
mTargetAngle[i].x = target_angle_x[i];
mTargetRelAngle[i] = target_rel_angle[i];
}
mModeAction = 4;
mDrawInTimer = 60;
mSound.startSound(Z2SE_OBJ_LIGHTDROP_DRAW_IN, 0, -1);
break;
case 4:
mDrawInTimer--;
for (int i = 0; i < 3; i++) {
speedF = 60.0f;
if (daPy_getPlayerActorClass()->checkCargoCarry()) {
speedF = 250.0f;
}
f32 var_f25 = cM_scos(mTargetAngle[i].x) * speedF;
f32 var_f24 = cM_ssin(mTargetAngle[i].x) * speedF;
s16 sp150 = cM_atan2s(collect_pos.x - mLinePos[i].x, collect_pos.z - mLinePos[i].z);
sp150 += mTargetRelAngle[i];
cXyz target;
target.x = var_f25 * cM_ssin(sp150);
target.y = var_f24;
target.z = var_f25 * cM_scos(sp150);
f32 step_scale = KREG_F(10) + 0.5f;
f32 step_max = KREG_F(11) + 5.0f;
f32 step_min = KREG_F(12) + 1.0f;
cLib_addCalc(&mLineMovePos[i].x, target.x, step_scale, step_max, step_min);
cLib_addCalc(&mLineMovePos[i].y, target.y, step_scale, step_max, step_min);
cLib_addCalc(&mLineMovePos[i].z, target.z, step_scale, step_max, step_min);
cLib_addCalcAngleS(&mTargetRelAngle[i], 0, 10, 900, 200);
cXyz prev_line_pos(mLinePos[i]);
mLinePos[i].x += mLineMovePos[i].x;
mLinePos[i].y += mLineMovePos[i].y;
mLinePos[i].z += mLineMovePos[i].z;
cM3dGLin line;
cM3dGSph sph;
line.SetStartEnd(prev_line_pos, mLinePos[i]);
sph.Set(collect_pos, KREG_F(17) + 50.0f);
Vec sp114;
if (cM3d_Cross_LinSph(&line, &sph, &sp114)) {
mLinePos[i] = collect_pos;
mLineIsCross[i] = true;
}
cLib_addCalcAngleS(
&mTargetAngle[i].x,
cM_atan2s(collect_pos.y - mLinePos[i].y, mLinePos[i].absXZ(collect_pos)), 5, 1500,
500);
}
if (mLineIsCross[0] || mLineIsCross[1] || mLineIsCross[2] || mDrawInTimer == 0) {
pplayer->onWolfLightDropGet();
removeLineEffect();
mDeleteTimer = 70;
checkCompleteDemo();
mModeAction = 5;
}
break;
case 5:
if (cLib_calcTimer<u8>(&mDeleteTimer) == 0) {
mModeAction = 6;
if (chkDemoMode() == DEMOMODE_COMPLETE_WAIT_e) {
fopAcM_delete(this);
}
}
break;
case 6:
break;
}
if (mModeAction == 0 || mModeAction == 1 || mModeAction == 2 || mModeAction == 3) {
mSound.startLevelSound(Z2SE_OBJ_LIGHTDROP_FLOAT, 0, -1);
}
if (mModeAction == 2) {
if (mTargetPos.absXZ(current.pos) < (KREG_F(4) + 500.0f) && pplayer->getSpeedF() != 0.0f) {
mCcSph.SetC(current.pos);
dComIfG_Ccsp()->Set(&mCcSph);
}
cXyz* cc_movep = mCcStts.GetCCMoveP();
if (cc_movep != NULL) {
cXyz move_vec;
cXyz sp12C;
if (!cc_movep->isZero()) {
current.angle.y = cM_atan2s(cc_movep->x, cc_movep->z);
speedF = 5.0f;
sp12C = cXyz::Zero;
} else {
f32 var_f26 = KREG_F(2) + 1.0f;
if (current.pos.absXZ(mTargetPos) < 10.0f) {
var_f26 = 0.0f;
speedF = 0.0f;
}
s16 sp154 = cM_atan2s(mTargetPos.x - current.pos.x, mTargetPos.z - current.pos.z);
sp12C.set(cM_ssin(sp154) * var_f26, 0.0f, cM_scos(sp154) * var_f26);
}
move_vec.set(cM_ssin(current.angle.y) * speedF, 0.0f,
cM_scos(current.angle.y) * speedF);
move_vec += sp12C;
speedF = std::sqrt(move_vec.x * move_vec.x + move_vec.z * move_vec.z);
if (speedF > 5.0f) {
speedF = 5.0f;
}
current.pos.x += move_vec.x;
current.pos.z += move_vec.z;
*cc_movep = cXyz::Zero;
}
}
return 1;
}
/* 80BE1928-80BE1930 001CC8 0008+00 1/0 0/0 0/0 .text actionCompleteWait__11daObjDrop_cFv
*/
int daObjDrop_c::actionCompleteWait() {
return 1;
}
/* 80BE1930-80BE19D0 001CD0 00A0+00 1/0 0/0 0/0 .text actionOrderCompleteDemo__11daObjDrop_cFv */
int daObjDrop_c::actionOrderCompleteDemo() {
camera_class* pcamera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0));
if (eventInfo.i_checkCommandDemoAccrpt()) {
pcamera->mCamera.SetTrimTypeForce(1);
setDemoMode(DEMOMODE_COMPLETE_DEMO_e);
mFadeoutTimer = KREG_S(8) + 135;
mSetCollectDrop = true;
dropGet();
} else {
fopAcM_orderPotentialEvent(this, 2, 0, 0);
eventInfo.i_onCondition(dEvtCnd_CANDEMO_e);
}
return 1;
}
/* 80BE19D0-80BE1ACC 001D70 00FC+00 1/0 0/0 0/0 .text actionCompleateDemo__11daObjDrop_cFv */
int daObjDrop_c::actionCompleateDemo() {
camera_class* pcamera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0));
pcamera->mCamera.SetTrimTypeForce(1);
if (eventInfo.i_checkCommandDemoAccrpt()) {
int timer = cLib_calcTimer<u8>(&mFadeoutTimer);
if (timer == 0) {
u8 need_num = dComIfGp_getNeedLightDropNum();
u8 num = dComIfGs_getLightDropNum(dComIfGp_getStartStageDarkArea());
if (need_num == num) {
fopAcM_OnStatus(this, 0x4000);
dComIfGs_onSaveSwitch(13);
}
} else if (timer == 1) {
dComIfGs_onSaveSwitch(13);
}
}
if (mFadeoutTimer == KREG_S(9) + 30) {
mDoGph_gInf_c::fadeOut_f(1.0f / 30.0f, g_saftyWhiteColor);
}
return 1;
}
/* 80BE1ACC-80BE1B5C 001E6C 0090+00 1/0 0/0 0/0 .text actionWaitCompleteGetDemo__11daObjDrop_cFv
*/
int daObjDrop_c::actionWaitCompleteGetDemo() {
if (eventInfo.checkCommandItem()) {
setDemoMode(DEMOMODE_COMPLETE_GET_DEMO_e);
if (mPtI_Id != fpcM_ERROR_PROCESS_ID_e) {
dComIfGp_event_setItemPartnerId(mPtI_Id);
}
dComIfGs_onSaveSwitch(13);
} else {
fopAcM_orderItemEvent(this, 0, 0);
eventInfo.i_onCondition(dEvtCnd_CANGETITEM_e);
}
return 1;
}
/* 80BE1B5C-80BE1BC4 001EFC 0068+00 1/0 0/0 0/0 .text actionCompleteGetDemo__11daObjDrop_cFv */
int daObjDrop_c::actionCompleteGetDemo() {
if (dComIfGp_evmng_endCheck("DEFAULT_GETITEM")) {
dComIfGp_event_reset();
fopAcM_delete(this);
}
return 1;
}
/* 80BE1BC4-80BE1DCC 001F64 0208+00 1/1 0/0 0/0 .text execute__11daObjDrop_cFv */
int daObjDrop_c::execute() {
typedef int (daObjDrop_c::*exeFunc)();
static exeFunc l_exeFunc[] = {
&daObjDrop_c::modeInit,
&daObjDrop_c::modeParentWait,
&daObjDrop_c::modeNoParent,
&daObjDrop_c::modeWait,
};
static exeFunc l_completeDemoFunc[] = {
&daObjDrop_c::actionCompleteWait, &daObjDrop_c::actionOrderCompleteDemo,
&daObjDrop_c::actionCompleateDemo, &daObjDrop_c::actionWaitCompleteGetDemo,
&daObjDrop_c::actionCompleteGetDemo,
};
attention_info.position = current.pos;
eyePos = current.pos;
mCounter++;
(this->*l_exeFunc[mMode])();
(this->*l_completeDemoFunc[mDemoMode])();
mSound.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
dTres_c::setLightDropPostion(getSave(), &current.pos);
return 1;
}
/* 80BE1DCC-80BE1E0C 00216C 0040+00 1/1 0/0 0/0 .text _delete__11daObjDrop_cFv */
int daObjDrop_c::_delete() {
removeLineEffect();
removeBodyEffect();
mSound.deleteObject();
return 1;
}
/* 80BE1E0C-80BE1E2C 0021AC 0020+00 1/0 0/0 0/0 .text daObjDrop_Execute__FP11daObjDrop_c
*/
static int daObjDrop_Execute(daObjDrop_c* i_this) {
return i_this->execute();
}
/* 80BE1E2C-80BE1E4C 0021CC 0020+00 1/0 0/0 0/0 .text daObjDrop_Delete__FP11daObjDrop_c
*/
static int daObjDrop_Delete(daObjDrop_c* i_this) {
return i_this->_delete();
}
/* 80BE1E4C-80BE1E6C 0021EC 0020+00 1/0 0/0 0/0 .text daObjDrop_Create__FP10fopAc_ac_c */
static int daObjDrop_Create(fopAc_ac_c* i_this) {
return ((daObjDrop_c*)i_this)->create();
}
/* 80BE2158-80BE2178 -00001 0020+00 1/0 0/0 0/0 .data l_daObjDrop_Method */
static actor_method_class l_daObjDrop_Method = {
(process_method_func)daObjDrop_Create,
(process_method_func)daObjDrop_Delete,
(process_method_func)daObjDrop_Execute,
(process_method_func)NULL,
(process_method_func)NULL,
};
/* 80BE2178-80BE21A8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Drop */
extern actor_process_profile_definition g_profile_Obj_Drop = {
fpcLy_CURRENT_e, // mLayerID
7, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_Drop, // mProcName
&g_fpcLf_Method.mBase, // sub_method
sizeof(daObjDrop_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
243, // mPriority
&l_daObjDrop_Method, // sub_method
0x00040000, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
+186 -345
View File
@@ -4,110 +4,206 @@
*/
#include "rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood.h"
#include "dol2asm.h"
#include "d/s/d_s_play.h"
//
// Forward References:
//
/* 80BE762C-80BE7668 0000EC 003C+00 1/1 0/0 0/0 .text __ct__16daFireWood_HIO_cFv */
daFireWood_HIO_c::daFireWood_HIO_c() {
mFlameOffsetY = 0.0f;
mCollisionRadius = 60.0f;
mWaitTime = 20;
}
extern "C" void __ct__16daFireWood_HIO_cFv();
extern "C" void __dt__14mDoHIO_entry_cFv();
extern "C" void setBaseMtx__12daFireWood_cFv();
extern "C" void create__12daFireWood_cFv();
extern "C" void __dt__8cM3dGCylFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void lightInit__12daFireWood_cFv();
extern "C" void setLight__12daFireWood_cFv();
extern "C" void Execute__12daFireWood_cFv();
extern "C" bool Draw__12daFireWood_cFv();
extern "C" void Delete__12daFireWood_cFv();
extern "C" static void daFireWood_Draw__FP12daFireWood_c();
extern "C" static void daFireWood_Execute__FP12daFireWood_c();
extern "C" static void daFireWood_Delete__FP12daFireWood_c();
extern "C" static void daFireWood_Create__FP10fopAc_ac_c();
extern "C" void __dt__16daFireWood_HIO_cFv();
extern "C" void __sinit_d_a_obj_fireWood_cpp();
extern "C" u8 const mCcDObjInfo__12daFireWood_c[48];
extern "C" u8 mCcDCyl__12daFireWood_c[68];
/* 80BE76B0-80BE7708 000170 0058+00 1/1 0/0 0/0 .text setBaseMtx__12daFireWood_cFv */
void daFireWood_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::ZXYrotM(current.angle.x, current.angle.y, current.angle.z);
}
//
// External References:
//
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
extern "C" void dComIfGp_getReverb__Fi();
extern "C" void onSwitch__10dSv_info_cFii();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void
set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" void ChkTgHit__12dCcD_GObjInfFv();
extern "C" void GetTgHitGObj__12dCcD_GObjInfFv();
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
extern "C" void dKy_plight_set__FP15LIGHT_INFLUENCE();
extern "C" void dKy_plight_cut__FP15LIGHT_INFLUENCE();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void SetC__8cM3dGCylFRC4cXyz();
extern "C" void SetH__8cM3dGCylFf();
extern "C" void SetR__8cM3dGCylFf();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void __dl__FPv();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_CylAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" void __register_global_object();
//
// Declarations:
//
/* ############################################################################################## */
/* 80BE8004-80BE8008 000000 0004+00 3/3 0/0 0/0 .rodata @3625 */
SECTION_RODATA static u8 const lit_3625[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80BE8004, &lit_3625);
/* 80BE8008-80BE800C 000004 0004+00 1/2 0/0 0/0 .rodata @3626 */
SECTION_RODATA static f32 const lit_3626 = 60.0f;
COMPILER_STRIP_GATE(0x80BE8008, &lit_3626);
/* 80BE8144-80BE8154 000014 0010+00 3/3 0/0 0/0 .bss l_HIO */
static daFireWood_HIO_c l_HIO;
/* 80BE8050-80BE8094 000000 0044+00 2/2 0/0 0/0 .data mCcDCyl__12daFireWood_c */
SECTION_DATA u8 daFireWood_c::mCcDCyl[68] = {
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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
dCcD_SrcCyl daFireWood_c::mCcDCyl = {
daFireWood_c::mCcDObjInfo,
{
{0.0f, 0.0f, 0.0f}, // mCenter
0.0f, // mRadius
0.0f // mHeight
} // mCyl
};
/* 80BE800C-80BE803C 000008 0030+00 1/1 0/0 0/0 .rodata mCcDObjInfo__12daFireWood_c */
const dCcD_SrcGObjInf daFireWood_c::mCcDObjInfo = {
{0, {{AT_TYPE_LANTERN_SWING, 0, 0x13}, {0xD8FBFFFF, 0x1F}, {0x0}}},
{dCcD_SE_SWORD, 0, 0, dCcD_MTRL_NONE, 0},
{dCcD_SE_STONE, 0, 0, dCcD_MTRL_NONE, 0},
{0},
};
/* 80BE8094-80BE80AC 000044 0018+00 1/1 0/0 0/0 .data l_cull_box */
static Vec l_cull_box[2] = {
static cull_box l_cull_box = {
{-50.0f, 0.0f, -50.0f},
{50.0f, 100.0f, 50.0f},
};
/* 80BE7708-80BE7910 0001C8 0208+00 1/1 0/0 0/0 .text create__12daFireWood_cFv */
int daFireWood_c::create() {
fopAcM_SetupActor(this, daFireWood_c);
setBaseMtx();
mCcStts.Init(0xFF, 0xFF, this);
mCcCyl.Set(mCcDCyl);
mCcCyl.SetStts(&mCcStts);
f32 min_x = l_cull_box.min.x * scale.x;
f32 min_y = l_cull_box.min.y * scale.y;
f32 min_z = l_cull_box.min.z * scale.x;
f32 max_x = l_cull_box.max.x * scale.x;
f32 max_y = l_cull_box.max.y * scale.y;
f32 max_z = l_cull_box.max.z * scale.x;
fopAcM_setCullSizeBox(this, min_x, min_y, min_z, max_x, max_y, max_y);
mFlamePos.x = current.pos.x;
mFlamePos.y = current.pos.y + l_HIO.mFlameOffsetY;
mFlamePos.z = current.pos.z;
for (int i = 0; i < 4; i++) {
mFlameEmtrIDs[i] = 0;
}
lightInit();
mIsLit = false;
mIsSwitch = fopAcM_isSwitch(this, fopAcM_GetParam(this) & 0xFF);
if (mIsSwitch) {
mIsLit = true;
mCcCyl.SetAtMtrl(dCcD_MTRL_FIRE);
setLight();
}
mFlameType = fopAcM_GetParam(this) >> 8;
mSwWaitTime = 0;
return cPhs_COMPLEATE_e;
}
/* 80BE79A0-80BE7A14 000460 0074+00 1/1 0/0 0/0 .text lightInit__12daFireWood_cFv */
void daFireWood_c::lightInit() {
mLightPos = mFlamePos;
mLightPos.y += 10.0f;
mLightInfluence.mPosition = mLightPos;
mLightInfluence.mColor.r = 0xBC;
mLightInfluence.mColor.g = 0x66;
mLightInfluence.mColor.b = 0x42;
mLightInfluence.mPow = 500.0f;
mLightInfluence.mFluctuation = 1.0f;
}
/* 80BE7A14-80BE7A38 0004D4 0024+00 2/2 0/0 0/0 .text setLight__12daFireWood_cFv */
void daFireWood_c::setLight() {
dKy_plight_set(&mLightInfluence);
}
/* 80BE7A38-80BE7E74 0004F8 043C+00 1/1 0/0 0/0 .text Execute__12daFireWood_cFv */
int daFireWood_c::Execute() {
mIsSwitch = fopAcM_isSwitch(this, fopAcM_GetParam(this) & 0xFF);
if (mIsLit) {
if (mFlameType == 1) {
mFlameEmtrIDs[0] =
dComIfGp_particle_set(mFlameEmtrIDs[0], 0x85A7, &mFlamePos, NULL, NULL);
mFlameEmtrIDs[1] =
dComIfGp_particle_set(mFlameEmtrIDs[1], 0x85BB, &mFlamePos, NULL, NULL);
mFlameEmtrIDs[2] =
dComIfGp_particle_set(mFlameEmtrIDs[2], 0x85BC, &mFlamePos, NULL, NULL);
mFlameEmtrIDs[3] =
dComIfGp_particle_set(mFlameEmtrIDs[3], 0x85BD, &mFlamePos, NULL, NULL);
} else {
mFlameEmtrIDs[0] =
dComIfGp_particle_set(mFlameEmtrIDs[0], 0x3AD, &mFlamePos, NULL, NULL);
mFlameEmtrIDs[1] =
dComIfGp_particle_set(mFlameEmtrIDs[1], 0x3AF, &mFlamePos, NULL, NULL);
mFlameEmtrIDs[2] =
dComIfGp_particle_set(mFlameEmtrIDs[2], 0x3AE, &mFlamePos, NULL, NULL);
}
mDoAud_seStartLevel(Z2SE_OBJ_FIRE_BURNING, &mFlamePos, 0,
dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
}
if (mCcCyl.ChkTgHit()) {
dCcD_GObjInf* gobj = mCcCyl.GetTgHitGObj();
if (gobj->GetAtType() == AT_TYPE_LANTERN_SWING && gobj->GetAtMtrl() == dCcD_MTRL_FIRE &&
!mIsLit)
{
mSwWaitTime = l_HIO.mWaitTime;
mIsLit = true;
mCcCyl.SetAtMtrl(dCcD_MTRL_FIRE);
mDoAud_seStart(Z2SE_OBJ_FIRE_IGNITION, &mFlamePos, 0,
dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
setLight();
}
}
mCcCyl.SetR(l_HIO.mCollisionRadius);
mCcCyl.SetH(oREG_F(11) + 100.0f);
mCcCyl.SetC(current.pos);
dComIfG_Ccsp()->Set(&mCcCyl);
if (mSwWaitTime != 0) {
mSwWaitTime--;
if (mSwWaitTime == 0) {
fopAcM_onSwitch(this, fopAcM_GetParam(this) & 0xFF);
}
}
return 1;
}
/* 80BE7E74-80BE7E7C 000934 0008+00 1/1 0/0 0/0 .text Draw__12daFireWood_cFv */
int daFireWood_c::Draw() {
return 1;
}
/* 80BE7E7C-80BE7EA4 00093C 0028+00 1/1 0/0 0/0 .text Delete__12daFireWood_cFv */
int daFireWood_c::Delete() {
dKy_plight_cut(&mLightInfluence);
return 1;
}
/* 80BE7EA4-80BE7EC4 000964 0020+00 1/0 0/0 0/0 .text daFireWood_Draw__FP12daFireWood_c
*/
static int daFireWood_Draw(daFireWood_c* i_this) {
return i_this->Draw();
}
/* 80BE7EC4-80BE7EE4 000984 0020+00 1/0 0/0 0/0 .text daFireWood_Execute__FP12daFireWood_c */
static int daFireWood_Execute(daFireWood_c* i_this) {
return i_this->Execute();
}
/* 80BE7EE4-80BE7F04 0009A4 0020+00 1/0 0/0 0/0 .text daFireWood_Delete__FP12daFireWood_c
*/
static int daFireWood_Delete(daFireWood_c* i_this) {
return i_this->Delete();
}
/* 80BE7F04-80BE7F24 0009C4 0020+00 1/0 0/0 0/0 .text daFireWood_Create__FP10fopAc_ac_c
*/
static int daFireWood_Create(fopAc_ac_c* i_this) {
return ((daFireWood_c*)i_this)->create();
}
/* 80BE80AC-80BE80CC -00001 0020+00 1/0 0/0 0/0 .data l_daFireWood_Method */
static actor_method_class l_daFireWood_Method = {
(process_method_func)daFireWood_Create__FP10fopAc_ac_c,
(process_method_func)daFireWood_Delete__FP12daFireWood_c,
(process_method_func)daFireWood_Execute__FP12daFireWood_c,
0,
(process_method_func)daFireWood_Draw__FP12daFireWood_c,
(process_method_func)daFireWood_Create, (process_method_func)daFireWood_Delete,
(process_method_func)daFireWood_Execute, (process_method_func)NULL,
(process_method_func)daFireWood_Draw,
};
/* 80BE80CC-80BE80FC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_FireWood */
@@ -127,258 +223,3 @@ extern actor_process_profile_definition g_profile_Obj_FireWood = {
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
/* 80BE80FC-80BE8108 0000AC 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGCyl */
SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGCylFv,
};
/* 80BE8108-80BE8114 0000B8 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGAabFv,
};
/* 80BE8114-80BE8120 0000C4 000C+00 2/2 0/0 0/0 .data __vt__16daFireWood_HIO_c */
SECTION_DATA extern void* __vt__16daFireWood_HIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__16daFireWood_HIO_cFv,
};
/* 80BE8120-80BE812C 0000D0 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */
SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__14mDoHIO_entry_cFv,
};
/* 80BE762C-80BE7668 0000EC 003C+00 1/1 0/0 0/0 .text __ct__16daFireWood_HIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daFireWood_HIO_c::daFireWood_HIO_c() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood/__ct__16daFireWood_HIO_cFv.s"
}
#pragma pop
/* 80BE7668-80BE76B0 000128 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// mDoHIO_entry_c::~mDoHIO_entry_c()
extern "C" asm void __dt__14mDoHIO_entry_cFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood/__dt__14mDoHIO_entry_cFv.s"
}
#pragma pop
/* 80BE76B0-80BE7708 000170 0058+00 1/1 0/0 0/0 .text setBaseMtx__12daFireWood_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daFireWood_c::setBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood/setBaseMtx__12daFireWood_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80BE8138-80BE8144 000008 000C+00 1/1 0/0 0/0 .bss @3619 */
static u8 lit_3619[12];
/* 80BE8144-80BE8154 000014 0010+00 3/3 0/0 0/0 .bss l_HIO */
static u8 l_HIO[16];
/* 80BE7708-80BE7910 0001C8 0208+00 1/1 0/0 0/0 .text create__12daFireWood_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daFireWood_c::create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood/create__12daFireWood_cFv.s"
}
#pragma pop
/* 80BE7910-80BE7958 0003D0 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// cM3dGCyl::~cM3dGCyl()
extern "C" asm void __dt__8cM3dGCylFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood/__dt__8cM3dGCylFv.s"
}
#pragma pop
/* 80BE7958-80BE79A0 000418 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// cM3dGAab::~cM3dGAab()
extern "C" asm void __dt__8cM3dGAabFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood/__dt__8cM3dGAabFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80BE800C-80BE803C 000008 0030+00 1/1 0/0 0/0 .rodata mCcDObjInfo__12daFireWood_c */
SECTION_RODATA u8 const daFireWood_c::mCcDObjInfo[48] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13,
0xD8, 0xFB, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80BE800C, &daFireWood_c::mCcDObjInfo);
/* 80BE803C-80BE8040 000038 0004+00 0/1 0/0 0/0 .rodata @3806 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3806 = 10.0f;
COMPILER_STRIP_GATE(0x80BE803C, &lit_3806);
#pragma pop
/* 80BE8040-80BE8044 00003C 0004+00 0/1 0/0 0/0 .rodata @3807 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3807 = 500.0f;
COMPILER_STRIP_GATE(0x80BE8040, &lit_3807);
#pragma pop
/* 80BE8044-80BE8048 000040 0004+00 0/2 0/0 0/0 .rodata @3808 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3808 = 1.0f;
COMPILER_STRIP_GATE(0x80BE8044, &lit_3808);
#pragma pop
/* 80BE79A0-80BE7A14 000460 0074+00 1/1 0/0 0/0 .text lightInit__12daFireWood_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daFireWood_c::lightInit() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood/lightInit__12daFireWood_cFv.s"
}
#pragma pop
/* 80BE7A14-80BE7A38 0004D4 0024+00 2/2 0/0 0/0 .text setLight__12daFireWood_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daFireWood_c::setLight() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood/setLight__12daFireWood_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80BE8048-80BE804C 000044 0004+00 0/1 0/0 0/0 .rodata @3919 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3919 = -1.0f;
COMPILER_STRIP_GATE(0x80BE8048, &lit_3919);
#pragma pop
/* 80BE804C-80BE8050 000048 0004+00 0/2 0/0 0/0 .rodata @3920 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3920 = 100.0f;
COMPILER_STRIP_GATE(0x80BE804C, &lit_3920);
#pragma pop
/* 80BE7A38-80BE7E74 0004F8 043C+00 1/1 0/0 0/0 .text Execute__12daFireWood_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daFireWood_c::Execute() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood/Execute__12daFireWood_cFv.s"
}
#pragma pop
/* 80BE7E74-80BE7E7C 000934 0008+00 1/1 0/0 0/0 .text Draw__12daFireWood_cFv */
bool daFireWood_c::Draw() {
return true;
}
/* 80BE7E7C-80BE7EA4 00093C 0028+00 1/1 0/0 0/0 .text Delete__12daFireWood_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daFireWood_c::Delete() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood/Delete__12daFireWood_cFv.s"
}
#pragma pop
/* 80BE7EA4-80BE7EC4 000964 0020+00 1/0 0/0 0/0 .text daFireWood_Draw__FP12daFireWood_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daFireWood_Draw(daFireWood_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood/daFireWood_Draw__FP12daFireWood_c.s"
}
#pragma pop
/* 80BE7EC4-80BE7EE4 000984 0020+00 1/0 0/0 0/0 .text daFireWood_Execute__FP12daFireWood_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daFireWood_Execute(daFireWood_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood/daFireWood_Execute__FP12daFireWood_c.s"
}
#pragma pop
/* 80BE7EE4-80BE7F04 0009A4 0020+00 1/0 0/0 0/0 .text daFireWood_Delete__FP12daFireWood_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daFireWood_Delete(daFireWood_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood/daFireWood_Delete__FP12daFireWood_c.s"
}
#pragma pop
/* 80BE7F04-80BE7F24 0009C4 0020+00 1/0 0/0 0/0 .text daFireWood_Create__FP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daFireWood_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood/daFireWood_Create__FP10fopAc_ac_c.s"
}
#pragma pop
/* 80BE7F24-80BE7F80 0009E4 005C+00 2/1 0/0 0/0 .text __dt__16daFireWood_HIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daFireWood_HIO_c::~daFireWood_HIO_c() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood/__dt__16daFireWood_HIO_cFv.s"
}
#pragma pop
/* 80BE7F80-80BE7FF0 000A40 0070+00 0/0 1/0 0/0 .text __sinit_d_a_obj_fireWood_cpp */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __sinit_d_a_obj_fireWood_cpp(){nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood/d_a_obj_fireWood/__sinit_d_a_obj_fireWood_cpp.s"
}
#pragma pop
#pragma push
#pragma force_active on
REGISTER_CTORS(0x80BE7F80, __sinit_d_a_obj_fireWood_cpp);
#pragma pop
+118 -396
View File
@@ -1,109 +1,14 @@
/**
* d_a_obj_tornado.cpp
*
* Wind Column
*/
#include "rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado.h"
#include "dol2asm.h"
#include "d/kankyo/d_kankyo_rain.h"
//
// Forward References:
//
extern "C" void setPntWind__11daObjTrnd_cFv();
extern "C" void cutPntWind__11daObjTrnd_cFv();
extern "C" void movePntWind__11daObjTrnd_cFv();
extern "C" void setCpsInfo__11daObjTrnd_cFv();
extern "C" void initBaseMtx__11daObjTrnd_cFv();
extern "C" void setBaseMtx__11daObjTrnd_cFv();
extern "C" void Create__11daObjTrnd_cFv();
extern "C" void create__11daObjTrnd_cFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void execute__11daObjTrnd_cFv();
extern "C" bool draw__11daObjTrnd_cFv();
extern "C" void _delete__11daObjTrnd_cFv();
extern "C" static void daObjTrnd_Draw__FP11daObjTrnd_c();
extern "C" static void daObjTrnd_Execute__FP11daObjTrnd_c();
extern "C" static void daObjTrnd_Delete__FP11daObjTrnd_c();
extern "C" static void daObjTrnd_Create__FP11daObjTrnd_c();
extern "C" extern char const* const d_a_obj_tornado__stringBase0;
//
// External References:
//
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void dKyw_pntwind_set__FP14WIND_INFLUENCE();
extern "C" void dKyw_pntwind_cut__FP14WIND_INFLUENCE();
extern "C" void dKyw_custom_windpower__Ff();
extern "C" void dKyw_evt_wind_set__Fss();
extern "C" void dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" void Set__8dCcD_CpsFRC11dCcD_SrcCps();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void normalize__4cXyzFv();
extern "C" void isZero__4cXyzCFv();
extern "C" void __ct__8cM3dGCpsFv();
extern "C" void Set__8cM3dGCpsFRC9cM3dGCpsS();
extern "C" void cLib_addCalc__FPfffff();
extern "C" void cLib_chaseF__FPfff();
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void __dl__FPv();
extern "C" void __cvt_fp2unsigned();
extern "C" extern void* __vt__8dCcD_Cps[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_CpsAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" f32 Zero__4cXyz[3];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
// Declarations:
//
/* ############################################################################################## */
/* 80D1C354-80D1C358 000000 0004+00 5/5 0/0 0/0 .rodata @3628 */
SECTION_RODATA static u8 const lit_3628[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80D1C354, &lit_3628);
/* 80D1C358-80D1C35C 000004 0004+00 0/2 0/0 0/0 .rodata @3629 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3629 = 1.0f;
COMPILER_STRIP_GATE(0x80D1C358, &lit_3629);
#pragma pop
/* 80D1C35C-80D1C360 000008 0004+00 0/2 0/0 0/0 .rodata @3630 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3630 = 300.0f;
COMPILER_STRIP_GATE(0x80D1C35C, &lit_3630);
#pragma pop
/* 80D1C360-80D1C364 00000C 0004+00 0/2 0/0 0/0 .rodata @3631 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3631 = 1.0f / 5.0f;
COMPILER_STRIP_GATE(0x80D1C360, &lit_3631);
#pragma pop
#include "d/s/d_s_play.h"
#include "dol2asm.h"
/* 80D1B998-80D1BA0C 000078 0074+00 2/2 0/0 0/0 .text setPntWind__11daObjTrnd_cFv */
// Matches with literals
#ifdef NONMATCHING
void daObjTrnd_c::setPntWind() {
mWindInfluence.position = current.pos;
mWindInfluence.mDirection.x = 0.0f;
@@ -114,187 +19,73 @@ void daObjTrnd_c::setPntWind() {
mWindInfluence.mStrength = 0.2f;
dKyw_pntwind_set(&mWindInfluence);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTrnd_c::setPntWind() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado/setPntWind__11daObjTrnd_cFv.s"
}
#pragma pop
#endif
/* 80D1BA0C-80D1BA30 0000EC 0024+00 2/2 0/0 0/0 .text cutPntWind__11daObjTrnd_cFv */
void daObjTrnd_c::cutPntWind() {
dKyw_pntwind_cut(&mWindInfluence);
}
/* ############################################################################################## */
/* 80D1C364-80D1C368 000010 0004+00 0/1 0/0 0/0 .rodata @3679 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3679 = 2.0f;
COMPILER_STRIP_GATE(0x80D1C364, &lit_3679);
#pragma pop
/* 80D1C368-80D1C36C 000014 0004+00 0/2 0/0 0/0 .rodata @3680 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3680 = 1.0f / 10.0f;
COMPILER_STRIP_GATE(0x80D1C368, &lit_3680);
#pragma pop
/* 80D1C36C-80D1C374 000018 0004+04 0/2 0/0 0/0 .rodata @3681 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3681[1 + 1 /* padding */] = {
0.5f,
/* padding */
0.0f,
};
COMPILER_STRIP_GATE(0x80D1C36C, &lit_3681);
#pragma pop
/* 80D1C374-80D1C37C 000020 0008+00 0/1 0/0 0/0 .rodata @3682 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3682[8] = {
0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80D1C374, &lit_3682);
#pragma pop
/* 80D1C37C-80D1C384 000028 0008+00 0/1 0/0 0/0 .rodata @3683 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3683[8] = {
0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80D1C37C, &lit_3683);
#pragma pop
/* 80D1C384-80D1C38C 000030 0008+00 0/1 0/0 0/0 .rodata @3684 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3684[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80D1C384, &lit_3684);
#pragma pop
/* 80D1BA30-80D1BC40 000110 0210+00 1/1 0/0 0/0 .text movePntWind__11daObjTrnd_cFv */
// Matches with literals
#ifdef NONMATCHING
void daObjTrnd_c::movePntWind() {
cXyz local_20;
cXyz local_2c;
cXyz cStack_38;
local_20.x = field_0x6e8.mStart.x;
local_20.y = field_0x6e8.mStart.y;
local_20.z = field_0x6e8.mStart.z;
local_2c.x = field_0x6e8.mEnd.x;
local_2c.y = field_0x6e8.mEnd.y;
local_2c.z = field_0x6e8.mEnd.z;
dKyr_get_vectle_calc(&local_20, &local_2c, &cStack_38);
mWindInfluence.mDirection = cStack_38;
mWindInfluence.mRadius = field_0x6e8.mRadius * 2.0f;
cXyz start;
cXyz end;
cXyz direction;
start.x = mWindCps.mStart.x;
start.y = mWindCps.mStart.y;
start.z = mWindCps.mStart.z;
end.x = mWindCps.mEnd.x;
end.y = mWindCps.mEnd.y;
end.z = mWindCps.mEnd.z;
dKyr_get_vectle_calc(&start, &end, &direction);
mWindInfluence.mDirection = direction;
mWindInfluence.mRadius = mWindCps.mRadius * 2.0f;
mWindInfluence.field_0x20 = 0.0f;
cLib_addCalc(&mWindInfluence.position.x, field_0x6e8.mEnd.x, 0.1f, mWindInfluence.mRadius,
cLib_addCalc(&mWindInfluence.position.x, mWindCps.mEnd.x, 0.1f, mWindInfluence.mRadius,
mWindInfluence.mRadius * 0.5f);
cLib_addCalc(&mWindInfluence.position.y, field_0x6e8.mEnd.y, 0.1f, mWindInfluence.mRadius,
cLib_addCalc(&mWindInfluence.position.y, mWindCps.mEnd.y, 0.1f, mWindInfluence.mRadius,
mWindInfluence.mRadius * 0.5f);
cLib_addCalc(&mWindInfluence.position.z, field_0x6e8.mEnd.z, 0.1f, mWindInfluence.mRadius,
cLib_addCalc(&mWindInfluence.position.z, mWindCps.mEnd.z, 0.1f, mWindInfluence.mRadius,
mWindInfluence.mRadius * 0.5f);
if (mWindInfluence.position.abs(field_0x6e8.mEnd) < mWindInfluence.mRadius) {
mWindInfluence.position = field_0x6e8.mStart;
if (mWindInfluence.position.abs(mWindCps.mEnd) < mWindInfluence.mRadius) {
mWindInfluence.position = mWindCps.mStart;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTrnd_c::movePntWind() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado/movePntWind__11daObjTrnd_cFv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 80D1C38C-80D1C390 000038 0004+00 0/1 0/0 0/0 .rodata @3724 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3724 = 1.0f / 20.0f;
COMPILER_STRIP_GATE(0x80D1C38C, &lit_3724);
#pragma pop
/* 80D1C390-80D1C394 00003C 0004+00 0/3 0/0 0/0 .rodata @3725 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3725 = 3000.0f;
COMPILER_STRIP_GATE(0x80D1C390, &lit_3725);
#pragma pop
/* 80D1C394-80D1C398 000040 0004+00 0/1 0/0 0/0 .rodata @3726 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3726 = 30.0f;
COMPILER_STRIP_GATE(0x80D1C394, &lit_3726);
#pragma pop
/* 80D1C398-80D1C39C 000044 0004+00 0/1 0/0 0/0 .rodata @3727 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3727 = 127.0f;
COMPILER_STRIP_GATE(0x80D1C398, &lit_3727);
#pragma pop
/* 80D1C39C-80D1C3A0 000048 0004+00 0/1 0/0 0/0 .rodata @3728 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3728 = -1.0f;
COMPILER_STRIP_GATE(0x80D1C39C, &lit_3728);
#pragma pop
/* 80D1BC40-80D1BE04 000320 01C4+00 1/1 0/0 0/0 .text setCpsInfo__11daObjTrnd_cFv */
// Matches with literals
#ifdef NONMATCHING
void daObjTrnd_c::setCpsInfo() {
cLib_chaseF(&field_0x704, field_0x73c, scale.y * 3000.0f * 0.05f);
field_0x6e8.mEnd.x = 0;
field_0x6e8.mEnd.y = field_0x704;
field_0x6e8.mEnd.z = 0;
mDoMtx_stack_c::transS(field_0x6e8.mStart);
cLib_chaseF(&mNowLength, mTargetLength, scale.y * 3000.0f * 0.05f);
mWindCps.mEnd.x = 0;
mWindCps.mEnd.y = mNowLength;
mWindCps.mEnd.z = 0;
mDoMtx_stack_c::transS(mWindCps.mStart);
mDoMtx_stack_c::ZXYrotM(shape_angle);
mDoMtx_stack_c::multVec(&field_0x6e8.mEnd, &field_0x6e8.mEnd);
mCps.cM3dGCps::Set(field_0x6e8);
cXyz local_20;
local_20.x = field_0x6e8.mEnd.x - field_0x6e8.mStart.x;
local_20.y = field_0x6e8.mEnd.y - field_0x6e8.mStart.y;
local_20.z = field_0x6e8.mEnd.z - field_0x6e8.mStart.z;
if (!local_20.isZero()) {
local_20.normalize();
mDoMtx_stack_c::multVec(&mWindCps.mEnd, &mWindCps.mEnd);
mCps.cM3dGCps::Set(mWindCps);
cXyz push_vec;
push_vec.x = mWindCps.mEnd.x - mWindCps.mStart.x;
push_vec.y = mWindCps.mEnd.y - mWindCps.mStart.y;
push_vec.z = mWindCps.mEnd.z - mWindCps.mStart.z;
if (!push_vec.isZero()) {
push_vec.normalize();
} else {
local_20 = cXyz::Zero;
push_vec = cXyz::Zero;
}
local_20 *= scale.z * 30.0f;
mCps.SetAtVec(local_20);
push_vec *= scale.z * 30.0f;
mCps.SetAtVec(push_vec);
movePntWind();
if (!checkSE()) {
mDoAud_seStartLevel(Z2SE_ENV_WIND_SARUDAN, 0, (field_0x704 / (scale.y * 3000.0f)) * 127.0f, 0);
mDoAud_seStartLevel(Z2SE_ENV_WIND_SARUDAN, 0, (mNowLength / (scale.y * 3000.0f)) * 127.0f,
0);
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTrnd_c::setCpsInfo() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado/setCpsInfo__11daObjTrnd_cFv.s"
}
#pragma pop
#endif
/* 80D1BE04-80D1BE24 0004E4 0020+00 1/1 0/0 0/0 .text initBaseMtx__11daObjTrnd_cFv */
void daObjTrnd_c::initBaseMtx() {
@@ -305,201 +96,108 @@ void daObjTrnd_c::initBaseMtx() {
void daObjTrnd_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(shape_angle);
MTXCopy(mDoMtx_stack_c::get(), field_0x708);
MTXCopy(mDoMtx_stack_c::get(), mMtx);
}
/* ############################################################################################## */
/* 80D1C3A0-80D1C3A4 00004C 0004+00 0/1 0/0 0/0 .rodata @3762 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3762 = -300.0f;
COMPILER_STRIP_GATE(0x80D1C3A0, &lit_3762);
#pragma pop
/* 80D1C3B4-80D1C400 000000 004C+00 1/1 0/0 0/0 .data l_cps_src */
static dCcD_SrcCps l_cps_src = {
{
{0x0, {{AT_TYPE_LANTERN_SWING, 0x0, 0x11}, {0x0, 0x0}, 0x0}}, // mObj
{dCcD_SE_NONE, 0x0, 0x0, 0x3, 0x2}, // mGObjAt
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg
{dCcD_SE_NONE, 0x0, 0x0, dCcD_MTRL_WIND, 0x2}, // mGObjAt
{dCcD_SE_NONE, 0x0, 0x0, dCcD_MTRL_NONE, 0x4}, // mGObjTg
{0x0}, // mGObjCo
}, // mObjInf
{
{{0.0f, 0.0f, 0.0f}, {0.0f, 3000.0f, 0.0f}, 300.0f}, // mCps
} // mCpsAttr
} // mCpsAttr
};
/* 80D1BE6C-80D1BFB0 00054C 0144+00 1/1 0/0 0/0 .text Create__11daObjTrnd_cFv */
// Matches with literals
#ifdef NONMATCHING
int daObjTrnd_c::Create() {
current.angle.z = 0;
shape_angle.z = 0;
home.angle.z = 0;
initBaseMtx();
fopAcM_SetMtx(this, field_0x708);
mStts.Init(0xff, 0xff, this);
fopAcM_SetMtx(this, mMtx);
mStts.Init(0xFF, 0xFF, this);
mCps.Set(l_cps_src);
mCps.SetStts(&mStts);
cXyz local_1c;
cXyz local_28;
local_1c.x = scale.x * -300.0f;
local_1c.y = 0.0;
local_1c.z = scale.x * -300.0f;
local_28.x = scale.x * 300.0f;
local_28.y = scale.y * 3000.0f;
local_28.z = scale.x * 300.0f;
fopAcM_setCullSizeBox(this, local_1c.x, 0, local_1c.z,
local_28.x, local_28.y,
local_28.z);
cXyz cull_min;
cXyz cull_max;
cull_min.x = scale.x * -300.0f;
cull_min.y = 0.0;
cull_min.z = scale.x * -300.0f;
cull_max.x = scale.x * 300.0f;
cull_max.y = scale.y * 3000.0f;
cull_max.z = scale.x * 300.0f;
fopAcM_setCullSizeBox(this, cull_min.x, 0, cull_min.z, cull_max.x, cull_max.y, cull_max.z);
u32 timer = getTimer();
if (timer == 0xff || timer == 0) {
field_0x738 = 0xffff;
if (timer == 0xFF || timer == 0) {
mTimer = 0xFFFF;
} else {
field_0x738 = timer * 15;
mTimer = timer * 15;
}
field_0x6e8.mRadius = scale.x * 300.0f;
field_0x6e8.mStart = current.pos;
field_0x73c = scale.y * 3000.0f;
field_0x704 = field_0x73c;
mWindCps.mRadius = scale.x * 300.0f;
mWindCps.mStart = current.pos;
mTargetLength = scale.y * 3000.0f;
mNowLength = mTargetLength;
setPntWind();
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daObjTrnd_c::Create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado/Create__11daObjTrnd_cFv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 80D1C400-80D1C420 -00001 0020+00 1/0 0/0 0/0 .data l_daObjTrnd_Method */
static actor_method_class l_daObjTrnd_Method = {
(process_method_func)daObjTrnd_Create__FP11daObjTrnd_c,
(process_method_func)daObjTrnd_Delete__FP11daObjTrnd_c,
(process_method_func)daObjTrnd_Execute__FP11daObjTrnd_c,
0,
(process_method_func)daObjTrnd_Draw__FP11daObjTrnd_c,
};
/* 80D1C420-80D1C450 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Tornado */
extern actor_process_profile_definition g_profile_Obj_Tornado = {
fpcLy_CURRENT_e, // mLayerID
7, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_Tornado, // mProcName
&g_fpcLf_Method.mBase, // sub_method
0x00000770, // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
444, // mPriority
&l_daObjTrnd_Method, // sub_method
0x00040100, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
/* 80D1C450-80D1C45C 00009C 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGAabFv,
};
/* 80D1BFB0-80D1C0A8 000690 00F8+00 1/1 0/0 0/0 .text create__11daObjTrnd_cFv */
int daObjTrnd_c::create() {
fopAcM_SetupActor(this, daObjTrnd_c);
if (Create() == 0) {
if (!Create()) {
return cPhs_ERROR_e;
}
return cPhs_COMPLEATE_e;
}
/* 80D1C0A8-80D1C0F0 000788 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm cM3dGAab::~cM3dGAab() {
extern "C" asm void __dt__8cM3dGAabFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado/__dt__8cM3dGAabFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80D1C3A4-80D1C3A8 000050 0004+00 0/1 0/0 0/0 .rodata @3908 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3908 = 3.0f / 10.0f;
COMPILER_STRIP_GATE(0x80D1C3A4, &lit_3908);
#pragma pop
/* 80D1C3A8-80D1C3AC 000054 0004+00 0/1 0/0 0/0 .rodata @3909 */
#pragma push
#pragma force_active on
SECTION_RODATA static u32 const lit_3909 = 0x3A83126F;
COMPILER_STRIP_GATE(0x80D1C3A8, &lit_3909);
#pragma pop
/* 80D1C3AC-80D1C3B0 000058 0004+00 0/1 0/0 0/0 .rodata @3910 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3910 = 9.0f / 10.0f;
COMPILER_STRIP_GATE(0x80D1C3AC, &lit_3910);
#pragma pop
/* 80D1C0F0-80D1C290 0007D0 01A0+00 1/1 0/0 0/0 .text execute__11daObjTrnd_cFv */
// regalloc
#ifdef NONMATCHING
int daObjTrnd_c::execute() {
if (getSwbit() != 0xff && !fopAcM_isSwitch(this, getSwbit())) {
if (field_0x73c != 0.0f) {
field_0x73c = 0;
if (getSwbit() != 0xFF && !fopAcM_isSwitch(this, getSwbit())) {
if (mTargetLength != 0.0f) {
mTargetLength = 0;
cutPntWind();
}
cLib_addCalc(&mWindPower, 0.3f, 0.2f, 0.1f, 0.001f);
} else if (field_0x738 > 0) {
field_0x738--;
if (field_0x73c == 0.0f) {
} else if (mTimer > 0) {
mTimer--;
if (mTargetLength == 0.0f) {
cLib_addCalc(&mWindPower, 0.3f, 0.2f, 0.1f, 0.001f);
} else {
cLib_addCalc(&mWindPower, 0.9f, 0.5f, 0.1f, 0.001f);
}
} else if (field_0x738 == 0) {
field_0x738 = 15 * getTimer();
if (field_0x73c == 0.0f) {
field_0x73c = scale.y * 3000.0f;
} else if (mTimer == 0) {
mTimer = 15 * getTimer();
if (mTargetLength == 0.0f) {
mTargetLength = scale.y * 3000.0f;
setPntWind();
} else {
field_0x73c = 0.0f;
mTargetLength = 0.0f;
cutPntWind();
}
}
dKyw_evt_wind_set(0, home.angle.y);
dKyw_evt_wind_set(0, home.angle.y + KREG_S(0));
dKyw_custom_windpower(mWindPower);
setCpsInfo();
setBaseMtx();
if (field_0x704 != 0.0f) {
mCps.cM3dGCps::Set(field_0x6e8);
if (mNowLength != 0.0f) {
mCps.cM3dGCps::Set(mWindCps);
dComIfG_Ccsp()->Set(&mCps);
}
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daObjTrnd_c::execute() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tornado/d_a_obj_tornado/execute__11daObjTrnd_cFv.s"
}
#pragma pop
#endif
/* 80D1C290-80D1C298 000970 0008+00 1/1 0/0 0/0 .text draw__11daObjTrnd_cFv */
int daObjTrnd_c::draw() {
@@ -536,9 +234,33 @@ static int daObjTrnd_Create(daObjTrnd_c* i_this) {
return i_this->create();
}
/* ############################################################################################## */
/* 80D1C3B0-80D1C3B1 00005C 0001+00 0/0 0/0 0/0 .rodata None */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80D1C3B0 = "";
SECTION_DEAD static char const* const unused = "";
#pragma pop
/* 80D1C400-80D1C420 -00001 0020+00 1/0 0/0 0/0 .data l_daObjTrnd_Method */
static actor_method_class l_daObjTrnd_Method = {
(process_method_func)daObjTrnd_Create, (process_method_func)daObjTrnd_Delete,
(process_method_func)daObjTrnd_Execute, (process_method_func)NULL,
(process_method_func)daObjTrnd_Draw,
};
/* 80D1C420-80D1C450 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Tornado */
extern actor_process_profile_definition g_profile_Obj_Tornado = {
fpcLy_CURRENT_e, // mLayerID
7, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_Tornado, // mProcName
&g_fpcLf_Method.mBase, // sub_method
0x00000770, // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
444, // mPriority
&l_daObjTrnd_Method, // sub_method
0x00040100, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
+170 -173
View File
@@ -1,53 +1,30 @@
//
// Tornado 2
//
/**
* d_a_obj_tornado2.cpp
* Strong Wind Column
*/
#include "rel/d/a/obj/d_a_obj_tornado2/d_a_obj_tornado2.h"
#include "SSystem/SComponent/c_math.h"
#include "d/com/d_com_inf_game.h"
#include "d/kankyo/d_kankyo_rain.h"
#include "SSystem/SComponent/c_math.h"
/* 80D1D3D4-80D1D3DC 000000 0006+02 6/6 0/0 0/0 .rodata l_R02_eff_id */
static u16 const l_R02_eff_id[3] = {
0x8B5E,
0x8B5F,
0xFFFF,
};
static const u16 l_R02_eff_id[3] = {0x8B5E, 0x8B5F, 0xFFFF};
/* 80D1D3DC-80D1D3E4 000008 0006+02 0/1 0/0 0/0 .rodata l_R04_eff_id */
static u16 const l_R04_eff_id[3] = {
0x8B60,
0x8B61,
0xFFFF,
};
static const u16 l_R04_eff_id[3] = {0x8B60, 0x8B61, 0xFFFF};
/* 80D1D3E4-80D1D3EC 000010 0006+02 0/1 0/0 0/0 .rodata l_R05_eff_id */
static u16 const l_R05_eff_id[3] = {
0x8B6B,
0x8B6C,
0xFFFF,
};
static const u16 l_R05_eff_id[3] = {0x8B6B, 0x8B6C, 0xFFFF};
/* 80D1D3EC-80D1D3F4 000018 0006+02 0/1 0/0 0/0 .rodata l_R07_eff_id */
static u16 const l_R07_eff_id[3] = {
0x8B6D,
0x8B6E,
0xFFFF,
};
static const u16 l_R07_eff_id[3] = {0x8B6D, 0x8B6E, 0xFFFF};
/* 80D1D3F4-80D1D3FC 000020 0006+02 0/1 0/0 0/0 .rodata l_R14_eff_id */
static u16 const l_R14_eff_id[3] = {
0x8B66,
0x8B67,
0x8B68,
};
static const u16 l_R14_eff_id[3] = {0x8B66, 0x8B67, 0x8B68};
/* 80D1D3FC-80D1D404 000028 0006+02 0/1 0/0 0/0 .rodata l_R51_eff_id */
static u16 const l_R51_eff_id[3] = {
0x8B69,
0x8B6A,
0xFFFF,
};
static const u16 l_R51_eff_id[3] = {0x8B69, 0x8B6A, 0xFFFF};
/* 80D1C4D8-80D1C54C 000078 0074+00 1/1 0/0 0/0 .text setPntWind__12daObjTrnd2_cFv */
void daObjTrnd2_c::setPntWind() {
@@ -55,7 +32,7 @@ void daObjTrnd2_c::setPntWind() {
mWindInfluence.mDirection.x = 0.0f;
mWindInfluence.mDirection.y = 1.0f;
mWindInfluence.mDirection.z = 0.0f;
mWindInfluence.mRadius = field_0x768 * scale.x;
mWindInfluence.mRadius = mDefaultRadius * scale.x;
mWindInfluence.field_0x20 = 0.0f;
mWindInfluence.mStrength = 0.2f;
dKyw_pntwind_set(&mWindInfluence);
@@ -68,57 +45,65 @@ void daObjTrnd2_c::cutPntWind() {
/* 80D1C570-80D1C780 000110 0210+00 1/1 0/0 0/0 .text movePntWind__12daObjTrnd2_cFv */
void daObjTrnd2_c::movePntWind() {
cXyz local_20;
cXyz local_2c;
cXyz cStack_38;
local_20.x = field_0x6e8.mStart.x;
local_20.y = field_0x6e8.mStart.y;
local_20.z = field_0x6e8.mStart.z;
local_2c.x = field_0x6e8.mEnd.x;
local_2c.y = field_0x6e8.mEnd.y;
local_2c.z = field_0x6e8.mEnd.z;
dKyr_get_vectle_calc(&local_20, &local_2c, &cStack_38);
mWindInfluence.mDirection = cStack_38;
mWindInfluence.mRadius = field_0x6e8.mRadius * 2.0f;
cXyz start;
cXyz end;
cXyz direction;
start.x = mWindCps.mStart.x;
start.y = mWindCps.mStart.y;
start.z = mWindCps.mStart.z;
end.x = mWindCps.mEnd.x;
end.y = mWindCps.mEnd.y;
end.z = mWindCps.mEnd.z;
dKyr_get_vectle_calc(&start, &end, &direction);
mWindInfluence.mDirection = direction;
mWindInfluence.mRadius = mWindCps.mRadius * 2.0f;
mWindInfluence.field_0x20 = 0.0f;
cLib_addCalc(&mWindInfluence.position.x, field_0x6e8.mEnd.x, 0.1f, mWindInfluence.mRadius,
cLib_addCalc(&mWindInfluence.position.x, mWindCps.mEnd.x, 0.1f, mWindInfluence.mRadius,
mWindInfluence.mRadius * 0.5f);
cLib_addCalc(&mWindInfluence.position.y, field_0x6e8.mEnd.y, 0.1f, mWindInfluence.mRadius,
cLib_addCalc(&mWindInfluence.position.y, mWindCps.mEnd.y, 0.1f, mWindInfluence.mRadius,
mWindInfluence.mRadius * 0.5f);
cLib_addCalc(&mWindInfluence.position.z, field_0x6e8.mEnd.z, 0.1f, mWindInfluence.mRadius,
cLib_addCalc(&mWindInfluence.position.z, mWindCps.mEnd.z, 0.1f, mWindInfluence.mRadius,
mWindInfluence.mRadius * 0.5f);
if (mWindInfluence.position.abs(field_0x6e8.mEnd) < mWindInfluence.mRadius) {
mWindInfluence.position = field_0x6e8.mStart;
if (mWindInfluence.position.abs(mWindCps.mEnd) < mWindInfluence.mRadius) {
mWindInfluence.position = mWindCps.mStart;
}
}
/* 80D1C780-80D1C924 000320 01A4+00 1/1 0/0 0/0 .text setCpsInfo__12daObjTrnd2_cFv */
void daObjTrnd2_c::setCpsInfo() {
cLib_chaseF(&field_0x704, field_0x738, field_0x76c * scale.y * 0.05f);
field_0x6e8.mEnd.x = 0;
field_0x6e8.mEnd.y = field_0x704;
field_0x6e8.mEnd.z = 0;
mDoMtx_stack_c::transS(field_0x6e8.mStart);
cLib_chaseF(&mNowLength, mTargetLength, mDefaultLength * scale.y * 0.05f);
mWindCps.mEnd.x = 0;
mWindCps.mEnd.y = mNowLength;
mWindCps.mEnd.z = 0;
mDoMtx_stack_c::transS(mWindCps.mStart);
mDoMtx_stack_c::ZXYrotM(shape_angle);
mDoMtx_stack_c::multVec(&field_0x6e8.mEnd, &field_0x6e8.mEnd);
mCps.cM3dGCps::Set(field_0x6e8);
f32 dVar6 = 10.0f;
if (getPower() != 0xff) {
dVar6 = getPower();
mDoMtx_stack_c::multVec(&mWindCps.mEnd, &mWindCps.mEnd);
mCps.cM3dGCps::Set(mWindCps);
f32 strength = 10.0f;
if (getPower() != 0xFF) {
strength = getPower();
}
cXyz local_20;
cXyz cStack_40;
local_20.x = field_0x6e8.mEnd.x - field_0x6e8.mStart.x;
local_20.y = field_0x6e8.mEnd.y - field_0x6e8.mStart.y;
local_20.z = field_0x6e8.mEnd.z - field_0x6e8.mStart.z;
if (!local_20.isZero()) {
local_20.normalize();
cXyz push_vec;
cXyz sp40;
push_vec.x = mWindCps.mEnd.x - mWindCps.mStart.x;
push_vec.y = mWindCps.mEnd.y - mWindCps.mStart.y;
push_vec.z = mWindCps.mEnd.z - mWindCps.mStart.z;
if (!push_vec.isZero()) {
push_vec.normalize();
} else {
local_20 = cXyz::Zero;
push_vec = cXyz::Zero;
}
cStack_40 = local_20;
local_20 *= dVar6;
mCps.SetAtVec(local_20);
sp40 = push_vec;
push_vec *= strength;
mCps.SetAtVec(push_vec);
movePntWind();
}
@@ -131,95 +116,100 @@ void daObjTrnd2_c::initBaseMtx() {
void daObjTrnd2_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(shape_angle);
MTXCopy(mDoMtx_stack_c::get(), field_0x708);
MTXCopy(mDoMtx_stack_c::get(), mMtx);
}
/* 80D1D458-80D1D4A4 000000 004C+00 1/1 0/0 0/0 .data l_cps_src */
static dCcD_SrcCps l_cps_src = {
{
{0x0, {{AT_TYPE_LANTERN_SWING, 0x0, 0x1d}, {0x0, 0x0}, 0x0}}, // mObj
{dCcD_SE_NONE, 0x0, 0x0, 0x3, 0x2}, // mGObjAt
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg
{0x0}, // mGObjCo
}, // mObjInf
{0x0, {{AT_TYPE_LANTERN_SWING, 0x0, 0x1d}, {0x0, 0x0}, 0x0}}, // mObj
{dCcD_SE_NONE, 0x0, 0x0, dCcD_MTRL_WIND, 0x2}, // mGObjAt
{dCcD_SE_NONE, 0x0, 0x0, dCcD_MTRL_NONE, 0x4}, // mGObjTg
{0x0}, // mGObjCo
}, // mObjInf
{
{{0.0f, 0.0f, 0.0f}, {0.0f, 3000.0f, 0.0f}, 150.0f}, // mCps
} // mCpsAttr
{{0.0f, 0.0f, 0.0f}, {0.0f, 3000.0f, 0.0f}, 150.0f}, // mCps
} // mCpsAttr
};
/* 80D1C98C-80D1CC80 00052C 02F4+00 1/1 0/0 0/0 .text Create__12daObjTrnd2_cFv */
int daObjTrnd2_c::Create() {
field_0x768 = 150.0f;
field_0x76c = 1000.0f;
mDefaultRadius = 150.0f;
mDefaultLength = 1000.0f;
if (getScale() == 1) {
field_0x768 *= 10.0f;
field_0x76c *= 10.0f;
mDefaultRadius *= 10.0f;
mDefaultLength *= 10.0f;
}
initBaseMtx();
fopAcM_SetMtx(this, field_0x708);
mStts.Init(0xff, 0xff, this);
fopAcM_SetMtx(this, mMtx);
mStts.Init(0xFF, 0xFF, this);
mCps.Set(l_cps_src);
mCps.SetStts(&mStts);
cXyz local_1c;
cXyz local_28;
local_1c.x = -field_0x768 * scale.x;
local_1c.y = 0.0;
local_1c.z = -field_0x768 * scale.x;
local_28.x = field_0x768 * scale.x;
local_28.y = field_0x76c * scale.y;
local_28.z = field_0x768 * scale.x;
fopAcM_setCullSizeBox(this, local_1c.x, 0, local_1c.z,
local_28.x, local_28.y,
local_28.z);
field_0x6e8.mRadius = field_0x768 * scale.x;
field_0x6e8.mStart = current.pos;
cXyz cull_min;
cXyz cull_max;
cull_min.x = -mDefaultRadius * scale.x;
cull_min.y = 0.0f;
cull_min.z = -mDefaultRadius * scale.x;
cull_max.x = mDefaultRadius * scale.x;
cull_max.y = mDefaultLength * scale.y;
cull_max.z = mDefaultRadius * scale.x;
fopAcM_setCullSizeBox(this, cull_min.x, 0.0f, cull_min.z, cull_max.x, cull_max.y, cull_max.z);
mWindCps.mRadius = mDefaultRadius * scale.x;
mWindCps.mStart = current.pos;
setParticle();
u32 swBit = getSwbit();
switch(getSwType()) {
switch (getSwType()) {
case 15:
if ((swBit != 0xff && fopAcM_isSwitch(this, swBit)) || swBit == 0xff) {
field_0x778 = true;
if ((swBit != 0xFF && fopAcM_isSwitch(this, swBit)) || swBit == 0xFF) {
mColumnOn = true;
} else {
field_0x778 = false;
mColumnOn = false;
}
break;
case 0:
if (fopAcM_isSwitch(this, swBit)) {
field_0x778 = false;
mColumnOn = false;
} else {
field_0x778 = true;
mColumnOn = true;
}
break;
case 1:
if (swBit != 0xff && !fopAcM_isSwitch(this, swBit)) {
field_0x778 = false;
if (swBit != 0xFF && !fopAcM_isSwitch(this, swBit)) {
mColumnOn = false;
mTimer = getOffTime() * 30;
} else if (cM_rndF(1.0f) > 0.5f) {
field_0x778 = true;
mColumnOn = true;
mTimer = getOnTime() * 30;
} else {
field_0x778 = false;
mColumnOn = false;
mTimer = getOffTime() * 30;
}
break;
case 2:
field_0x778 = true;
mColumnOn = true;
mTimer = getOnTime() * 30;
break;
case 3:
field_0x778 = false;
mColumnOn = false;
mTimer = getOffTime() * 30;
break;
}
if (field_0x778 == true) {
field_0x738 = field_0x76c * scale.y;
field_0x704 = field_0x738;
if (mColumnOn == true) {
mTargetLength = mDefaultLength * scale.y;
mNowLength = mTargetLength;
startParticle();
} else {
field_0x738 = 0;
field_0x704 = 0;
mTargetLength = 0;
mNowLength = 0;
}
setPntWind();
return 1;
}
@@ -227,112 +217,120 @@ int daObjTrnd2_c::Create() {
/* 80D1CC80-80D1CD78 000820 00F8+00 1/1 0/0 0/0 .text create__12daObjTrnd2_cFv */
int daObjTrnd2_c::create() {
fopAcM_SetupActor(this, daObjTrnd2_c);
if (Create() == 0) {
if (!Create()) {
return cPhs_ERROR_e;
}
return cPhs_COMPLEATE_e;
}
/* 80D1CDC0-80D1D0AC 000960 02EC+00 1/1 0/0 0/0 .text execute__12daObjTrnd2_cFv */
int daObjTrnd2_c::execute() {
bool bVar1;
bool set_column;
u32 swBit;
if (field_0x778 == true) {
bVar1 = false;
if (mColumnOn == true) {
set_column = false;
swBit = getSwbit();
switch (getSwType()) {
case 15:
if (swBit != 0xff && !fopAcM_isSwitch(this, swBit)) {
bVar1 = true;
if (swBit != 0xFF && !fopAcM_isSwitch(this, swBit)) {
set_column = true;
}
break;
case 0:
if (fopAcM_isSwitch(this, swBit)) {
bVar1 = true;
set_column = true;
}
break;
case 1:
case 2:
case 3:
if (cLib_calcTimer(&mTimer) == 0 || (swBit != 0xff && !fopAcM_isSwitch(this, swBit))) {
bVar1 = true;
if (cLib_calcTimer(&mTimer) == 0 || (swBit != 0xFF && !fopAcM_isSwitch(this, swBit))) {
set_column = true;
mTimer = getOffTime() * 30;
}
break;
}
if (bVar1) {
field_0x738 = 0.0f;
field_0x778 = false;
if (set_column) {
mTargetLength = 0.0f;
mColumnOn = false;
stopParticle();
}
} else if (field_0x778 == false) {
bVar1 = false;
} else if (mColumnOn == false) {
set_column = false;
swBit = getSwbit();
switch(getSwType()) {
switch (getSwType()) {
case 15:
if (fopAcM_isSwitch(this, swBit)) {
bVar1 = true;
set_column = true;
}
break;
case 0:
if (swBit != 0xff && !fopAcM_isSwitch(this, swBit)) {
bVar1 = true;
if (swBit != 0xFF && !fopAcM_isSwitch(this, swBit)) {
set_column = true;
}
break;
case 1:
case 2:
case 3:
if (cLib_calcTimer(&mTimer) == 0 && ((swBit != 0xff && fopAcM_isSwitch(this, swBit)) || swBit == 0xff)) {
bVar1 = true;
if (cLib_calcTimer(&mTimer) == 0 &&
((swBit != 0xFF && fopAcM_isSwitch(this, swBit)) || swBit == 0xFF))
{
set_column = true;
mTimer = getOnTime() * 30;
}
break;
}
if (bVar1) {
field_0x738 = field_0x76c * scale.y;
field_0x778 = true;
if (set_column) {
mTargetLength = mDefaultLength * scale.y;
mColumnOn = true;
startParticle();
}
}
if (field_0x738 == 0.0f) {
if (mTargetLength == 0.0f) {
cLib_addCalc(&mWindPower, 0.3f, 0.2f, 0.1f, 0.001f);
} else {
cLib_addCalc(&mWindPower, 0.9f, 0.5f, 0.1f, 0.001f);
}
dKyw_evt_wind_set(0, home.angle.y);
dKyw_custom_windpower(mWindPower);
setCpsInfo();
setBaseMtx();
if (field_0x704 != 0.0f) {
mCps.cM3dGCps::Set(field_0x6e8);
if (mNowLength != 0.0f) {
mCps.cM3dGCps::Set(mWindCps);
dComIfG_Ccsp()->Set(&mCps);
}
return 1;
}
/* 80D1D0AC-80D1D214 000C4C 0168+00 1/1 0/0 0/0 .text setParticle__12daObjTrnd2_cFv */
void daObjTrnd2_c::setParticle() {
const u16* pEffId = NULL;
const u16* efflist_p = NULL;
switch (fopAcM_GetRoomNo(this)) {
case 2:
pEffId = l_R02_eff_id;
efflist_p = l_R02_eff_id;
break;
case 4:
pEffId = l_R04_eff_id;
efflist_p = l_R04_eff_id;
break;
case 5:
pEffId = l_R05_eff_id;
efflist_p = l_R05_eff_id;
break;
case 7:
case 8:
pEffId = l_R07_eff_id;
efflist_p = l_R07_eff_id;
break;
case 14:
pEffId = l_R14_eff_id;
efflist_p = l_R14_eff_id;
break;
case 51:
pEffId = l_R51_eff_id;
efflist_p = l_R51_eff_id;
break;
case 0:
case 3:
@@ -343,14 +341,15 @@ void daObjTrnd2_c::setParticle() {
break;
}
for (int i = 0; i < 3; pEffId++, i++) {
if (*pEffId != 0xffff) {
mParticles[i] = dComIfGp_particle_set(*pEffId, &current.pos, &home.angle, NULL,
0xff, NULL, -1, NULL, NULL, NULL);
for (int i = 0; i < 3; efflist_p++, i++) {
if (*efflist_p != 0xffff) {
mParticles[i] = dComIfGp_particle_set(*efflist_p, &current.pos, &home.angle, NULL, 0xFF,
NULL, -1, NULL, NULL, NULL);
} else {
mParticles[i] = NULL;
}
}
stopParticle();
}
@@ -422,26 +421,24 @@ static int daObjTrnd2_Create(daObjTrnd2_c* i_this) {
/* 80D1D4A4-80D1D4C4 -00001 0020+00 1/0 0/0 0/0 .data l_daObjTrnd2_Method */
static actor_method_class l_daObjTrnd2_Method = {
(process_method_func)daObjTrnd2_Create,
(process_method_func)daObjTrnd2_Delete,
(process_method_func)daObjTrnd2_Execute,
(process_method_func)NULL,
(process_method_func)daObjTrnd2_Create, (process_method_func)daObjTrnd2_Delete,
(process_method_func)daObjTrnd2_Execute, (process_method_func)NULL,
(process_method_func)daObjTrnd2_Draw,
};
extern actor_process_profile_definition g_profile_Obj_Tornado2 = {
fpcLy_CURRENT_e, // mLayerID
7, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_Tornado2, // mProcName
&g_fpcLf_Method.mBase, // sub_method
sizeof(daObjTrnd2_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
0x1BD, // mPriority
&l_daObjTrnd2_Method, // sub_method
0x40000, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
fpcLy_CURRENT_e, // mLayerID
7, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_Tornado2, // mProcName
&g_fpcLf_Method.mBase, // sub_method
sizeof(daObjTrnd2_c), // mDefaultRadius
0, // mDefaultRadiusOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
0x1BD, // mPriority
&l_daObjTrnd2_Method, // sub_method
0x40000, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
+225 -447
View File
@@ -4,602 +4,380 @@
//
#include "rel/d/a/tag/d_a_tag_camera/d_a_tag_camera.h"
#include "dol2asm.h"
//
// Types:
//
struct Vec {};
struct cXyz {
/* 80266B34 */ void operator-(Vec const&) const;
};
struct mDoMtx_stack_c {
/* 8000CD64 */ void transS(cXyz const&);
static u8 now[48];
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
/* 80018C8C */ ~fopAc_ac_c();
};
struct daTag_Cam_c {
/* 80489F14 */ void getSwType();
/* 80489F20 */ void getPrio();
/* 80489F2C */ void getSwBit();
/* 80489F38 */ void getCondition();
/* 80489F44 */ void getCameraId();
/* 80489F50 */ void getRailID();
/* 80489F5C */ void getAreaType();
/* 80489F68 */ void getAreaNoChk();
/* 80489F74 */ void execute();
};
struct daAlink_c {
/* 800E1390 */ void getCopyRodCameraActor();
};
struct dSv_info_c {
/* 80035360 */ void isSwitch(int, int) const;
};
struct dCamera_c {
/* 80163558 */ void SetTagData(fopAc_ac_c*, s32, u16, u8);
};
//
// Forward References:
//
extern "C" static bool func_80489A98();
extern "C" static void func_80489AA0();
extern "C" static void func_80489B18();
extern "C" static void func_80489B2C();
extern "C" static void func_80489B6C();
extern "C" static void func_80489BE0();
extern "C" static void func_80489C04();
extern "C" static void func_80489C1C();
extern "C" static void func_80489C34();
extern "C" static void func_80489C6C();
extern "C" static void func_80489CAC();
extern "C" static void func_80489CE4();
extern "C" static void func_80489CF8();
extern "C" static void func_80489D30();
extern "C" static void func_80489D5C();
extern "C" static void func_80489D70();
extern "C" static void func_80489DB0();
extern "C" static void func_80489DE4();
extern "C" static void func_80489DF8();
extern "C" static void func_80489E18();
extern "C" static void func_80489E8C();
extern "C" static void func_80489EDC();
extern "C" void getSwType__11daTag_Cam_cFv();
extern "C" void getPrio__11daTag_Cam_cFv();
extern "C" void getSwBit__11daTag_Cam_cFv();
extern "C" void getCondition__11daTag_Cam_cFv();
extern "C" void getCameraId__11daTag_Cam_cFv();
extern "C" void getRailID__11daTag_Cam_cFv();
extern "C" void getAreaType__11daTag_Cam_cFv();
extern "C" void getAreaNoChk__11daTag_Cam_cFv();
extern "C" void execute__11daTag_Cam_cFv();
extern "C" static bool daTag_Cam_Draw__FP11daTag_Cam_c();
extern "C" static void daTag_Cam_Execute__FP11daTag_Cam_c();
extern "C" static bool daTag_Cam_IsDelete__FP11daTag_Cam_c();
extern "C" static void daTag_Cam_Delete__FP11daTag_Cam_c();
extern "C" static void daTag_Cam_Create__FP10fopAc_ac_c();
extern "C" extern void* g_profile_TAG_CAMERA[12];
//
// External References:
//
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void getCopyRodCameraActor__9daAlink_cFv();
extern "C" void SetTagData__9dCamera_cFP10fopAc_ac_clUsUc();
extern "C" void dCam_getBody__Fv();
extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void PSMTXMultVec();
extern "C" void _savegpr_27();
extern "C" void _restgpr_27();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u32 __float_nan;
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
//
// Declarations:
//
#include "cmath.h"
#include "d/a/d_a_alink.h"
#include "d/com/d_com_inf_game.h"
#include "rel/d/a/d_a_horse/d_a_horse.h"
namespace {
/* 80489A98-80489AA0 000078 0008+00 1/0 0/0 0/0 .text
* always_true__28@unnamed@d_a_tag_camera_cpp@Fv */
static bool func_80489A98() {
bool always_true() {
return true;
}
/* ############################################################################################## */
/* 8048A670-8048A674 000000 0004+00 15/15 0/0 0/0 .bss Player__28@unnamed@d_a_tag_camera_cpp@ */
static u8 data_8048A670[4];
daAlink_c* Player;
/* 80489AA0-80489B18 000080 0078+00 1/0 0/0 0/0 .text
* is_player_riding_horse__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489AA0() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489AA0.s"
bool is_player_riding_horse() {
return Player->checkHorseRide() || Player->checkBoarRide();
}
#pragma pop
/* 80489B18-80489B2C 0000F8 0014+00 1/0 0/0 0/0 .text
* is_player_swimming__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489B18() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489B18.s"
bool is_player_swimming() {
return dComIfGp_checkPlayerStatus0(0, 0x100000);
}
#pragma pop
/* 80489B2C-80489B6C 00010C 0040+00 1/0 0/0 0/0 .text
* is_player_riding_canoe__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489B2C() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489B2C.s"
bool is_player_riding_canoe() {
return Player->checkCanoeRide() != 0;
}
#pragma pop
/* 80489B6C-80489BE0 00014C 0074+00 1/0 0/0 0/0 .text
* is_player_jumping_by_horse__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489B6C() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489B6C.s"
bool is_player_jumping_by_horse() {
daHorse_c* phorse = dComIfGp_getHorseActor();
return Player->checkHorseRide() && phorse->checkJump();
}
#pragma pop
/* 80489BE0-80489C04 0001C0 0024+00 1/0 0/0 0/0 .text
* is_player_climbing__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489BE0() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489BE0.s"
bool is_player_climbing() {
return dComIfGp_checkPlayerStatus0(0, 0x2000008) != 0;
}
#pragma pop
/* 80489C04-80489C1C 0001E4 0018+00 1/0 0/0 0/0 .text
* is_player_wear_magneboots__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489C04() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489C04.s"
bool is_player_wear_magneboots() {
return Player->checkMagneBootsOn();
}
#pragma pop
/* 80489C1C-80489C34 0001FC 0018+00 1/0 0/0 0/0 .text
* is_player_wolf__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489C1C() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489C1C.s"
bool is_player_wolf() {
return Player->i_checkNowWolf();
}
#pragma pop
/* 80489C34-80489C6C 000214 0038+00 1/0 0/0 0/0 .text
* is_player_pulling_chainblock__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489C34() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489C34.s"
bool is_player_pulling_chainblock() {
return Player->checkChainBlockPushPull();
}
#pragma pop
/* 80489C6C-80489CAC 00024C 0040+00 1/0 0/0 0/0 .text
* is_player_playing_spinner__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489C6C() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489C6C.s"
bool is_player_playing_spinner() {
return Player->checkSpinnerRide() != 0;
}
#pragma pop
/* 80489CAC-80489CE4 00028C 0038+00 1/0 0/0 0/0 .text
* is_player_sliding_slope__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489CAC() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489CAC.s"
bool is_player_sliding_slope() {
return Player->checkLv3Slide();
}
#pragma pop
/* 80489CE4-80489CF8 0002C4 0014+00 2/1 0/0 0/0 .text
* is_player_on_watersurface__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489CE4() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489CE4.s"
bool is_player_on_watersurface() {
return dComIfGp_checkCameraAttentionStatus(0, 0x800) != 0;
}
#pragma pop
/* 80489CF8-80489D30 0002D8 0038+00 1/0 0/0 0/0 .text
* is_player_moving_on_spinnerrail__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489CF8() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489CF8.s"
bool is_player_moving_on_spinnerrail() {
return Player->checkSpinnerPathMove();
}
#pragma pop
/* 80489D30-80489D5C 000310 002C+00 1/0 0/0 0/0 .text
* is_player_gliding__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489D30() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489D30.s"
bool is_player_gliding() {
return Player->checkCokkoGlide();
}
#pragma pop
/* 80489D5C-80489D70 00033C 0014+00 1/0 0/0 0/0 .text
* is_player_hunging_by_hookshot__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489D5C() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489D5C.s"
bool is_player_hunging_by_hookshot() {
return dComIfGp_checkPlayerStatus1(0, 0x10000) != 0;
}
#pragma pop
/* 80489D70-80489DB0 000350 0040+00 1/0 0/0 0/0 .text
* is_player_on_rope__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489D70() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489D70.s"
bool is_player_on_rope() {
return Player->checkWolfRope() != 0;
}
#pragma pop
/* 80489DB0-80489DE4 000390 0034+00 1/0 0/0 0/0 .text
* is_player_using_copyrod__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489DB0() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489DB0.s"
bool is_player_using_copyrod() {
return Player->getCopyRodCameraActor() != NULL;
}
#pragma pop
/* 80489DE4-80489DF8 0003C4 0014+00 1/0 0/0 0/0 .text
* is_player_hunging_wall_by_hookshot__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489DE4() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489DE4.s"
bool is_player_hunging_wall_by_hookshot() {
return dComIfGp_checkPlayerStatus1(0, 0x2000000) != 0;
}
#pragma pop
/* 80489DF8-80489E18 0003D8 0020+00 1/0 0/0 0/0 .text
* is_player_carried_by_cargo__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489DF8() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489DF8.s"
bool is_player_carried_by_cargo() {
return Player->checkCargoCarry();
}
#pragma pop
/* 80489E18-80489E8C 0003F8 0074+00 1/0 0/0 0/0 .text
* is_player_playing_rodeo__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489E18() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489E18.s"
bool is_player_playing_rodeo() {
daHorse_c* phorse = dComIfGp_getHorseActor();
return Player->checkHorseRide() && phorse->checkRodeoMode();
}
#pragma pop
/* 80489E8C-80489EDC 00046C 0050+00 1/0 0/0 0/0 .text
* is_player_in_water__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489E8C() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489E8C.s"
bool is_player_in_water() {
return dComIfGp_checkPlayerStatus0(0, 0x100000) && !is_player_on_watersurface();
}
#pragma pop
/* 80489EDC-80489F14 0004BC 0038+00 1/0 0/0 0/0 .text
* is_player_hugging_eal__28@unnamed@d_a_tag_camera_cpp@Fv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80489EDC() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/func_80489EDC.s"
bool is_player_hugging_eal() {
return Player->checkOctaIealHang();
}
#pragma pop
} // namespace
/* 80489F14-80489F20 0004F4 000C+00 1/1 0/0 0/0 .text getSwType__11daTag_Cam_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Cam_c::getSwType() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/getSwType__11daTag_Cam_cFv.s"
u8 daTag_Cam_c::getSwType() {
return fopAcM_GetParam(this) & 0xF;
}
#pragma pop
/* 80489F20-80489F2C 000500 000C+00 1/1 0/0 0/0 .text getPrio__11daTag_Cam_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Cam_c::getPrio() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/getPrio__11daTag_Cam_cFv.s"
u8 daTag_Cam_c::getPrio() {
return (fopAcM_GetParam(this) >> 4) & 0xF;
}
#pragma pop
/* 80489F2C-80489F38 00050C 000C+00 1/1 0/0 0/0 .text getSwBit__11daTag_Cam_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Cam_c::getSwBit() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/getSwBit__11daTag_Cam_cFv.s"
u8 daTag_Cam_c::getSwBit() {
return (fopAcM_GetParam(this) >> 8) & 0xFF;
}
#pragma pop
/* 80489F38-80489F44 000518 000C+00 2/2 0/0 0/0 .text getCondition__11daTag_Cam_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Cam_c::getCondition() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/getCondition__11daTag_Cam_cFv.s"
u8 daTag_Cam_c::getCondition() {
return (fopAcM_GetParam(this) >> 0x10) & 0xFF;
}
#pragma pop
/* 80489F44-80489F50 000524 000C+00 1/1 0/0 0/0 .text getCameraId__11daTag_Cam_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Cam_c::getCameraId() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/getCameraId__11daTag_Cam_cFv.s"
u8 daTag_Cam_c::getCameraId() {
return (fopAcM_GetParam(this) >> 0x18) & 0xFF;
}
#pragma pop
/* 80489F50-80489F5C 000530 000C+00 1/1 0/0 0/0 .text getRailID__11daTag_Cam_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Cam_c::getRailID() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/getRailID__11daTag_Cam_cFv.s"
u8 daTag_Cam_c::getRailID() {
return home.angle.z & 0xFF;
}
#pragma pop
/* 80489F5C-80489F68 00053C 000C+00 2/2 0/0 0/0 .text getAreaType__11daTag_Cam_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Cam_c::getAreaType() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/getAreaType__11daTag_Cam_cFv.s"
u16 daTag_Cam_c::getAreaType() {
return home.angle.z & 0x100;
}
#pragma pop
/* 80489F68-80489F74 000548 000C+00 1/1 0/0 0/0 .text getAreaNoChk__11daTag_Cam_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Cam_c::getAreaNoChk() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/getAreaNoChk__11daTag_Cam_cFv.s"
u16 daTag_Cam_c::getAreaNoChk() {
return home.angle.z & 0x200;
}
#pragma pop
/* ############################################################################################## */
/* 8048A590-8048A59C 000000 000C+00 2/2 0/0 0/0 .rodata @3874 */
SECTION_RODATA static u8 const lit_3874[12] = {
static u8 const lit_3874[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x8048A590, &lit_3874);
/* 8048A59C-8048A5F4 -00001 0058+00 0/0 0/0 0/0 .rodata @4358 */
#pragma push
#pragma force_active on
SECTION_RODATA static void* const lit_4358[22] = {
(void*)func_80489AA0, (void*)func_80489B18, (void*)func_80489B2C, (void*)func_80489A98,
(void*)func_80489B6C, (void*)func_80489BE0, (void*)func_80489C04, (void*)func_80489C1C,
(void*)func_80489C34, (void*)func_80489C6C, (void*)func_80489CAC, (void*)func_80489CE4,
(void*)func_80489CF8, (void*)func_80489D30, (void*)func_80489D5C, (void*)func_80489D70,
(void*)func_80489DB0, (void*)func_80489DE4, (void*)func_80489DF8, (void*)func_80489E18,
(void*)func_80489E8C, (void*)func_80489EDC,
};
COMPILER_STRIP_GATE(0x8048A59C, &lit_4358);
#pragma pop
int daTag_Cam_c::create() {
fopAcM_SetupActor(this, daTag_Cam_c);
/* 8048A5F4-8048A5F8 000064 0004+00 0/1 0/0 0/0 .rodata @4466 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4466 = 80.0f;
COMPILER_STRIP_GATE(0x8048A5F4, &lit_4466);
#pragma pop
if (getAreaType() == 0) {
scale.x *= 500.0f;
scale.y *= 1000.0f;
scale.z *= 500.0f;
/* 8048A5F8-8048A600 000068 0004+04 0/2 0/0 0/0 .rodata @4467 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4467[4 + 4 /* padding */] = {
0x00,
0x00,
0x00,
0x00,
/* padding */
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x8048A5F8, &lit_4467);
#pragma pop
mBoundsLo.set(current.pos.x - scale.x, current.pos.y, current.pos.z - scale.z);
mBoundsHi.set(current.pos.x + scale.x, current.pos.y + scale.y, current.pos.z + scale.z);
} else {
scale.x *= 1000.0f;
scale.y *= 1000.0f;
scale.z *= 0.0f;
/* 8048A600-8048A608 000070 0008+00 0/1 0/0 0/0 .rodata @4468 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4468[8] = {
0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x8048A600, &lit_4468);
#pragma pop
mBoundsLo.set(0.0f, current.pos.y, 0.0f);
mBoundsHi.set(0.0f, current.pos.y + scale.y, 0.0f);
}
/* 8048A608-8048A610 000078 0008+00 0/1 0/0 0/0 .rodata @4469 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4469[8] = {
0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x8048A608, &lit_4469);
#pragma pop
Player = daAlink_getAlinkActorClass();
/* 8048A610-8048A618 000080 0008+00 0/1 0/0 0/0 .rodata @4470 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4470[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x8048A610, &lit_4470);
#pragma pop
bool (*check_func[])() = {
is_player_riding_horse,
is_player_swimming,
is_player_riding_canoe,
always_true,
is_player_jumping_by_horse,
is_player_climbing,
is_player_wear_magneboots,
is_player_wolf,
is_player_pulling_chainblock,
is_player_playing_spinner,
is_player_sliding_slope,
is_player_on_watersurface,
is_player_moving_on_spinnerrail,
is_player_gliding,
is_player_hunging_by_hookshot,
is_player_on_rope,
is_player_using_copyrod,
is_player_hunging_wall_by_hookshot,
is_player_carried_by_cargo,
is_player_playing_rodeo,
is_player_in_water,
is_player_hugging_eal,
};
u8 func_index = getCondition();
if ((int)func_index > 22) {
func_index = 3;
}
mCheckFunc = check_func[func_index];
return cPhs_COMPLEATE_e;
}
/* 80489F74-8048A378 000554 0404+00 1/1 0/0 0/0 .text execute__11daTag_Cam_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Cam_c::execute() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/execute__11daTag_Cam_cFv.s"
int daTag_Cam_c::execute() {
if (fopAcM_GetRoomNo(this) != dComIfGp_roomControl_getStayNo()) {
return 0;
}
u8 sw_type = getSwType();
u8 sw_bit = getSwBit();
bool var_r29 = false;
bool do_area_check = false;
if (sw_bit != 0xFF) {
bool is_switch_on = dComIfGs_isSwitch(sw_bit, fopAcM_GetRoomNo(this)) != 0;
if ((sw_type != 0 && is_switch_on) || (sw_type == 0 && !is_switch_on)) {
do_area_check = true;
}
} else {
do_area_check = true;
}
if (do_area_check) {
cXyz pos(dComIfGp_getLinkPlayer()->current.pos);
if (dComIfGp_checkPlayerStatus0(0, 8)) {
pos = dComIfGp_getLinkPlayer()->attention_info.position;
pos.y -= 80.0f;
}
if (getAreaNoChk()) {
var_r29 = true;
} else if (getAreaType() == 0) {
if (home.angle.y != 0) {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::YrotM(-home.angle.y);
cXyz sp84 = pos - current.pos;
mDoMtx_stack_c::multVec(&sp84, &pos);
}
if (mBoundsLo.x <= pos.x && pos.x <= mBoundsHi.x && mBoundsLo.y <= pos.y &&
pos.y <= mBoundsHi.y && mBoundsLo.z <= pos.z && pos.z <= mBoundsHi.z)
{
var_r29 = true;
}
} else {
f32 temp_f31 = current.pos.x - pos.x;
f32 temp_f30 = current.pos.z - pos.z;
f32 sq_dist = std::sqrt(temp_f31 * temp_f31 + temp_f30 * temp_f30);
if (sq_dist < scale.x && mBoundsLo.y <= pos.y && pos.y <= mBoundsHi.y) {
var_r29 = true;
}
}
}
if (var_r29) {
u16 priority = getPrio();
u8 condition = getCondition();
bool set_camera = mCheckFunc();
if (condition == 0xFF) {
priority |= 0x8000;
} else if (condition == 0xFA) {
if (dCam_getBody()->CheckFlag(0x8000000)) {
set_camera = true;
}
}
if (set_camera) {
u8 cam_id = getCameraId();
u8 rail_id = getRailID();
dCam_getBody()->SetTagData(this, cam_id, priority, rail_id);
}
}
return 1;
}
#pragma pop
/* 8048A378-8048A380 000958 0008+00 1/0 0/0 0/0 .text daTag_Cam_Draw__FP11daTag_Cam_c */
static bool daTag_Cam_Draw(daTag_Cam_c* param_0) {
return true;
static int daTag_Cam_Draw(daTag_Cam_c* i_this) {
return 1;
}
/* 8048A380-8048A3A4 000960 0024+00 1/0 0/0 0/0 .text daTag_Cam_Execute__FP11daTag_Cam_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTag_Cam_Execute(daTag_Cam_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/daTag_Cam_Execute__FP11daTag_Cam_c.s"
static int daTag_Cam_Execute(daTag_Cam_c* i_this) {
i_this->execute();
return 1;
}
#pragma pop
/* 8048A3A4-8048A3AC 000984 0008+00 1/0 0/0 0/0 .text daTag_Cam_IsDelete__FP11daTag_Cam_c
*/
static bool daTag_Cam_IsDelete(daTag_Cam_c* param_0) {
return true;
static int daTag_Cam_IsDelete(daTag_Cam_c* i_this) {
return 1;
}
/* 8048A3AC-8048A3DC 00098C 0030+00 1/0 0/0 0/0 .text daTag_Cam_Delete__FP11daTag_Cam_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTag_Cam_Delete(daTag_Cam_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/daTag_Cam_Delete__FP11daTag_Cam_c.s"
static int daTag_Cam_Delete(daTag_Cam_c* i_this) {
i_this->~daTag_Cam_c();
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 8048A618-8048A61C 000088 0004+00 0/1 0/0 0/0 .rodata @4545 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4545 = 500.0f;
COMPILER_STRIP_GATE(0x8048A618, &lit_4545);
#pragma pop
/* 8048A61C-8048A620 00008C 0004+00 0/1 0/0 0/0 .rodata @4546 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4546 = 1000.0f;
COMPILER_STRIP_GATE(0x8048A61C, &lit_4546);
#pragma pop
/* 8048A3DC-8048A588 0009BC 01AC+00 1/0 0/0 0/0 .text daTag_Cam_Create__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTag_Cam_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_camera/d_a_tag_camera/daTag_Cam_Create__FP10fopAc_ac_c.s"
static int daTag_Cam_Create(fopAc_ac_c* i_this) {
daTag_Cam_c* a_this = (daTag_Cam_c*)i_this;
return a_this->create();
}
#pragma pop
/* ############################################################################################## */
/* 8048A620-8048A640 -00001 0020+00 1/0 0/0 0/0 .data l_daTag_Cam_Method */
SECTION_DATA static void* l_daTag_Cam_Method[8] = {
(void*)daTag_Cam_Create__FP10fopAc_ac_c,
(void*)daTag_Cam_Delete__FP11daTag_Cam_c,
(void*)daTag_Cam_Execute__FP11daTag_Cam_c,
(void*)daTag_Cam_IsDelete__FP11daTag_Cam_c,
(void*)daTag_Cam_Draw__FP11daTag_Cam_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daTag_Cam_Method = {
(process_method_func)daTag_Cam_Create, (process_method_func)daTag_Cam_Delete,
(process_method_func)daTag_Cam_Execute, (process_method_func)daTag_Cam_IsDelete,
(process_method_func)daTag_Cam_Draw,
};
/* 8048A640-8048A670 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_CAMERA */
SECTION_DATA extern void* g_profile_TAG_CAMERA[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x02CF0000, (void*)&g_fpcLf_Method,
(void*)0x0000058C, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x01170000, (void*)&l_daTag_Cam_Method,
(void*)0x00044000, (void*)0x00060000,
extern actor_process_profile_definition g_profile_TAG_CAMERA = {
fpcLy_CURRENT_e, // mLayerID
7, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_TAG_CAMERA, // mProcName
&g_fpcLf_Method.mBase, // sub_method
sizeof(daTag_Cam_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
279, // mPriority
&l_daTag_Cam_Method, // sub_method
0x00044000, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_6_e, // cullType
};
+212 -385
View File
@@ -1,454 +1,281 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_msg
//
/**
* d_a_tag_msg.cpp
*
*/
#include "rel/d/a/tag/d_a_tag_msg/d_a_tag_msg.h"
#include "d/a/d_a_player.h"
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
/* 80018C8C */ ~fopAc_ac_c();
};
struct daTag_Msg_c {
/* 8048F7F8 */ ~daTag_Msg_c();
/* 8048F878 */ void create();
/* 8048F954 */ void createHeap();
/* 8048F9B4 */ void destroy();
/* 8048F9E8 */ void execute();
/* 8048FC68 */ bool draw();
/* 8048FC70 */ void rangeCheck();
/* 8048FE18 */ void otherCheck();
/* 8048FF8C */ void getResName();
/* 8048FF9C */ void getParam();
/* 8049004C */ void cut_speak(int, int);
static void* mEvtCutTBL[2];
};
struct daTag_Msg_Param_c {
/* 80490128 */ ~daTag_Msg_Param_c();
static u8 const m[1 + 3 /* padding */];
};
struct dSv_info_c {
/* 80035200 */ void onSwitch(int, int);
/* 80035360 */ void isSwitch(int, int) const;
};
struct dSv_event_flag_c {
static u8 saveBitLabels[1644 + 4 /* padding */];
};
struct dSv_event_c {
/* 800349BC */ void isEventBit(u16) const;
};
struct dMsgFlow_c {
/* 80249F00 */ dMsgFlow_c();
/* 80249F48 */ ~dMsgFlow_c();
/* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**);
/* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int);
};
struct dEvt_control_c {
/* 80042468 */ void reset();
};
struct dEvent_manager_c {
/* 80047758 */ void getEventIdx(fopAc_ac_c*, char const*, u8);
/* 80047A78 */ void endCheck(s16);
/* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int);
/* 80047D4C */ void getIsAddvance(int);
/* 80047E10 */ void getMyActIdx(int, char const* const*, int, int, int);
/* 8004817C */ void cutEnd(int);
};
struct Vec {};
struct cXyz {
/* 80266B34 */ void operator-(Vec const&) const;
};
//
// Forward References:
//
extern "C" static void createHeapCallBack__FP10fopAc_ac_c();
extern "C" void __dt__11daTag_Msg_cFv();
extern "C" void create__11daTag_Msg_cFv();
extern "C" void createHeap__11daTag_Msg_cFv();
extern "C" void destroy__11daTag_Msg_cFv();
extern "C" void execute__11daTag_Msg_cFv();
extern "C" bool draw__11daTag_Msg_cFv();
extern "C" void rangeCheck__11daTag_Msg_cFv();
extern "C" void otherCheck__11daTag_Msg_cFv();
extern "C" void getResName__11daTag_Msg_cFv();
extern "C" void getParam__11daTag_Msg_cFv();
extern "C" void cut_speak__11daTag_Msg_cFii();
extern "C" static void daTag_Msg_Create__FPv();
extern "C" static void daTag_Msg_Delete__FPv();
extern "C" static void daTag_Msg_Execute__FPv();
extern "C" static void daTag_Msg_Draw__FPv();
extern "C" static bool daTag_Msg_IsDelete__FPv();
extern "C" void __dt__17daTag_Msg_Param_cFv();
extern "C" u8 const m__17daTag_Msg_Param_c[1 + 3 /* padding */];
extern "C" extern char const* const d_a_tag_msg__stringBase0;
extern "C" void* mEvtCutTBL__11daTag_Msg_c[2];
//
// External References:
//
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void isEventBit__11dSv_event_cCFUs();
extern "C" void onSwitch__10dSv_info_cFii();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void reset__14dEvt_control_cFv();
extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc();
extern "C" void endCheck__16dEvent_manager_cFs();
extern "C" void getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci();
extern "C" void getIsAddvance__16dEvent_manager_cFi();
extern "C" void getMyActIdx__16dEvent_manager_cFiPCPCciii();
extern "C" void cutEnd__16dEvent_manager_cFi();
extern "C" void __ct__10dMsgFlow_cFv();
extern "C" void __dt__10dMsgFlow_cFv();
extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c();
extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci();
extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void PSVECSquareMag();
extern "C" void _savegpr_26();
extern "C" void _restgpr_26();
extern "C" void strcpy();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u32 __float_nan;
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
//
// Declarations:
//
/* 8048F7D8-8048F7F8 000078 0020+00 1/1 0/0 0/0 .text createHeapCallBack__FP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void createHeapCallBack(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_msg/d_a_tag_msg/createHeapCallBack__FP10fopAc_ac_c.s"
static int createHeapCallBack(fopAc_ac_c* i_this) {
return ((daTag_Msg_c*)i_this)->createHeap();
}
#pragma pop
/* ############################################################################################## */
/* 804901A4-804901A4 00002C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_804901A4 = "TagMsg";
SECTION_DEAD static char const* const stringBase_804901AB = "SPEAK";
SECTION_DEAD static char const* const stringBase_804901B1 = "Tag_ms";
SECTION_DEAD static char const* const stringBase_804901B8 = "PAUSE";
#pragma pop
/* 804901C4-804901C8 -00001 0004+00 1/1 0/0 0/0 .data l_resName */
SECTION_DATA static void* l_resName = (void*)&d_a_tag_msg__stringBase0;
static char* l_resName = "TagMsg";
/* 804901C8-804901D0 -00001 0008+00 1/1 0/0 0/0 .data l_evtNameTBL */
SECTION_DATA static void* l_evtNameTBL[2] = {
(void*)NULL,
(void*)(((char*)&d_a_tag_msg__stringBase0) + 0x7),
};
/* 804901D0-804901D8 -00001 0008+00 1/1 0/0 0/0 .data mEvtCutTBL__11daTag_Msg_c */
SECTION_DATA void* daTag_Msg_c::mEvtCutTBL[2] = {
(void*)(((char*)&d_a_tag_msg__stringBase0) + 0x7),
(void*)(((char*)&d_a_tag_msg__stringBase0) + 0x14),
};
/* 804901D8-804901F8 -00001 0020+00 1/0 0/0 0/0 .data daTag_Msg_MethodTable */
SECTION_DATA static void* daTag_Msg_MethodTable[8] = {
(void*)daTag_Msg_Create__FPv,
(void*)daTag_Msg_Delete__FPv,
(void*)daTag_Msg_Execute__FPv,
(void*)daTag_Msg_IsDelete__FPv,
(void*)daTag_Msg_Draw__FPv,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 804901F8-80490228 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_MSG */
SECTION_DATA extern void* g_profile_TAG_MSG[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x02D50000, (void*)&g_fpcLf_Method,
(void*)0x000005E8, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x011D0000, (void*)&daTag_Msg_MethodTable,
(void*)0x00044000, (void*)0x000E0000,
};
/* 80490228-80490234 000064 000C+00 2/2 0/0 0/0 .data __vt__17daTag_Msg_Param_c */
SECTION_DATA extern void* __vt__17daTag_Msg_Param_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__17daTag_Msg_Param_cFv,
};
/* 80490234-80490240 000070 000C+00 2/2 0/0 0/0 .data __vt__11daTag_Msg_c */
SECTION_DATA extern void* __vt__11daTag_Msg_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__11daTag_Msg_cFv,
static char* l_evtNameTBL[2] = {
NULL,
"SPEAK",
};
/* 8048F7F8-8048F878 000098 0080+00 1/0 0/0 0/0 .text __dt__11daTag_Msg_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daTag_Msg_c::~daTag_Msg_c() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_msg/d_a_tag_msg/__dt__11daTag_Msg_cFv.s"
daTag_Msg_c::~daTag_Msg_c() {
dComIfG_resDelete(&mPhase, getResName());
}
#pragma pop
/* 8048F878-8048F954 000118 00DC+00 1/1 0/0 0/0 .text create__11daTag_Msg_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Msg_c::create() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_msg/d_a_tag_msg/create__11daTag_Msg_cFv.s"
int daTag_Msg_c::create() {
fopAcM_SetupActor(this, daTag_Msg_c);
int phase_state = dComIfG_resLoad(&mPhase, getResName());
if (phase_state == cPhs_COMPLEATE_e) {
attention_info.flags = 0x20000008;
getParam();
eventInfo.setArchiveName(getResName());
mEventIdx = -1;
if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x10)) {
return cPhs_ERROR_e;
}
}
return phase_state;
}
#pragma pop
/* 8048F954-8048F9B4 0001F4 0060+00 1/1 0/0 0/0 .text createHeap__11daTag_Msg_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Msg_c::createHeap() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_msg/d_a_tag_msg/createHeap__11daTag_Msg_cFv.s"
int daTag_Msg_c::createHeap() {
mParam = new daTag_Msg_Param_c();
if (mParam == NULL) {
return 0;
}
return 1;
}
#pragma pop
/* 8048F9B4-8048F9E8 000254 0034+00 1/1 0/0 0/0 .text destroy__11daTag_Msg_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Msg_c::destroy() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_msg/d_a_tag_msg/destroy__11daTag_Msg_cFv.s"
int daTag_Msg_c::destroy() {
this->~daTag_Msg_c();
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 80490178-8049017C 000000 0001+03 1/1 0/0 0/0 .rodata m__17daTag_Msg_Param_c */
SECTION_RODATA u8 const daTag_Msg_Param_c::m[1 + 3 /* padding */] = {
0x00,
/* padding */
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80490178, &daTag_Msg_Param_c::m);
/* 8049017C-80490180 000004 0004+00 1/1 0/0 0/0 .rodata @3757 */
SECTION_RODATA static f32 const lit_3757 = 150.0f;
COMPILER_STRIP_GATE(0x8049017C, &lit_3757);
const daTag_Msg_HIO_Param_c daTag_Msg_Param_c::m = {0};
/* 8048F9E8-8048FC68 000288 0280+00 1/1 0/0 0/0 .text execute__11daTag_Msg_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Msg_c::execute() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_msg/d_a_tag_msg/execute__11daTag_Msg_cFv.s"
int daTag_Msg_c::execute() {
bool set_event = true;
fopAcM_SetRoomNo(this, dComIfGp_roomControl_getStayNo());
eyePos.set(current.pos.x, current.pos.y + 150.0f, current.pos.z);
attention_info.position = eyePos;
dComIfG_play_c& play = g_dComIfG_gameInfo.play; // FAKE, event inlines need to be fixed
if (play.getEvent().runCheck()) {
set_event = false;
if (eventInfo.checkCommandTalk()) {
if (cut_speak(-1, field_0x5e4)) {
if (field_0x5dc == 1 && mOffSwitch != 0xFF) {
dComIfGs_onSwitch(mOffSwitch, fopAcM_GetRoomNo(this));
}
play.getEvent().reset();
set_event = true;
}
field_0x5e4 = 0;
} else if (mEventIdx != -1) {
if (dComIfGp_getEventManager().endCheck(mEventIdx)) {
mOrderEvtNum = 0;
mEventIdx = -1;
if (field_0x5dc == 0 && mOffSwitch != 0xFF) {
dComIfGs_onSwitch(mOffSwitch, fopAcM_GetRoomNo(this));
}
play.getEvent().reset();
set_event = true;
} else {
int staff_id = dComIfGp_evmng_getMyStaffId(mStaffName, NULL, 0);
int act_idx = dComIfGp_getEventManager().getMyActIdx(staff_id, mEvtCutTBL, 2, 0, 0);
int is_advance = dComIfGp_getEventManager().getIsAddvance(staff_id);
BOOL var_r27 = false;
switch (act_idx) {
case 0:
var_r27 = cut_speak(staff_id, is_advance);
break;
}
if (var_r27) {
dComIfGp_getEventManager().cutEnd(staff_id);
}
}
}
}
if (set_event && rangeCheck() && otherCheck()) {
if (field_0x5dd) {
mOrderEvtNum = 1;
JUT_ASSERT(0 != l_evtNameTBL[mOrderEvtNum]);
mEventIdx =
dComIfGp_getEventManager().getEventIdx(this, l_evtNameTBL[mOrderEvtNum], 0xFF);
fopAcM_orderOtherEventId(this, mEventIdx, 0xFF, 0xFFFF, 0, 1);
} else {
eventInfo.i_onCondition(1);
field_0x5e4 = 1;
}
}
return 1;
}
#pragma pop
/* 8048FC68-8048FC70 000508 0008+00 1/1 0/0 0/0 .text draw__11daTag_Msg_cFv */
bool daTag_Msg_c::draw() {
return true;
int daTag_Msg_c::draw() {
return 1;
}
/* ############################################################################################## */
/* 80490180-80490188 000008 0004+04 0/1 0/0 0/0 .rodata @3813 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3813[4 + 4 /* padding */] = {
0x00,
0x00,
0x00,
0x00,
/* padding */
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80490180, &lit_3813);
#pragma pop
/* 80490188-80490190 000010 0008+00 0/1 0/0 0/0 .rodata @3814 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3814[8] = {
0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80490188, &lit_3814);
#pragma pop
/* 80490190-80490198 000018 0008+00 0/1 0/0 0/0 .rodata @3815 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3815[8] = {
0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80490190, &lit_3815);
#pragma pop
/* 80490198-804901A0 000020 0008+00 0/1 0/0 0/0 .rodata @3816 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3816[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80490198, &lit_3816);
#pragma pop
/* 8048FC70-8048FE18 000510 01A8+00 1/1 0/0 0/0 .text rangeCheck__11daTag_Msg_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Msg_c::rangeCheck() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_msg/d_a_tag_msg/rangeCheck__11daTag_Msg_cFv.s"
BOOL daTag_Msg_c::rangeCheck() {
cXyz player_dist = daPy_getPlayerActorClass()->current.pos - current.pos;
return player_dist.absXZ() < scale.x && (-scale.y < player_dist.y && player_dist.y < scale.y);
}
#pragma pop
/* 8048FE18-8048FF8C 0006B8 0174+00 1/1 0/0 0/0 .text otherCheck__11daTag_Msg_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Msg_c::otherCheck() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_msg/d_a_tag_msg/otherCheck__11daTag_Msg_cFv.s"
BOOL daTag_Msg_c::otherCheck() {
if (field_0x5dc) {
if (mOnSaveLabel == 0xFFF ||
dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[mOnSaveLabel]))
{
if (mOffSaveLabel != 0xFFF &&
dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[mOffSaveLabel]))
{
return false;
}
} else {
return false;
}
} else if (mOnSwitch == 0xFF || dComIfGs_isSwitch(mOnSwitch, fopAcM_GetRoomNo(this))) {
if (mOffSwitch != 0xFF && dComIfGs_isSwitch(mOffSwitch, fopAcM_GetRoomNo(this))) {
return false;
}
} else {
return false;
}
if (field_0x5dd) {
return 1;
}
s16 var_r28 = fopAcM_searchActorAngleY(this, daPy_getPlayerActorClass()) + 0x7FFF;
s16 angle_to_player = var_r28 - daPy_getPlayerActorClass()->current.angle.y;
if (angle_to_player < 0) {
angle_to_player = -angle_to_player;
}
return angle_to_player <= 0x1000;
}
#pragma pop
/* 8048FF8C-8048FF9C 00082C 0010+00 2/2 0/0 0/0 .text getResName__11daTag_Msg_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Msg_c::getResName() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_msg/d_a_tag_msg/getResName__11daTag_Msg_cFv.s"
char* daTag_Msg_c::getResName() {
return l_resName;
}
#pragma pop
/* ############################################################################################## */
/* 804901A0-804901A4 000028 0004+00 1/1 0/0 0/0 .rodata @3880 */
SECTION_RODATA static f32 const lit_3880 = 100.0f;
COMPILER_STRIP_GATE(0x804901A0, &lit_3880);
/* 8048FF9C-8049004C 00083C 00B0+00 1/1 0/0 0/0 .text getParam__11daTag_Msg_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Msg_c::getParam() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_msg/d_a_tag_msg/getParam__11daTag_Msg_cFv.s"
void daTag_Msg_c::getParam() {
mOnSwitch = home.angle.x & 0xFF;
mOffSwitch = (home.angle.x >> 8) & 0xFF;
mOnSaveLabel = fopAcM_GetParam(this) & 0xFFF;
mOffSaveLabel = (fopAcM_GetParam(this) >> 0xC) & 0xFFF;
field_0x5dc = (fopAcM_GetParam(this) & 0x1000000) != 0;
field_0x5dd = (fopAcM_GetParam(this) & 0x2000000) != 0;
if ((home.angle.z & 0xFFFF) != 0) {
mFlowID = home.angle.z & 0xFFFF;
} else {
mFlowID = -1;
}
scale.x *= 100.0f;
scale.y *= 100.0f;
strcpy(mStaffName, "Tag_ms");
}
#pragma pop
/* 804901D0-804901D8 -00001 0008+00 1/1 0/0 0/0 .data mEvtCutTBL__11daTag_Msg_c */
SECTION_DATA char* daTag_Msg_c::mEvtCutTBL[2] = {
"SPEAK",
"PAUSE",
};
/* 8049004C-804900A0 0008EC 0054+00 1/1 0/0 0/0 .text cut_speak__11daTag_Msg_cFii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Msg_c::cut_speak(int param_0, int param_1) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_msg/d_a_tag_msg/cut_speak__11daTag_Msg_cFii.s"
BOOL daTag_Msg_c::cut_speak(int i_staffId, BOOL i_isAdvance) {
if (i_isAdvance) {
mMsgFlow.init(this, mFlowID, 0, NULL);
return false;
} else {
return mMsgFlow.doFlow(this, NULL, 0);
}
}
#pragma pop
/* 804900A0-804900C0 000940 0020+00 1/0 0/0 0/0 .text daTag_Msg_Create__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTag_Msg_Create(void* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_msg/d_a_tag_msg/daTag_Msg_Create__FPv.s"
static int daTag_Msg_Create(void* i_this) {
return ((daTag_Msg_c*)i_this)->create();
}
#pragma pop
/* 804900C0-804900E0 000960 0020+00 1/0 0/0 0/0 .text daTag_Msg_Delete__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTag_Msg_Delete(void* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_msg/d_a_tag_msg/daTag_Msg_Delete__FPv.s"
static int daTag_Msg_Delete(void* i_this) {
return ((daTag_Msg_c*)i_this)->destroy();
}
#pragma pop
/* 804900E0-80490100 000980 0020+00 1/0 0/0 0/0 .text daTag_Msg_Execute__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTag_Msg_Execute(void* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_msg/d_a_tag_msg/daTag_Msg_Execute__FPv.s"
static int daTag_Msg_Execute(void* i_this) {
return ((daTag_Msg_c*)i_this)->execute();
}
#pragma pop
/* 80490100-80490120 0009A0 0020+00 1/0 0/0 0/0 .text daTag_Msg_Draw__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTag_Msg_Draw(void* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_msg/d_a_tag_msg/daTag_Msg_Draw__FPv.s"
static int daTag_Msg_Draw(void* i_this) {
return ((daTag_Msg_c*)i_this)->draw();
}
#pragma pop
/* 80490120-80490128 0009C0 0008+00 1/0 0/0 0/0 .text daTag_Msg_IsDelete__FPv */
static bool daTag_Msg_IsDelete(void* param_0) {
return true;
static int daTag_Msg_IsDelete(void* i_this) {
return 1;
}
/* 80490128-80490170 0009C8 0048+00 1/0 0/0 0/0 .text __dt__17daTag_Msg_Param_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daTag_Msg_Param_c::~daTag_Msg_Param_c() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_msg/d_a_tag_msg/__dt__17daTag_Msg_Param_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 804901BE-804901C4 000046 0006+00 0/0 0/0 0/0 .rodata None */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_804901BE = "Timer";
#pragma pop
/* 804901A4-804901A4 00002C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 804901D8-804901F8 -00001 0020+00 1/0 0/0 0/0 .data daTag_Msg_MethodTable */
static actor_method_class daTag_Msg_MethodTable = {
(process_method_func)daTag_Msg_Create, (process_method_func)daTag_Msg_Delete,
(process_method_func)daTag_Msg_Execute, (process_method_func)daTag_Msg_IsDelete,
(process_method_func)daTag_Msg_Draw,
};
/* 804901F8-80490228 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_MSG */
extern actor_process_profile_definition g_profile_TAG_MSG = {
fpcLy_CURRENT_e, // mLayerID
7, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_TAG_MSG, // mProcName
&g_fpcLf_Method.mBase, // sub_method
sizeof(daTag_Msg_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
285, // mPriority
&daTag_Msg_MethodTable, // sub_method
0x00044000, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};