fix some nonmatching functions (#2141)

This commit is contained in:
Caroline Madsen
2024-04-28 22:33:32 -04:00
committed by GitHub
parent 669c7d920b
commit 7339a87bd9
75 changed files with 673 additions and 6374 deletions
+15 -15
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 | 48.756584% | 1753552 | 3596544
.text | 49.026510% | 1763260 | 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 | 54.157315% | 2177488 | 4020672
Total | 54.398767% | 2187196 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 54.157315% | 2177488 | 4020672
RELs | 37.818239% | 4349220 | 11500324
Total | 42.050832% | 6526708 | 15520996
main.dol | 54.398767% | 2187196 | 4020672
RELs | 37.972321% | 4366940 | 11500324
Total | 42.227548% | 6554136 | 15520996
## RELs
@@ -33,8 +33,8 @@ d_a_L7low_dr | 38.905775% | 1536 | 3948
d_a_L7op_demo_dr | 26.198715% | 4240 | 16184
d_a_alldie | 100.000000% | 2096 | 2096
d_a_andsw | 100.000000% | 1064 | 1064
d_a_andsw2 | 91.011236% | 4212 | 4628
d_a_arrow | 28.104690% | 6400 | 22772
d_a_andsw2 | 100.000000% | 4628 | 4628
d_a_arrow | 33.409450% | 7608 | 22772
d_a_b_bh | 24.452445% | 6520 | 26664
d_a_b_bq | 28.033347% | 11164 | 39824
d_a_b_dr | 27.536664% | 18476 | 67096
@@ -79,7 +79,7 @@ d_a_door_bossL1 | 100.000000% | 18732 | 18732
d_a_door_bossL5 | 100.000000% | 10280 | 10280
d_a_door_dbdoor00 | 100.000000% | 7620 | 7620
d_a_door_knob00 | 100.000000% | 12288 | 12288
d_a_door_mbossL1 | 34.467633% | 10372 | 30092
d_a_door_mbossL1 | 53.077230% | 15972 | 30092
d_a_door_push | 100.000000% | 7032 | 7032
d_a_door_shutter | 37.465797% | 14240 | 38008
d_a_door_spiral | 100.000000% | 504 | 504
@@ -336,7 +336,7 @@ d_a_npc_zant | 38.262795% | 6220 | 16256
d_a_npc_zelR | 37.762547% | 6832 | 18092
d_a_npc_zelRo | 37.784656% | 6836 | 18092
d_a_npc_zelda | 37.603569% | 7080 | 18828
d_a_npc_zra | 24.569698% | 26608 | 108296
d_a_npc_zra | 27.520869% | 29804 | 108296
d_a_npc_zrc | 32.120762% | 10384 | 32328
d_a_npc_zrz | 31.977232% | 13708 | 42868
d_a_obj_Lv5Key | 37.172105% | 2324 | 6252
@@ -683,7 +683,7 @@ d_a_obj_zdoor | 45.037688% | 2868 | 6368
d_a_obj_zrTurara | 65.733114% | 4788 | 7284
d_a_obj_zrTuraraRock | 100.000000% | 5296 | 5296
d_a_obj_zraMark | 34.016942% | 3052 | 8972
d_a_obj_zra_freeze | 89.053803% | 3840 | 4312
d_a_obj_zra_freeze | 100.000000% | 4312 | 4312
d_a_obj_zra_rock | 100.000000% | 4212 | 4212
d_a_passer_mng | 31.038027% | 2416 | 7784
d_a_path_line | 100.000000% | 508 | 508
@@ -707,7 +707,7 @@ d_a_tag_CstaSw | 100.000000% | 2560 | 2560
d_a_tag_Lv6Gate | 71.494786% | 4936 | 6904
d_a_tag_Lv7Gate | 100.000000% | 6296 | 6296
d_a_tag_Lv8Gate | 100.000000% | 3848 | 3848
d_a_tag_TWgate | 55.682049% | 10956 | 19676
d_a_tag_TWgate | 57.593007% | 11332 | 19676
d_a_tag_ajnot | 100.000000% | 1232 | 1232
d_a_tag_allmato | 30.234070% | 3720 | 12304
d_a_tag_arena | 100.000000% | 712 | 712
@@ -724,7 +724,7 @@ d_a_tag_event | 100.000000% | 4016 | 4016
d_a_tag_evt | 100.000000% | 4284 | 4284
d_a_tag_evtarea | 100.000000% | 3548 | 3548
d_a_tag_evtmsg | 100.000000% | 3616 | 3616
d_a_tag_firewall | 35.325132% | 1608 | 4552
d_a_tag_firewall | 100.000000% | 4552 | 4552
d_a_tag_gra | 100.000000% | 800 | 800
d_a_tag_gstart | 100.000000% | 1208 | 1208
d_a_tag_guard | 100.000000% | 1176 | 1176
@@ -741,11 +741,11 @@ d_a_tag_lv2prchk | 100.000000% | 2776 | 2776
d_a_tag_lv5soup | 100.000000% | 1908 | 1908
d_a_tag_lv6CstaSw | 100.000000% | 2560 | 2560
d_a_tag_magne | 100.000000% | 928 | 928
d_a_tag_mhint | 55.128205% | 2064 | 3744
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_mstop | 43.995098% | 1436 | 3264
d_a_tag_mstop | 100.000000% | 3264 | 3264
d_a_tag_mwait | 100.000000% | 2896 | 2896
d_a_tag_myna2 | 100.000000% | 1752 | 1752
d_a_tag_myna_light | 100.000000% | 3124 | 3124
@@ -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 | 37.818239% | 4349220 | 11500324
Total | 37.972321% | 4366940 | 11500324
@@ -1,72 +0,0 @@
lbl_80158FF0:
/* 80158FF0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80158FF4 7C 08 02 A6 */ mflr r0
/* 80158FF8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80158FFC DB E1 00 18 */ stfd f31, 0x18(r1)
/* 80159000 39 61 00 18 */ addi r11, r1, 0x18
/* 80159004 48 20 91 D9 */ bl _savegpr_29
/* 80159008 7C 7D 1B 78 */ mr r29, r3
/* 8015900C 7C 9E 23 78 */ mr r30, r4
/* 80159010 7C BF 2B 79 */ or. r31, r5, r5
/* 80159014 FF E0 08 90 */ fmr f31, f1
/* 80159018 40 82 00 0C */ bne lbl_80159024
/* 8015901C 38 60 00 00 */ li r3, 0
/* 80159020 48 00 00 C0 */ b lbl_801590E0
lbl_80159024:
/* 80159024 88 1D 0A C6 */ lbz r0, 0xac6(r29)
/* 80159028 28 00 00 00 */ cmplwi r0, 0
/* 8015902C 41 82 00 18 */ beq lbl_80159044
/* 80159030 48 00 63 F5 */ bl checkNowWolfEyeUp__9daPy_py_cFv
/* 80159034 2C 03 00 00 */ cmpwi r3, 0
/* 80159038 40 82 00 0C */ bne lbl_80159044
/* 8015903C 38 60 00 00 */ li r3, 0
/* 80159040 48 00 00 A0 */ b lbl_801590E0
lbl_80159044:
/* 80159044 7F A3 EB 78 */ mr r3, r29
/* 80159048 4B FF F0 61 */ bl isM___10daNpcCd2_cFv
/* 8015904C 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80159050 7C 05 00 34 */ cntlzw r5, r0
/* 80159054 57 C4 18 38 */ slwi r4, r30, 3
/* 80159058 3C 60 80 39 */ lis r3, a_jntNumTbl@ha /* 0x80393B08@ha */
/* 8015905C 38 03 3B 08 */ addi r0, r3, a_jntNumTbl@l /* 0x80393B08@l */
/* 80159060 7C 60 22 14 */ add r3, r0, r4
/* 80159064 54 A0 E8 FA */ rlwinm r0, r5, 0x1d, 3, 0x1d
/* 80159068 7F C3 00 2E */ lwzx r30, r3, r0
/* 8015906C 28 1F 00 00 */ cmplwi r31, 0
/* 80159070 41 82 00 6C */ beq lbl_801590DC
/* 80159074 2C 1E 00 00 */ cmpwi r30, 0
/* 80159078 41 80 00 64 */ blt lbl_801590DC
/* 8015907C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80159080 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80159084 80 9F 00 04 */ lwz r4, 4(r31)
/* 80159088 38 BD 01 0C */ addi r5, r29, 0x10c
/* 8015908C 48 04 BD 15 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
/* 80159090 80 7D 05 8C */ lwz r3, 0x58c(r29)
/* 80159094 80 63 00 04 */ lwz r3, 4(r3)
/* 80159098 80 63 00 84 */ lwz r3, 0x84(r3)
/* 8015909C 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801590A0 1C 1E 00 30 */ mulli r0, r30, 0x30
/* 801590A4 7C 63 02 14 */ add r3, r3, r0
/* 801590A8 3C 80 80 3E */ lis r4, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 801590AC 38 84 D4 70 */ addi r4, r4, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 801590B0 48 1E D4 01 */ bl PSMTXCopy
/* 801590B4 FC 20 F8 90 */ fmr f1, f31
/* 801590B8 FC 40 F8 90 */ fmr f2, f31
/* 801590BC FC 60 F8 90 */ fmr f3, f31
/* 801590C0 4B EB 3D 79 */ bl scaleM__14mDoMtx_stack_cFfff
/* 801590C4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 801590C8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 801590CC 38 9F 00 24 */ addi r4, r31, 0x24
/* 801590D0 48 1E D3 E1 */ bl PSMTXCopy
/* 801590D4 7F E3 FB 78 */ mr r3, r31
/* 801590D8 4B EB 4B ED */ bl mDoExt_modelUpdateDL__FP8J3DModel
lbl_801590DC:
/* 801590DC 38 60 00 01 */ li r3, 1
lbl_801590E0:
/* 801590E0 CB E1 00 18 */ lfd f31, 0x18(r1)
/* 801590E4 39 61 00 18 */ addi r11, r1, 0x18
/* 801590E8 48 20 91 41 */ bl _restgpr_29
/* 801590EC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801590F0 7C 08 03 A6 */ mtlr r0
/* 801590F4 38 21 00 20 */ addi r1, r1, 0x20
/* 801590F8 4E 80 00 20 */ blr
@@ -1,51 +0,0 @@
lbl_8015F97C:
/* 8015F97C A9 03 00 00 */ lha r8, 0(r3)
/* 8015F980 7C 89 07 34 */ extsh r9, r4
/* 8015F984 7D 48 48 50 */ subf r10, r8, r9
/* 8015F988 7C 08 48 00 */ cmpw r8, r9
/* 8015F98C 41 82 00 94 */ beq lbl_8015FA20
/* 8015F990 7C A0 07 34 */ extsh r0, r5
/* 8015F994 7C AA 03 D6 */ divw r5, r10, r0
/* 8015F998 7C E0 07 34 */ extsh r0, r7
/* 8015F99C 7C 05 00 00 */ cmpw r5, r0
/* 8015F9A0 41 81 00 10 */ bgt lbl_8015F9B0
/* 8015F9A4 7C 00 00 D0 */ neg r0, r0
/* 8015F9A8 7C 05 00 00 */ cmpw r5, r0
/* 8015F9AC 40 80 00 38 */ bge lbl_8015F9E4
lbl_8015F9B0:
/* 8015F9B0 7C C0 07 34 */ extsh r0, r6
/* 8015F9B4 7C 80 00 D0 */ neg r4, r0
/* 8015F9B8 7C 05 20 00 */ cmpw r5, r4
/* 8015F9BC 40 80 00 08 */ bge lbl_8015F9C4
/* 8015F9C0 48 00 00 14 */ b lbl_8015F9D4
lbl_8015F9C4:
/* 8015F9C4 7C 05 00 00 */ cmpw r5, r0
/* 8015F9C8 7C A4 2B 78 */ mr r4, r5
/* 8015F9CC 40 81 00 08 */ ble lbl_8015F9D4
/* 8015F9D0 7C 04 03 78 */ mr r4, r0
lbl_8015F9D4:
/* 8015F9D4 A8 03 00 00 */ lha r0, 0(r3)
/* 8015F9D8 7C 00 22 14 */ add r0, r0, r4
/* 8015F9DC B0 03 00 00 */ sth r0, 0(r3)
/* 8015F9E0 48 00 00 40 */ b lbl_8015FA20
lbl_8015F9E4:
/* 8015F9E4 2C 0A 00 00 */ cmpwi r10, 0
/* 8015F9E8 41 80 00 20 */ blt lbl_8015FA08
/* 8015F9EC 7C 08 3A 14 */ add r0, r8, r7
/* 8015F9F0 B0 03 00 00 */ sth r0, 0(r3)
/* 8015F9F4 A8 03 00 00 */ lha r0, 0(r3)
/* 8015F9F8 7C 00 48 51 */ subf. r0, r0, r9
/* 8015F9FC 41 81 00 24 */ bgt lbl_8015FA20
/* 8015FA00 B0 83 00 00 */ sth r4, 0(r3)
/* 8015FA04 48 00 00 1C */ b lbl_8015FA20
lbl_8015FA08:
/* 8015FA08 7C 07 40 50 */ subf r0, r7, r8
/* 8015FA0C B0 03 00 00 */ sth r0, 0(r3)
/* 8015FA10 A8 03 00 00 */ lha r0, 0(r3)
/* 8015FA14 7C 00 48 51 */ subf. r0, r0, r9
/* 8015FA18 41 80 00 08 */ blt lbl_8015FA20
/* 8015FA1C B0 83 00 00 */ sth r4, 0(r3)
lbl_8015FA20:
/* 8015FA20 A8 03 00 00 */ lha r0, 0(r3)
/* 8015FA24 7C 60 48 50 */ subf r3, r0, r9
/* 8015FA28 4E 80 00 20 */ blr
@@ -1,31 +0,0 @@
lbl_8002DC3C:
/* 8002DC3C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002DC40 7C 08 02 A6 */ mflr r0
/* 8002DC44 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002DC48 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002DC4C 7C 7F 1B 78 */ mr r31, r3
/* 8002DC50 2C 04 00 00 */ cmpwi r4, 0
/* 8002DC54 41 80 00 08 */ blt lbl_8002DC5C
/* 8002DC58 48 00 00 18 */ b lbl_8002DC70
lbl_8002DC5C:
/* 8002DC5C 88 8D 87 E4 */ lbz r4, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 8002DC60 7C 84 07 75 */ extsb. r4, r4
/* 8002DC64 40 80 00 0C */ bge lbl_8002DC70
/* 8002DC68 38 60 00 00 */ li r3, 0
/* 8002DC6C 48 00 00 28 */ b lbl_8002DC94
lbl_8002DC70:
/* 8002DC70 7C 83 23 78 */ mr r3, r4
/* 8002DC74 4B FF FD 3D */ bl getZoneNo__20dStage_roomControl_cFi
/* 8002DC78 54 64 28 34 */ slwi r4, r3, 5
/* 8002DC7C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8002DC80 38 03 61 C0 */ addi r0, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8002DC84 7C 60 22 14 */ add r3, r0, r4
/* 8002DC88 38 63 09 B6 */ addi r3, r3, 0x9b6
/* 8002DC8C 7F E4 FB 78 */ mr r4, r31
/* 8002DC90 48 00 72 09 */ bl isOneItem__13dSv_zoneBit_cCFi
lbl_8002DC94:
/* 8002DC94 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002DC98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002DC9C 7C 08 03 A6 */ mtlr r0
/* 8002DCA0 38 21 00 10 */ addi r1, r1, 0x10
/* 8002DCA4 4E 80 00 20 */ blr
@@ -1,31 +0,0 @@
lbl_8002DB64:
/* 8002DB64 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002DB68 7C 08 02 A6 */ mflr r0
/* 8002DB6C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002DB70 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002DB74 7C 7F 1B 78 */ mr r31, r3
/* 8002DB78 2C 04 00 00 */ cmpwi r4, 0
/* 8002DB7C 41 80 00 08 */ blt lbl_8002DB84
/* 8002DB80 48 00 00 18 */ b lbl_8002DB98
lbl_8002DB84:
/* 8002DB84 88 8D 87 E4 */ lbz r4, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 8002DB88 7C 84 07 75 */ extsb. r4, r4
/* 8002DB8C 40 80 00 0C */ bge lbl_8002DB98
/* 8002DB90 38 60 00 00 */ li r3, 0
/* 8002DB94 48 00 00 28 */ b lbl_8002DBBC
lbl_8002DB98:
/* 8002DB98 7C 83 23 78 */ mr r3, r4
/* 8002DB9C 4B FF FE 15 */ bl getZoneNo__20dStage_roomControl_cFi
/* 8002DBA0 54 64 28 34 */ slwi r4, r3, 5
/* 8002DBA4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8002DBA8 38 03 61 C0 */ addi r0, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8002DBAC 7C 60 22 14 */ add r3, r0, r4
/* 8002DBB0 38 63 09 B6 */ addi r3, r3, 0x9b6
/* 8002DBB4 7F E4 FB 78 */ mr r4, r31
/* 8002DBB8 48 00 72 29 */ bl isOneSwitch__13dSv_zoneBit_cCFi
lbl_8002DBBC:
/* 8002DBBC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002DBC0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002DBC4 7C 08 03 A6 */ mtlr r0
/* 8002DBC8 38 21 00 10 */ addi r1, r1, 0x10
/* 8002DBCC 4E 80 00 20 */ blr
@@ -1,31 +0,0 @@
lbl_8002DBD0:
/* 8002DBD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002DBD4 7C 08 02 A6 */ mflr r0
/* 8002DBD8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002DBDC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002DBE0 7C 7F 1B 78 */ mr r31, r3
/* 8002DBE4 2C 04 00 00 */ cmpwi r4, 0
/* 8002DBE8 41 80 00 08 */ blt lbl_8002DBF0
/* 8002DBEC 48 00 00 18 */ b lbl_8002DC04
lbl_8002DBF0:
/* 8002DBF0 88 8D 87 E4 */ lbz r4, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 8002DBF4 7C 84 07 75 */ extsb. r4, r4
/* 8002DBF8 40 80 00 0C */ bge lbl_8002DC04
/* 8002DBFC 38 60 00 00 */ li r3, 0
/* 8002DC00 48 00 00 28 */ b lbl_8002DC28
lbl_8002DC04:
/* 8002DC04 7C 83 23 78 */ mr r3, r4
/* 8002DC08 4B FF FD A9 */ bl getZoneNo__20dStage_roomControl_cFi
/* 8002DC0C 54 64 28 34 */ slwi r4, r3, 5
/* 8002DC10 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8002DC14 38 03 61 C0 */ addi r0, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8002DC18 7C 60 22 14 */ add r3, r0, r4
/* 8002DC1C 38 63 09 B6 */ addi r3, r3, 0x9b6
/* 8002DC20 7F E4 FB 78 */ mr r4, r31
/* 8002DC24 48 00 72 2D */ bl isItem__13dSv_zoneBit_cCFi
lbl_8002DC28:
/* 8002DC28 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002DC2C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002DC30 7C 08 03 A6 */ mtlr r0
/* 8002DC34 38 21 00 10 */ addi r1, r1, 0x10
/* 8002DC38 4E 80 00 20 */ blr
@@ -1,31 +0,0 @@
lbl_8002DA30:
/* 8002DA30 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002DA34 7C 08 02 A6 */ mflr r0
/* 8002DA38 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002DA3C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002DA40 7C 7F 1B 78 */ mr r31, r3
/* 8002DA44 2C 04 00 00 */ cmpwi r4, 0
/* 8002DA48 41 80 00 08 */ blt lbl_8002DA50
/* 8002DA4C 48 00 00 18 */ b lbl_8002DA64
lbl_8002DA50:
/* 8002DA50 88 8D 87 E4 */ lbz r4, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 8002DA54 7C 84 07 75 */ extsb. r4, r4
/* 8002DA58 40 80 00 0C */ bge lbl_8002DA64
/* 8002DA5C 38 60 00 00 */ li r3, 0
/* 8002DA60 48 00 00 28 */ b lbl_8002DA88
lbl_8002DA64:
/* 8002DA64 7C 83 23 78 */ mr r3, r4
/* 8002DA68 4B FF FF 49 */ bl getZoneNo__20dStage_roomControl_cFi
/* 8002DA6C 54 64 28 34 */ slwi r4, r3, 5
/* 8002DA70 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8002DA74 38 03 61 C0 */ addi r0, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8002DA78 7C 60 22 14 */ add r3, r0, r4
/* 8002DA7C 38 63 09 B6 */ addi r3, r3, 0x9b6
/* 8002DA80 7F E4 FB 78 */ mr r4, r31
/* 8002DA84 48 00 72 CD */ bl isSwitch__13dSv_zoneBit_cCFi
lbl_8002DA88:
/* 8002DA88 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002DA8C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002DA90 7C 08 03 A6 */ mtlr r0
/* 8002DA94 38 21 00 10 */ addi r1, r1, 0x10
/* 8002DA98 4E 80 00 20 */ blr
@@ -1,29 +0,0 @@
lbl_8002DB00:
/* 8002DB00 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002DB04 7C 08 02 A6 */ mflr r0
/* 8002DB08 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002DB0C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002DB10 7C 7F 1B 78 */ mr r31, r3
/* 8002DB14 2C 04 00 00 */ cmpwi r4, 0
/* 8002DB18 41 80 00 08 */ blt lbl_8002DB20
/* 8002DB1C 48 00 00 10 */ b lbl_8002DB2C
lbl_8002DB20:
/* 8002DB20 88 8D 87 E4 */ lbz r4, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 8002DB24 7C 84 07 75 */ extsb. r4, r4
/* 8002DB28 41 80 00 28 */ blt lbl_8002DB50
lbl_8002DB2C:
/* 8002DB2C 7C 83 23 78 */ mr r3, r4
/* 8002DB30 4B FF FE 81 */ bl getZoneNo__20dStage_roomControl_cFi
/* 8002DB34 54 64 28 34 */ slwi r4, r3, 5
/* 8002DB38 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8002DB3C 38 03 61 C0 */ addi r0, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8002DB40 7C 60 22 14 */ add r3, r0, r4
/* 8002DB44 38 63 09 B6 */ addi r3, r3, 0x9b6
/* 8002DB48 7F E4 FB 78 */ mr r4, r31
/* 8002DB4C 48 00 72 7D */ bl offOneSwitch__13dSv_zoneBit_cFi
lbl_8002DB50:
/* 8002DB50 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002DB54 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002DB58 7C 08 03 A6 */ mtlr r0
/* 8002DB5C 38 21 00 10 */ addi r1, r1, 0x10
/* 8002DB60 4E 80 00 20 */ blr
@@ -1,29 +0,0 @@
lbl_8002D9CC:
/* 8002D9CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002D9D0 7C 08 02 A6 */ mflr r0
/* 8002D9D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002D9D8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002D9DC 7C 7F 1B 78 */ mr r31, r3
/* 8002D9E0 2C 04 00 00 */ cmpwi r4, 0
/* 8002D9E4 41 80 00 08 */ blt lbl_8002D9EC
/* 8002D9E8 48 00 00 10 */ b lbl_8002D9F8
lbl_8002D9EC:
/* 8002D9EC 88 8D 87 E4 */ lbz r4, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 8002D9F0 7C 84 07 75 */ extsb. r4, r4
/* 8002D9F4 41 80 00 28 */ blt lbl_8002DA1C
lbl_8002D9F8:
/* 8002D9F8 7C 83 23 78 */ mr r3, r4
/* 8002D9FC 4B FF FF B5 */ bl getZoneNo__20dStage_roomControl_cFi
/* 8002DA00 54 64 28 34 */ slwi r4, r3, 5
/* 8002DA04 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8002DA08 38 03 61 C0 */ addi r0, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8002DA0C 7C 60 22 14 */ add r3, r0, r4
/* 8002DA10 38 63 09 B6 */ addi r3, r3, 0x9b6
/* 8002DA14 7F E4 FB 78 */ mr r4, r31
/* 8002DA18 48 00 73 15 */ bl offSwitch__13dSv_zoneBit_cFi
lbl_8002DA1C:
/* 8002DA1C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002DA20 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002DA24 7C 08 03 A6 */ mtlr r0
/* 8002DA28 38 21 00 10 */ addi r1, r1, 0x10
/* 8002DA2C 4E 80 00 20 */ blr
@@ -1,29 +0,0 @@
lbl_8002DA9C:
/* 8002DA9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002DAA0 7C 08 02 A6 */ mflr r0
/* 8002DAA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002DAA8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002DAAC 7C 7F 1B 78 */ mr r31, r3
/* 8002DAB0 2C 04 00 00 */ cmpwi r4, 0
/* 8002DAB4 41 80 00 08 */ blt lbl_8002DABC
/* 8002DAB8 48 00 00 10 */ b lbl_8002DAC8
lbl_8002DABC:
/* 8002DABC 88 8D 87 E4 */ lbz r4, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 8002DAC0 7C 84 07 75 */ extsb. r4, r4
/* 8002DAC4 41 80 00 28 */ blt lbl_8002DAEC
lbl_8002DAC8:
/* 8002DAC8 7C 83 23 78 */ mr r3, r4
/* 8002DACC 4B FF FE E5 */ bl getZoneNo__20dStage_roomControl_cFi
/* 8002DAD0 54 64 28 34 */ slwi r4, r3, 5
/* 8002DAD4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8002DAD8 38 03 61 C0 */ addi r0, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8002DADC 7C 60 22 14 */ add r3, r0, r4
/* 8002DAE0 38 63 09 B6 */ addi r3, r3, 0x9b6
/* 8002DAE4 7F E4 FB 78 */ mr r4, r31
/* 8002DAE8 48 00 72 C5 */ bl onOneSwitch__13dSv_zoneBit_cFi
lbl_8002DAEC:
/* 8002DAEC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002DAF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002DAF4 7C 08 03 A6 */ mtlr r0
/* 8002DAF8 38 21 00 10 */ addi r1, r1, 0x10
/* 8002DAFC 4E 80 00 20 */ blr
@@ -1,29 +0,0 @@
lbl_8002D94C:
/* 8002D94C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8002D950 7C 08 02 A6 */ mflr r0
/* 8002D954 90 01 00 14 */ stw r0, 0x14(r1)
/* 8002D958 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8002D95C 7C 7F 1B 78 */ mr r31, r3
/* 8002D960 2C 04 00 00 */ cmpwi r4, 0
/* 8002D964 41 80 00 08 */ blt lbl_8002D96C
/* 8002D968 48 00 00 10 */ b lbl_8002D978
lbl_8002D96C:
/* 8002D96C 88 8D 87 E4 */ lbz r4, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 8002D970 7C 84 07 75 */ extsb. r4, r4
/* 8002D974 41 80 00 28 */ blt lbl_8002D99C
lbl_8002D978:
/* 8002D978 7C 83 23 78 */ mr r3, r4
/* 8002D97C 48 00 00 35 */ bl getZoneNo__20dStage_roomControl_cFi
/* 8002D980 54 64 28 34 */ slwi r4, r3, 5
/* 8002D984 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8002D988 38 03 61 C0 */ addi r0, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8002D98C 7C 60 22 14 */ add r3, r0, r4
/* 8002D990 38 63 09 B6 */ addi r3, r3, 0x9b6
/* 8002D994 7F E4 FB 78 */ mr r4, r31
/* 8002D998 48 00 73 6D */ bl onSwitch__13dSv_zoneBit_cFi
lbl_8002D99C:
/* 8002D99C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8002D9A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8002D9A4 7C 08 03 A6 */ mtlr r0
/* 8002D9A8 38 21 00 10 */ addi r1, r1, 0x10
/* 8002D9AC 4E 80 00 20 */ blr
-185
View File
@@ -1,185 +0,0 @@
lbl_8003219C:
/* 8003219C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800321A0 7C 08 02 A6 */ mflr r0
/* 800321A4 90 01 00 24 */ stw r0, 0x24(r1)
/* 800321A8 DB E1 00 10 */ stfd f31, 0x10(r1)
/* 800321AC F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */
/* 800321B0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800321B4 7C 7F 1B 78 */ mr r31, r3
/* 800321B8 88 03 00 0C */ lbz r0, 0xc(r3)
/* 800321BC 98 03 00 0D */ stb r0, 0xd(r3)
/* 800321C0 81 83 00 00 */ lwz r12, 0(r3)
/* 800321C4 81 8C 00 08 */ lwz r12, 8(r12)
/* 800321C8 7D 89 03 A6 */ mtctr r12
/* 800321CC 4E 80 04 21 */ bctrl
/* 800321D0 FF E0 08 90 */ fmr f31, f1
/* 800321D4 7F E3 FB 78 */ mr r3, r31
/* 800321D8 81 9F 00 00 */ lwz r12, 0(r31)
/* 800321DC 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 800321E0 7D 89 03 A6 */ mtctr r12
/* 800321E4 4E 80 04 21 */ bctrl
/* 800321E8 38 C0 00 00 */ li r6, 0
/* 800321EC A8 1F 00 26 */ lha r0, 0x26(r31)
/* 800321F0 20 00 20 00 */ subfic r0, r0, 0x2000
/* 800321F4 7C 00 0E 70 */ srawi r0, r0, 1
/* 800321F8 7C 07 07 34 */ extsh r7, r0
/* 800321FC FC 00 FA 10 */ fabs f0, f31
/* 80032200 FC 20 00 18 */ frsp f1, f0
/* 80032204 C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13)
/* 80032208 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8003220C 41 80 01 98 */ blt lbl_800323A4
/* 80032210 7C 65 07 34 */ extsh r5, r3
/* 80032214 A8 9F 00 22 */ lha r4, 0x22(r31)
/* 80032218 7C 64 3A 14 */ add r3, r4, r7
/* 8003221C 38 03 90 00 */ addi r0, r3, -28672
/* 80032220 7C 05 00 00 */ cmpw r5, r0
/* 80032224 40 80 00 10 */ bge lbl_80032234
/* 80032228 60 C0 00 04 */ ori r0, r6, 4
/* 8003222C 54 06 06 3E */ clrlwi r6, r0, 0x18
/* 80032230 48 00 00 C4 */ b lbl_800322F4
lbl_80032234:
/* 80032234 38 04 B0 00 */ addi r0, r4, -20480
/* 80032238 7C 07 00 50 */ subf r0, r7, r0
/* 8003223C 7C 05 00 00 */ cmpw r5, r0
/* 80032240 40 80 00 10 */ bge lbl_80032250
/* 80032244 60 C0 00 05 */ ori r0, r6, 5
/* 80032248 54 06 06 3E */ clrlwi r6, r0, 0x18
/* 8003224C 48 00 00 A8 */ b lbl_800322F4
lbl_80032250:
/* 80032250 38 03 D0 00 */ addi r0, r3, -12288
/* 80032254 7C 05 00 00 */ cmpw r5, r0
/* 80032258 40 80 00 10 */ bge lbl_80032268
/* 8003225C 60 C0 00 01 */ ori r0, r6, 1
/* 80032260 54 06 06 3E */ clrlwi r6, r0, 0x18
/* 80032264 48 00 00 90 */ b lbl_800322F4
lbl_80032268:
/* 80032268 38 04 F0 00 */ addi r0, r4, -4096
/* 8003226C 7C 07 00 50 */ subf r0, r7, r0
/* 80032270 7C 05 00 00 */ cmpw r5, r0
/* 80032274 40 80 00 10 */ bge lbl_80032284
/* 80032278 60 C0 00 09 */ ori r0, r6, 9
/* 8003227C 54 06 06 3E */ clrlwi r6, r0, 0x18
/* 80032280 48 00 00 74 */ b lbl_800322F4
lbl_80032284:
/* 80032284 38 03 10 00 */ addi r0, r3, 0x1000
/* 80032288 7C 05 00 00 */ cmpw r5, r0
/* 8003228C 40 80 00 10 */ bge lbl_8003229C
/* 80032290 60 C0 00 08 */ ori r0, r6, 8
/* 80032294 54 06 06 3E */ clrlwi r6, r0, 0x18
/* 80032298 48 00 00 5C */ b lbl_800322F4
lbl_8003229C:
/* 8003229C 38 04 30 00 */ addi r0, r4, 0x3000
/* 800322A0 7C 07 00 50 */ subf r0, r7, r0
/* 800322A4 7C 05 00 00 */ cmpw r5, r0
/* 800322A8 40 80 00 10 */ bge lbl_800322B8
/* 800322AC 60 C0 00 0A */ ori r0, r6, 0xa
/* 800322B0 54 06 06 3E */ clrlwi r6, r0, 0x18
/* 800322B4 48 00 00 40 */ b lbl_800322F4
lbl_800322B8:
/* 800322B8 38 03 50 00 */ addi r0, r3, 0x5000
/* 800322BC 7C 05 00 00 */ cmpw r5, r0
/* 800322C0 40 80 00 10 */ bge lbl_800322D0
/* 800322C4 60 C0 00 02 */ ori r0, r6, 2
/* 800322C8 54 06 06 3E */ clrlwi r6, r0, 0x18
/* 800322CC 48 00 00 28 */ b lbl_800322F4
lbl_800322D0:
/* 800322D0 38 04 70 00 */ addi r0, r4, 0x7000
/* 800322D4 7C 07 00 50 */ subf r0, r7, r0
/* 800322D8 7C 05 00 00 */ cmpw r5, r0
/* 800322DC 40 80 00 10 */ bge lbl_800322EC
/* 800322E0 60 C0 00 06 */ ori r0, r6, 6
/* 800322E4 54 06 06 3E */ clrlwi r6, r0, 0x18
/* 800322E8 48 00 00 0C */ b lbl_800322F4
lbl_800322EC:
/* 800322EC 60 C0 00 04 */ ori r0, r6, 4
/* 800322F0 54 06 06 3E */ clrlwi r6, r0, 0x18
lbl_800322F4:
/* 800322F4 C0 1F 00 04 */ lfs f0, 4(r31)
/* 800322F8 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 800322FC 4C 41 13 82 */ cror 2, 1, 2
/* 80032300 40 82 00 0C */ bne lbl_8003230C
/* 80032304 98 DF 00 0C */ stb r6, 0xc(r31)
/* 80032308 48 00 00 28 */ b lbl_80032330
lbl_8003230C:
/* 8003230C C0 1F 00 08 */ lfs f0, 8(r31)
/* 80032310 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 80032314 40 80 00 10 */ bge lbl_80032324
/* 80032318 38 00 00 00 */ li r0, 0
/* 8003231C 98 1F 00 0C */ stb r0, 0xc(r31)
/* 80032320 48 00 00 10 */ b lbl_80032330
lbl_80032324:
/* 80032324 88 1F 00 0C */ lbz r0, 0xc(r31)
/* 80032328 7C 00 30 78 */ andc r0, r0, r6
/* 8003232C 98 1F 00 0C */ stb r0, 0xc(r31)
lbl_80032330:
/* 80032330 88 7F 00 0C */ lbz r3, 0xc(r31)
/* 80032334 88 1F 00 0D */ lbz r0, 0xd(r31)
/* 80032338 7C 03 00 40 */ cmplw r3, r0
/* 8003233C 41 82 00 3C */ beq lbl_80032378
/* 80032340 28 03 00 00 */ cmplwi r3, 0
/* 80032344 40 82 00 10 */ bne lbl_80032354
/* 80032348 38 00 00 00 */ li r0, 0
/* 8003234C B0 1F 00 22 */ sth r0, 0x22(r31)
/* 80032350 48 00 00 28 */ b lbl_80032378
lbl_80032354:
/* 80032354 54 A0 04 FE */ clrlwi r0, r5, 0x13
/* 80032358 2C 00 10 00 */ cmpwi r0, 0x1000
/* 8003235C 40 81 00 10 */ ble lbl_8003236C
/* 80032360 A8 1F 00 24 */ lha r0, 0x24(r31)
/* 80032364 B0 1F 00 22 */ sth r0, 0x22(r31)
/* 80032368 48 00 00 10 */ b lbl_80032378
lbl_8003236C:
/* 8003236C A8 1F 00 24 */ lha r0, 0x24(r31)
/* 80032370 7C 00 00 D0 */ neg r0, r0
/* 80032374 B0 1F 00 22 */ sth r0, 0x22(r31)
lbl_80032378:
/* 80032378 88 1F 00 0C */ lbz r0, 0xc(r31)
/* 8003237C 54 00 07 BF */ clrlwi. r0, r0, 0x1e
/* 80032380 40 82 00 0C */ bne lbl_8003238C
/* 80032384 7F E3 FB 78 */ mr r3, r31
/* 80032388 4B FF FD 75 */ bl Xinit__9STControlFv
lbl_8003238C:
/* 8003238C 88 1F 00 0C */ lbz r0, 0xc(r31)
/* 80032390 54 00 07 3B */ rlwinm. r0, r0, 0, 0x1c, 0x1d
/* 80032394 40 82 00 28 */ bne lbl_800323BC
/* 80032398 7F E3 FB 78 */ mr r3, r31
/* 8003239C 4B FF FD 91 */ bl Yinit__9STControlFv
/* 800323A0 48 00 00 1C */ b lbl_800323BC
lbl_800323A4:
/* 800323A4 38 00 00 00 */ li r0, 0
/* 800323A8 98 1F 00 0C */ stb r0, 0xc(r31)
/* 800323AC 7F E3 FB 78 */ mr r3, r31
/* 800323B0 4B FF FD 4D */ bl Xinit__9STControlFv
/* 800323B4 7F E3 FB 78 */ mr r3, r31
/* 800323B8 4B FF FD 75 */ bl Yinit__9STControlFv
lbl_800323BC:
/* 800323BC 88 7F 00 0D */ lbz r3, 0xd(r31)
/* 800323C0 88 1F 00 0C */ lbz r0, 0xc(r31)
/* 800323C4 7C 60 00 38 */ and r0, r3, r0
/* 800323C8 54 00 07 BF */ clrlwi. r0, r0, 0x1e
/* 800323CC 41 82 00 18 */ beq lbl_800323E4
/* 800323D0 A8 7F 00 0E */ lha r3, 0xe(r31)
/* 800323D4 2C 03 00 00 */ cmpwi r3, 0
/* 800323D8 40 81 00 0C */ ble lbl_800323E4
/* 800323DC 38 03 FF FF */ addi r0, r3, -1
/* 800323E0 B0 1F 00 0E */ sth r0, 0xe(r31)
lbl_800323E4:
/* 800323E4 88 7F 00 0D */ lbz r3, 0xd(r31)
/* 800323E8 88 1F 00 0C */ lbz r0, 0xc(r31)
/* 800323EC 7C 60 00 38 */ and r0, r3, r0
/* 800323F0 54 00 07 3B */ rlwinm. r0, r0, 0, 0x1c, 0x1d
/* 800323F4 41 82 00 18 */ beq lbl_8003240C
/* 800323F8 A8 7F 00 10 */ lha r3, 0x10(r31)
/* 800323FC 2C 03 00 00 */ cmpwi r3, 0
/* 80032400 40 81 00 0C */ ble lbl_8003240C
/* 80032404 38 03 FF FF */ addi r0, r3, -1
/* 80032408 B0 1F 00 10 */ sth r0, 0x10(r31)
lbl_8003240C:
/* 8003240C 88 7F 00 0C */ lbz r3, 0xc(r31)
/* 80032410 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */
/* 80032414 CB E1 00 10 */ lfd f31, 0x10(r1)
/* 80032418 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003241C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80032420 7C 08 03 A6 */ mtlr r0
/* 80032424 38 21 00 20 */ addi r1, r1, 0x20
/* 80032428 4E 80 00 20 */ blr
@@ -1,44 +0,0 @@
lbl_80025EA4:
/* 80025EA4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80025EA8 7C 08 02 A6 */ mflr r0
/* 80025EAC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80025EB0 39 61 00 20 */ addi r11, r1, 0x20
/* 80025EB4 48 33 C3 21 */ bl _savegpr_27
/* 80025EB8 7C 7B 1B 78 */ mr r27, r3
/* 80025EBC 3B C4 00 04 */ addi r30, r4, 4
/* 80025EC0 83 A4 00 08 */ lwz r29, 8(r4)
/* 80025EC4 7F C4 F3 78 */ mr r4, r30
/* 80025EC8 81 83 00 00 */ lwz r12, 0(r3)
/* 80025ECC 81 8C 00 D0 */ lwz r12, 0xd0(r12)
/* 80025ED0 7D 89 03 A6 */ mtctr r12
/* 80025ED4 4E 80 04 21 */ bctrl
/* 80025ED8 3B 80 00 00 */ li r28, 0
/* 80025EDC 3F E0 80 00 */ lis r31, 0x8000
/* 80025EE0 48 00 00 3C */ b lbl_80025F1C
lbl_80025EE4:
/* 80025EE4 80 1D 00 08 */ lwz r0, 8(r29)
/* 80025EE8 7C 00 F8 40 */ cmplw r0, r31
/* 80025EEC 40 80 00 28 */ bge lbl_80025F14
/* 80025EF0 7F 63 DB 78 */ mr r3, r27
/* 80025EF4 81 9B 00 00 */ lwz r12, 0(r27)
/* 80025EF8 81 8C 00 CC */ lwz r12, 0xcc(r12)
/* 80025EFC 7D 89 03 A6 */ mtctr r12
/* 80025F00 4E 80 04 21 */ bctrl
/* 80025F04 80 63 00 04 */ lwz r3, 4(r3)
/* 80025F08 80 1D 00 08 */ lwz r0, 8(r29)
/* 80025F0C 7C 00 1A 14 */ add r0, r0, r3
/* 80025F10 90 1D 00 08 */ stw r0, 8(r29)
lbl_80025F14:
/* 80025F14 3B BD 00 0C */ addi r29, r29, 0xc
/* 80025F18 3B 9C 00 01 */ addi r28, r28, 1
lbl_80025F1C:
/* 80025F1C 80 1E 00 00 */ lwz r0, 0(r30)
/* 80025F20 7C 1C 00 00 */ cmpw r28, r0
/* 80025F24 41 80 FF C0 */ blt lbl_80025EE4
/* 80025F28 38 60 00 01 */ li r3, 1
/* 80025F2C 39 61 00 20 */ addi r11, r1, 0x20
/* 80025F30 48 33 C2 F1 */ bl _restgpr_27
/* 80025F34 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80025F38 7C 08 03 A6 */ mtlr r0
/* 80025F3C 38 21 00 20 */ addi r1, r1, 0x20
/* 80025F40 4E 80 00 20 */ blr
@@ -1,42 +0,0 @@
lbl_80025DA8:
/* 80025DA8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80025DAC 7C 08 02 A6 */ mflr r0
/* 80025DB0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80025DB4 39 61 00 20 */ addi r11, r1, 0x20
/* 80025DB8 48 33 C4 25 */ bl _savegpr_29
/* 80025DBC 7C DD 33 78 */ mr r29, r6
/* 80025DC0 3B E4 00 04 */ addi r31, r4, 4
/* 80025DC4 83 C4 00 08 */ lwz r30, 8(r4)
/* 80025DC8 7F E4 FB 78 */ mr r4, r31
/* 80025DCC 81 83 00 00 */ lwz r12, 0(r3)
/* 80025DD0 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80025DD4 7D 89 03 A6 */ mtctr r12
/* 80025DD8 4E 80 04 21 */ bctrl
/* 80025DDC 38 C0 00 00 */ li r6, 0
/* 80025DE0 38 60 00 00 */ li r3, 0
/* 80025DE4 3C A0 80 00 */ lis r5, 0x8000
/* 80025DE8 48 00 00 30 */ b lbl_80025E18
lbl_80025DEC:
/* 80025DEC 7C 1E 18 2E */ lwzx r0, r30, r3
/* 80025DF0 7C 00 28 40 */ cmplw r0, r5
/* 80025DF4 40 80 00 1C */ bge lbl_80025E10
/* 80025DF8 7C 1D 02 14 */ add r0, r29, r0
/* 80025DFC 7C 1E 19 2E */ stwx r0, r30, r3
/* 80025E00 7C 9E 18 2E */ lwzx r4, r30, r3
/* 80025E04 80 04 00 04 */ lwz r0, 4(r4)
/* 80025E08 7C 1D 02 14 */ add r0, r29, r0
/* 80025E0C 90 04 00 04 */ stw r0, 4(r4)
lbl_80025E10:
/* 80025E10 38 C6 00 01 */ addi r6, r6, 1
/* 80025E14 38 63 00 04 */ addi r3, r3, 4
lbl_80025E18:
/* 80025E18 80 1F 00 00 */ lwz r0, 0(r31)
/* 80025E1C 7C 06 00 00 */ cmpw r6, r0
/* 80025E20 41 80 FF CC */ blt lbl_80025DEC
/* 80025E24 38 60 00 01 */ li r3, 1
/* 80025E28 39 61 00 20 */ addi r11, r1, 0x20
/* 80025E2C 48 33 C3 FD */ bl _restgpr_29
/* 80025E30 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80025E34 7C 08 03 A6 */ mtlr r0
/* 80025E38 38 21 00 20 */ addi r1, r1, 0x20
/* 80025E3C 4E 80 00 20 */ blr
@@ -1,63 +0,0 @@
lbl_80024954:
/* 80024954 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80024958 7C 08 02 A6 */ mflr r0
/* 8002495C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80024960 39 61 00 20 */ addi r11, r1, 0x20
/* 80024964 48 33 D8 75 */ bl _savegpr_28
/* 80024968 7C 7D 1B 78 */ mr r29, r3
/* 8002496C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80024970 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80024974 3F C3 00 02 */ addis r30, r3, 2
/* 80024978 3C 60 80 38 */ lis r3, d_d_stage__stringBase0@ha /* 0x80378A50@ha */
/* 8002497C 3B E3 8A 50 */ addi r31, r3, d_d_stage__stringBase0@l /* 0x80378A50@l */
/* 80024980 3B DE C2 F8 */ addi r30, r30, -15624
/* 80024984 48 00 00 8C */ b lbl_80024A10
lbl_80024988:
/* 80024988 7F A3 EB 78 */ mr r3, r29
/* 8002498C 4B FF FF B5 */ bl getArcBank__20dStage_roomControl_cFi
/* 80024990 7C 7C 1B 78 */ mr r28, r3
/* 80024994 38 9F 00 9F */ addi r4, r31, 0x9f
/* 80024998 48 34 3F FD */ bl strcmp
/* 8002499C 2C 03 00 00 */ cmpwi r3, 0
/* 800249A0 41 82 00 6C */ beq lbl_80024A0C
/* 800249A4 7F 83 E3 78 */ mr r3, r28
/* 800249A8 7F C4 F3 78 */ mr r4, r30
/* 800249AC 38 A0 00 80 */ li r5, 0x80
/* 800249B0 48 01 77 B1 */ bl syncRes__14dRes_control_cFPCcP11dRes_info_ci
/* 800249B4 2C 03 00 00 */ cmpwi r3, 0
/* 800249B8 40 80 00 24 */ bge lbl_800249DC
/* 800249BC 3C 60 80 38 */ lis r3, d_d_stage__stringBase0@ha /* 0x80378A50@ha */
/* 800249C0 38 63 8A 50 */ addi r3, r3, d_d_stage__stringBase0@l /* 0x80378A50@l */
/* 800249C4 38 63 00 A0 */ addi r3, r3, 0xa0
/* 800249C8 7F A4 EB 78 */ mr r4, r29
/* 800249CC 7F 85 E3 78 */ mr r5, r28
/* 800249D0 4C C6 31 82 */ crclr 6
/* 800249D4 4B FE 22 39 */ bl OSReport_Error
/* 800249D8 48 00 00 34 */ b lbl_80024A0C
lbl_800249DC:
/* 800249DC 40 81 00 0C */ ble lbl_800249E8
/* 800249E0 38 60 00 00 */ li r3, 0
/* 800249E4 48 00 00 38 */ b lbl_80024A1C
lbl_800249E8:
/* 800249E8 7F 83 E3 78 */ mr r3, r28
/* 800249EC 7F C4 F3 78 */ mr r4, r30
/* 800249F0 38 A0 00 80 */ li r5, 0x80
/* 800249F4 48 01 77 A1 */ bl deleteRes__14dRes_control_cFPCcP11dRes_info_ci
/* 800249F8 7F A3 EB 78 */ mr r3, r29
/* 800249FC 3C 80 80 38 */ lis r4, d_d_stage__stringBase0@ha /* 0x80378A50@ha */
/* 80024A00 38 84 8A 50 */ addi r4, r4, d_d_stage__stringBase0@l /* 0x80378A50@l */
/* 80024A04 38 84 00 9F */ addi r4, r4, 0x9f
/* 80024A08 4B FF FF 05 */ bl setArcBank__20dStage_roomControl_cFiPCc
lbl_80024A0C:
/* 80024A0C 3B BD 00 01 */ addi r29, r29, 1
lbl_80024A10:
/* 80024A10 2C 1D 00 20 */ cmpwi r29, 0x20
/* 80024A14 41 80 FF 74 */ blt lbl_80024988
/* 80024A18 38 60 00 01 */ li r3, 1
lbl_80024A1C:
/* 80024A1C 39 61 00 20 */ addi r11, r1, 0x20
/* 80024A20 48 33 D8 05 */ bl _restgpr_28
/* 80024A24 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80024A28 7C 08 03 A6 */ mtlr r0
/* 80024A2C 38 21 00 20 */ addi r1, r1, 0x20
/* 80024A30 4E 80 00 20 */ blr
@@ -1,43 +0,0 @@
lbl_801A2090:
/* 801A2090 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801A2094 7C 08 02 A6 */ mflr r0
/* 801A2098 90 01 00 24 */ stw r0, 0x24(r1)
/* 801A209C 39 61 00 20 */ addi r11, r1, 0x20
/* 801A20A0 48 1C 01 35 */ bl _savegpr_27
/* 801A20A4 7C 7B 1B 78 */ mr r27, r3
/* 801A20A8 7C BC 2B 78 */ mr r28, r5
/* 801A20AC 7C DD 33 78 */ mr r29, r6
/* 801A20B0 8B C3 00 00 */ lbz r30, 0(r3)
/* 801A20B4 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 801A20B8 7C 1E 00 50 */ subf r0, r30, r0
/* 801A20BC 7C 1F 07 34 */ extsh r31, r0
/* 801A20C0 7F E3 FB 78 */ mr r3, r31
/* 801A20C4 48 1C 30 0D */ bl abs
/* 801A20C8 7F 80 07 34 */ extsh r0, r28
/* 801A20CC 7C 03 00 00 */ cmpw r3, r0
/* 801A20D0 41 80 00 0C */ blt lbl_801A20DC
/* 801A20D4 7C 1F 03 D6 */ divw r0, r31, r0
/* 801A20D8 7C 1F 07 34 */ extsh r31, r0
lbl_801A20DC:
/* 801A20DC 7F E3 07 34 */ extsh r3, r31
/* 801A20E0 7F A0 07 34 */ extsh r0, r29
/* 801A20E4 7C 03 00 00 */ cmpw r3, r0
/* 801A20E8 40 81 00 0C */ ble lbl_801A20F4
/* 801A20EC 7F DE EA 14 */ add r30, r30, r29
/* 801A20F0 48 00 00 1C */ b lbl_801A210C
lbl_801A20F4:
/* 801A20F4 7C 00 00 D0 */ neg r0, r0
/* 801A20F8 7C 03 00 00 */ cmpw r3, r0
/* 801A20FC 40 80 00 0C */ bge lbl_801A2108
/* 801A2100 7F DD F0 50 */ subf r30, r29, r30
/* 801A2104 48 00 00 08 */ b lbl_801A210C
lbl_801A2108:
/* 801A2108 7F DE FA 14 */ add r30, r30, r31
lbl_801A210C:
/* 801A210C 9B DB 00 00 */ stb r30, 0(r27)
/* 801A2110 39 61 00 20 */ addi r11, r1, 0x20
/* 801A2114 48 1C 01 0D */ bl _restgpr_27
/* 801A2118 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801A211C 7C 08 03 A6 */ mtlr r0
/* 801A2120 38 21 00 20 */ addi r1, r1, 0x20
/* 801A2124 4E 80 00 20 */ blr
@@ -1,234 +0,0 @@
lbl_801A133C:
/* 801A133C 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 801A1340 7C 08 02 A6 */ mflr r0
/* 801A1344 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 801A1348 39 61 00 C0 */ addi r11, r1, 0xc0
/* 801A134C 48 1C 0E 5D */ bl _savegpr_16
/* 801A1350 7C 73 1B 78 */ mr r19, r3
/* 801A1354 7C 94 23 78 */ mr r20, r4
/* 801A1358 7C BC 2B 78 */ mr r28, r5
/* 801A135C 7C D5 33 78 */ mr r21, r6
/* 801A1360 7C F6 3B 78 */ mr r22, r7
/* 801A1364 7D 17 43 78 */ mr r23, r8
/* 801A1368 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 801A136C 38 83 CA 54 */ addi r4, r3, g_env_light@l /* 0x8042CA54@l */
/* 801A1370 88 04 12 C2 */ lbz r0, 0x12c2(r4)
/* 801A1374 98 14 03 7F */ stb r0, 0x37f(r20)
/* 801A1378 88 04 12 C3 */ lbz r0, 0x12c3(r4)
/* 801A137C 98 14 03 7E */ stb r0, 0x37e(r20)
/* 801A1380 88 74 03 7F */ lbz r3, 0x37f(r20)
/* 801A1384 88 14 03 7E */ lbz r0, 0x37e(r20)
/* 801A1388 7C 03 00 40 */ cmplw r3, r0
/* 801A138C 41 82 00 0C */ beq lbl_801A1398
/* 801A1390 C0 04 11 DC */ lfs f0, 0x11dc(r4)
/* 801A1394 D0 14 03 70 */ stfs f0, 0x370(r20)
lbl_801A1398:
/* 801A1398 38 01 00 20 */ addi r0, r1, 0x20
/* 801A139C 90 01 00 08 */ stw r0, 8(r1)
/* 801A13A0 38 01 00 34 */ addi r0, r1, 0x34
/* 801A13A4 90 01 00 0C */ stw r0, 0xc(r1)
/* 801A13A8 38 01 00 30 */ addi r0, r1, 0x30
/* 801A13AC 90 01 00 10 */ stw r0, 0x10(r1)
/* 801A13B0 38 01 00 2C */ addi r0, r1, 0x2c
/* 801A13B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 801A13B8 38 14 03 70 */ addi r0, r20, 0x370
/* 801A13BC 90 01 00 18 */ stw r0, 0x18(r1)
/* 801A13C0 38 14 03 7B */ addi r0, r20, 0x37b
/* 801A13C4 90 01 00 1C */ stw r0, 0x1c(r1)
/* 801A13C8 7E 63 9B 78 */ mr r3, r19
/* 801A13CC 38 94 03 7D */ addi r4, r20, 0x37d
/* 801A13D0 38 B4 03 7C */ addi r5, r20, 0x37c
/* 801A13D4 38 D4 03 7F */ addi r6, r20, 0x37f
/* 801A13D8 38 F4 03 7E */ addi r7, r20, 0x37e
/* 801A13DC 39 01 00 23 */ addi r8, r1, 0x23
/* 801A13E0 39 21 00 21 */ addi r9, r1, 0x21
/* 801A13E4 39 41 00 22 */ addi r10, r1, 0x22
/* 801A13E8 4B FF E7 ED */ bl setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc
/* 801A13EC 88 01 00 23 */ lbz r0, 0x23(r1)
/* 801A13F0 28 00 00 FF */ cmplwi r0, 0xff
/* 801A13F4 40 82 00 38 */ bne lbl_801A142C
/* 801A13F8 38 60 00 00 */ li r3, 0
/* 801A13FC 38 C0 00 FF */ li r6, 0xff
/* 801A1400 7C 65 1B 78 */ mr r5, r3
/* 801A1404 7C 64 1B 78 */ mr r4, r3
/* 801A1408 38 00 00 04 */ li r0, 4
/* 801A140C 7C 09 03 A6 */ mtctr r0
lbl_801A1410:
/* 801A1410 7C FC 1A 14 */ add r7, r28, r3
/* 801A1414 B0 C7 00 00 */ sth r6, 0(r7)
/* 801A1418 B0 A7 00 02 */ sth r5, 2(r7)
/* 801A141C B0 87 00 04 */ sth r4, 4(r7)
/* 801A1420 38 63 00 08 */ addi r3, r3, 8
/* 801A1424 42 00 FF EC */ bdnz lbl_801A1410
/* 801A1428 48 00 02 80 */ b lbl_801A16A8
lbl_801A142C:
/* 801A142C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 801A1430 3B E3 CA 54 */ addi r31, r3, g_env_light@l /* 0x8042CA54@l */
/* 801A1434 80 7F 00 04 */ lwz r3, 4(r31)
/* 801A1438 1C 00 00 34 */ mulli r0, r0, 0x34
/* 801A143C 7F 63 02 14 */ add r27, r3, r0
/* 801A1440 88 01 00 21 */ lbz r0, 0x21(r1)
/* 801A1444 1C 00 00 34 */ mulli r0, r0, 0x34
/* 801A1448 7F 43 02 14 */ add r26, r3, r0
/* 801A144C 88 01 00 22 */ lbz r0, 0x22(r1)
/* 801A1450 1C 00 00 34 */ mulli r0, r0, 0x34
/* 801A1454 7F 23 02 14 */ add r25, r3, r0
/* 801A1458 88 01 00 20 */ lbz r0, 0x20(r1)
/* 801A145C 1C 00 00 34 */ mulli r0, r0, 0x34
/* 801A1460 7F 03 02 14 */ add r24, r3, r0
/* 801A1464 3A 40 00 00 */ li r18, 0
/* 801A1468 3A 00 00 00 */ li r16, 0
/* 801A146C 3A 20 00 00 */ li r17, 0
lbl_801A1470:
/* 801A1470 80 73 11 70 */ lwz r3, 0x1170(r19)
/* 801A1474 80 13 11 74 */ lwz r0, 0x1174(r19)
/* 801A1478 90 61 00 48 */ stw r3, 0x48(r1)
/* 801A147C 90 01 00 4C */ stw r0, 0x4c(r1)
/* 801A1480 7C 7C 82 14 */ add r3, r28, r16
/* 801A1484 38 91 00 03 */ addi r4, r17, 3
/* 801A1488 7C 9B 22 14 */ add r4, r27, r4
/* 801A148C 38 B1 00 03 */ addi r5, r17, 3
/* 801A1490 7C B9 2A 14 */ add r5, r25, r5
/* 801A1494 38 D1 00 03 */ addi r6, r17, 3
/* 801A1498 7C DA 32 14 */ add r6, r26, r6
/* 801A149C 38 F1 00 03 */ addi r7, r17, 3
/* 801A14A0 7C F8 3A 14 */ add r7, r24, r7
/* 801A14A4 C0 21 00 34 */ lfs f1, 0x34(r1)
/* 801A14A8 C0 54 03 70 */ lfs f2, 0x370(r20)
/* 801A14AC 39 01 00 48 */ addi r8, r1, 0x48
/* 801A14B0 C0 7F 12 00 */ lfs f3, 0x1200(r31)
/* 801A14B4 4B FF EE 8D */ bl dKy_calc_color_set__FP11_GXColorS10P15color_RGB_classP15color_RGB_classP15color_RGB_classP15color_RGB_classff11_GXColorS10f
/* 801A14B8 3A 52 00 01 */ addi r18, r18, 1
/* 801A14BC 2C 12 00 04 */ cmpwi r18, 4
/* 801A14C0 3A 10 00 08 */ addi r16, r16, 8
/* 801A14C4 3A 31 00 03 */ addi r17, r17, 3
/* 801A14C8 41 80 FF A8 */ blt lbl_801A1470
/* 801A14CC 4B FB DF 59 */ bl checkNowWolfEyeUp__9daPy_py_cFv
/* 801A14D0 2C 03 00 00 */ cmpwi r3, 0
/* 801A14D4 41 82 00 0C */ beq lbl_801A14E0
/* 801A14D8 7F 83 E3 78 */ mr r3, r28
/* 801A14DC 4B FF B6 31 */ bl dKy_WolfPowerup_BgAmbCol__FP11_GXColorS10
lbl_801A14E0:
/* 801A14E0 38 00 00 FF */ li r0, 0xff
/* 801A14E4 B0 1C 00 1E */ sth r0, 0x1e(r28)
/* 801A14E8 B0 1C 00 16 */ sth r0, 0x16(r28)
/* 801A14EC B0 1C 00 0E */ sth r0, 0xe(r28)
/* 801A14F0 B0 1C 00 06 */ sth r0, 6(r28)
/* 801A14F4 3B 80 00 00 */ li r28, 0
/* 801A14F8 3A 40 00 00 */ li r18, 0
/* 801A14FC 3A 20 00 00 */ li r17, 0
/* 801A1500 3A 00 00 00 */ li r16, 0
lbl_801A1504:
/* 801A1504 80 73 11 70 */ lwz r3, 0x1170(r19)
/* 801A1508 80 13 11 74 */ lwz r0, 0x1174(r19)
/* 801A150C 90 61 00 40 */ stw r3, 0x40(r1)
/* 801A1510 90 01 00 44 */ stw r0, 0x44(r1)
/* 801A1514 3B A1 00 50 */ addi r29, r1, 0x50
/* 801A1518 7F BD 8A 14 */ add r29, r29, r17
/* 801A151C 7F A3 EB 78 */ mr r3, r29
/* 801A1520 38 90 00 0F */ addi r4, r16, 0xf
/* 801A1524 7C 9B 22 14 */ add r4, r27, r4
/* 801A1528 38 B0 00 0F */ addi r5, r16, 0xf
/* 801A152C 7C B9 2A 14 */ add r5, r25, r5
/* 801A1530 38 D0 00 0F */ addi r6, r16, 0xf
/* 801A1534 7C DA 32 14 */ add r6, r26, r6
/* 801A1538 38 F0 00 0F */ addi r7, r16, 0xf
/* 801A153C 7C F8 3A 14 */ add r7, r24, r7
/* 801A1540 C0 21 00 34 */ lfs f1, 0x34(r1)
/* 801A1544 C0 54 03 70 */ lfs f2, 0x370(r20)
/* 801A1548 39 01 00 40 */ addi r8, r1, 0x40
/* 801A154C C0 7F 12 00 */ lfs f3, 0x1200(r31)
/* 801A1550 4B FF ED F1 */ bl dKy_calc_color_set__FP11_GXColorS10P15color_RGB_classP15color_RGB_classP15color_RGB_classP15color_RGB_classff11_GXColorS10f
/* 801A1554 4B FB DE D1 */ bl checkNowWolfEyeUp__9daPy_py_cFv
/* 801A1558 2C 03 00 00 */ cmpwi r3, 0
/* 801A155C 41 82 00 14 */ beq lbl_801A1570
/* 801A1560 38 00 00 00 */ li r0, 0
/* 801A1564 B0 1D 00 00 */ sth r0, 0(r29)
/* 801A1568 B0 1D 00 02 */ sth r0, 2(r29)
/* 801A156C B0 1D 00 04 */ sth r0, 4(r29)
lbl_801A1570:
/* 801A1570 3B D2 00 74 */ addi r30, r18, 0x74
/* 801A1574 7F D4 F2 14 */ add r30, r20, r30
/* 801A1578 A8 1D 00 00 */ lha r0, 0(r29)
/* 801A157C 98 01 00 28 */ stb r0, 0x28(r1)
/* 801A1580 A8 1D 00 02 */ lha r0, 2(r29)
/* 801A1584 98 01 00 29 */ stb r0, 0x29(r1)
/* 801A1588 A8 1D 00 04 */ lha r0, 4(r29)
/* 801A158C 98 01 00 2A */ stb r0, 0x2a(r1)
/* 801A1590 A8 1D 00 06 */ lha r0, 6(r29)
/* 801A1594 98 01 00 2B */ stb r0, 0x2b(r1)
/* 801A1598 38 61 00 28 */ addi r3, r1, 0x28
/* 801A159C C0 34 03 74 */ lfs f1, 0x374(r20)
/* 801A15A0 4B FF CE 91 */ bl dKy_light_influence_col__FP8_GXColorf
/* 801A15A4 90 61 00 24 */ stw r3, 0x24(r1)
/* 801A15A8 88 01 00 24 */ lbz r0, 0x24(r1)
/* 801A15AC 98 1E 00 18 */ stb r0, 0x18(r30)
/* 801A15B0 88 01 00 25 */ lbz r0, 0x25(r1)
/* 801A15B4 98 1E 00 19 */ stb r0, 0x19(r30)
/* 801A15B8 88 01 00 26 */ lbz r0, 0x26(r1)
/* 801A15BC 98 1E 00 1A */ stb r0, 0x1a(r30)
/* 801A15C0 88 01 00 27 */ lbz r0, 0x27(r1)
/* 801A15C4 98 1E 00 1B */ stb r0, 0x1b(r30)
/* 801A15C8 3B 9C 00 01 */ addi r28, r28, 1
/* 801A15CC 2C 1C 00 06 */ cmpwi r28, 6
/* 801A15D0 3A 52 00 74 */ addi r18, r18, 0x74
/* 801A15D4 3A 31 00 08 */ addi r17, r17, 8
/* 801A15D8 3A 10 00 03 */ addi r16, r16, 3
/* 801A15DC 41 80 FF 28 */ blt lbl_801A1504
/* 801A15E0 80 73 11 B0 */ lwz r3, 0x11b0(r19)
/* 801A15E4 80 13 11 B4 */ lwz r0, 0x11b4(r19)
/* 801A15E8 90 61 00 38 */ stw r3, 0x38(r1)
/* 801A15EC 90 01 00 3C */ stw r0, 0x3c(r1)
/* 801A15F0 7E A3 AB 78 */ mr r3, r21
/* 801A15F4 38 9B 00 21 */ addi r4, r27, 0x21
/* 801A15F8 38 B9 00 21 */ addi r5, r25, 0x21
/* 801A15FC 38 DA 00 21 */ addi r6, r26, 0x21
/* 801A1600 38 F8 00 21 */ addi r7, r24, 0x21
/* 801A1604 C0 21 00 34 */ lfs f1, 0x34(r1)
/* 801A1608 C0 54 03 70 */ lfs f2, 0x370(r20)
/* 801A160C 39 01 00 38 */ addi r8, r1, 0x38
/* 801A1610 3D 20 80 43 */ lis r9, g_env_light@ha /* 0x8042CA54@ha */
/* 801A1614 39 29 CA 54 */ addi r9, r9, g_env_light@l /* 0x8042CA54@l */
/* 801A1618 C0 69 12 04 */ lfs f3, 0x1204(r9)
/* 801A161C 4B FF ED 25 */ bl dKy_calc_color_set__FP11_GXColorS10P15color_RGB_classP15color_RGB_classP15color_RGB_classP15color_RGB_classff11_GXColorS10f
/* 801A1620 C0 3B 00 24 */ lfs f1, 0x24(r27)
/* 801A1624 C0 5A 00 24 */ lfs f2, 0x24(r26)
/* 801A1628 C0 61 00 34 */ lfs f3, 0x34(r1)
/* 801A162C C0 99 00 24 */ lfs f4, 0x24(r25)
/* 801A1630 C0 B8 00 24 */ lfs f5, 0x24(r24)
/* 801A1634 C0 D4 03 70 */ lfs f6, 0x370(r20)
/* 801A1638 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 801A163C 3A 03 CA 54 */ addi r16, r3, g_env_light@l /* 0x8042CA54@l */
/* 801A1640 C0 F0 11 EC */ lfs f7, 0x11ec(r16)
/* 801A1644 C1 10 11 F4 */ lfs f8, 0x11f4(r16)
/* 801A1648 4B FF C1 59 */ bl float_kankyo_color_ratio_set__Fffffffff
/* 801A164C D0 36 00 00 */ stfs f1, 0(r22)
/* 801A1650 C0 3B 00 28 */ lfs f1, 0x28(r27)
/* 801A1654 C0 5A 00 28 */ lfs f2, 0x28(r26)
/* 801A1658 C0 61 00 34 */ lfs f3, 0x34(r1)
/* 801A165C C0 99 00 28 */ lfs f4, 0x28(r25)
/* 801A1660 C0 B8 00 28 */ lfs f5, 0x28(r24)
/* 801A1664 C0 D4 03 70 */ lfs f6, 0x370(r20)
/* 801A1668 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 801A166C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 801A1670 C0 E3 11 F0 */ lfs f7, 0x11f0(r3)
/* 801A1674 C1 10 11 F4 */ lfs f8, 0x11f4(r16)
/* 801A1678 4B FF C1 29 */ bl float_kankyo_color_ratio_set__Fffffffff
/* 801A167C D0 37 00 00 */ stfs f1, 0(r23)
/* 801A1680 4B FB DD A5 */ bl checkNowWolfEyeUp__9daPy_py_cFv
/* 801A1684 2C 03 00 00 */ cmpwi r3, 0
/* 801A1688 41 82 00 20 */ beq lbl_801A16A8
/* 801A168C 38 00 00 00 */ li r0, 0
/* 801A1690 B0 15 00 00 */ sth r0, 0(r21)
/* 801A1694 B0 15 00 02 */ sth r0, 2(r21)
/* 801A1698 B0 15 00 04 */ sth r0, 4(r21)
/* 801A169C 7E C3 B3 78 */ mr r3, r22
/* 801A16A0 7E E4 BB 78 */ mr r4, r23
/* 801A16A4 4B FF B6 39 */ bl dKy_WolfPowerup_FogNearFar__FPfPf
lbl_801A16A8:
/* 801A16A8 39 61 00 C0 */ addi r11, r1, 0xc0
/* 801A16AC 48 1C 0B 49 */ bl _restgpr_16
/* 801A16B0 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 801A16B4 7C 08 03 A6 */ mtlr r0
/* 801A16B8 38 21 00 C0 */ addi r1, r1, 0xc0
/* 801A16BC 4E 80 00 20 */ blr
@@ -1,154 +0,0 @@
lbl_8005B2F8:
/* 8005B2F8 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8005B2FC 7C 08 02 A6 */ mflr r0
/* 8005B300 90 01 00 74 */ stw r0, 0x74(r1)
/* 8005B304 39 61 00 70 */ addi r11, r1, 0x70
/* 8005B308 48 30 6E D5 */ bl _savegpr_29
/* 8005B30C 7C 9F 23 78 */ mr r31, r4
/* 8005B310 7C BD 2B 78 */ mr r29, r5
/* 8005B314 3C C0 80 43 */ lis r6, g_env_light@ha /* 0x8042CA54@ha */
/* 8005B318 3B C6 CA 54 */ addi r30, r6, g_env_light@l /* 0x8042CA54@l */
/* 8005B31C 4B FF FF 21 */ bl dKyw_pntwind_get_info__FP4cXyzP4cXyzPf
/* 8005B320 38 61 00 30 */ addi r3, r1, 0x30
/* 8005B324 3C 80 80 43 */ lis r4, g_env_light@ha /* 0x8042CA54@ha */
/* 8005B328 38 A4 CA 54 */ addi r5, r4, g_env_light@l /* 0x8042CA54@l */
/* 8005B32C 38 85 0E 48 */ addi r4, r5, 0xe48
/* 8005B330 C0 45 0E 58 */ lfs f2, 0xe58(r5)
/* 8005B334 C0 22 86 E4 */ lfs f1, lit_4379(r2)
/* 8005B338 C0 1D 00 00 */ lfs f0, 0(r29)
/* 8005B33C EC 01 00 28 */ fsubs f0, f1, f0
/* 8005B340 EC 22 00 32 */ fmuls f1, f2, f0
/* 8005B344 48 20 B8 41 */ bl __ml__4cXyzCFf
/* 8005B348 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 8005B34C D0 01 00 48 */ stfs f0, 0x48(r1)
/* 8005B350 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 8005B354 D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 8005B358 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 8005B35C D0 01 00 50 */ stfs f0, 0x50(r1)
/* 8005B360 38 61 00 24 */ addi r3, r1, 0x24
/* 8005B364 7F E4 FB 78 */ mr r4, r31
/* 8005B368 C0 22 87 A8 */ lfs f1, lit_5855(r2)
/* 8005B36C C0 1D 00 00 */ lfs f0, 0(r29)
/* 8005B370 EC 21 00 32 */ fmuls f1, f1, f0
/* 8005B374 48 20 B8 11 */ bl __ml__4cXyzCFf
/* 8005B378 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 8005B37C D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 8005B380 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 8005B384 D0 01 00 40 */ stfs f0, 0x40(r1)
/* 8005B388 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 8005B38C D0 01 00 44 */ stfs f0, 0x44(r1)
/* 8005B390 38 61 00 18 */ addi r3, r1, 0x18
/* 8005B394 38 81 00 48 */ addi r4, r1, 0x48
/* 8005B398 38 A1 00 3C */ addi r5, r1, 0x3c
/* 8005B39C 48 20 B7 49 */ bl __pl__4cXyzCFRC3Vec
/* 8005B3A0 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8005B3A4 D0 01 00 54 */ stfs f0, 0x54(r1)
/* 8005B3A8 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8005B3AC D0 01 00 58 */ stfs f0, 0x58(r1)
/* 8005B3B0 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 8005B3B4 D0 01 00 5C */ stfs f0, 0x5c(r1)
/* 8005B3B8 38 61 00 54 */ addi r3, r1, 0x54
/* 8005B3BC 48 2E BD 7D */ bl PSVECSquareMag
/* 8005B3C0 C0 02 86 E0 */ lfs f0, lit_4378(r2)
/* 8005B3C4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8005B3C8 40 81 00 58 */ ble lbl_8005B420
/* 8005B3CC FC 00 08 34 */ frsqrte f0, f1
/* 8005B3D0 C8 82 87 78 */ lfd f4, lit_5524(r2)
/* 8005B3D4 FC 44 00 32 */ fmul f2, f4, f0
/* 8005B3D8 C8 62 87 80 */ lfd f3, lit_5525(r2)
/* 8005B3DC FC 00 00 32 */ fmul f0, f0, f0
/* 8005B3E0 FC 01 00 32 */ fmul f0, f1, f0
/* 8005B3E4 FC 03 00 28 */ fsub f0, f3, f0
/* 8005B3E8 FC 02 00 32 */ fmul f0, f2, f0
/* 8005B3EC FC 44 00 32 */ fmul f2, f4, f0
/* 8005B3F0 FC 00 00 32 */ fmul f0, f0, f0
/* 8005B3F4 FC 01 00 32 */ fmul f0, f1, f0
/* 8005B3F8 FC 03 00 28 */ fsub f0, f3, f0
/* 8005B3FC FC 02 00 32 */ fmul f0, f2, f0
/* 8005B400 FC 44 00 32 */ fmul f2, f4, f0
/* 8005B404 FC 00 00 32 */ fmul f0, f0, f0
/* 8005B408 FC 01 00 32 */ fmul f0, f1, f0
/* 8005B40C FC 03 00 28 */ fsub f0, f3, f0
/* 8005B410 FC 02 00 32 */ fmul f0, f2, f0
/* 8005B414 FC 21 00 32 */ fmul f1, f1, f0
/* 8005B418 FC 20 08 18 */ frsp f1, f1
/* 8005B41C 48 00 00 88 */ b lbl_8005B4A4
lbl_8005B420:
/* 8005B420 C8 02 87 88 */ lfd f0, lit_5526(r2)
/* 8005B424 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8005B428 40 80 00 10 */ bge lbl_8005B438
/* 8005B42C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 8005B430 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
/* 8005B434 48 00 00 70 */ b lbl_8005B4A4
lbl_8005B438:
/* 8005B438 D0 21 00 08 */ stfs f1, 8(r1)
/* 8005B43C 80 81 00 08 */ lwz r4, 8(r1)
/* 8005B440 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 8005B444 3C 00 7F 80 */ lis r0, 0x7f80
/* 8005B448 7C 03 00 00 */ cmpw r3, r0
/* 8005B44C 41 82 00 14 */ beq lbl_8005B460
/* 8005B450 40 80 00 40 */ bge lbl_8005B490
/* 8005B454 2C 03 00 00 */ cmpwi r3, 0
/* 8005B458 41 82 00 20 */ beq lbl_8005B478
/* 8005B45C 48 00 00 34 */ b lbl_8005B490
lbl_8005B460:
/* 8005B460 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8005B464 41 82 00 0C */ beq lbl_8005B470
/* 8005B468 38 00 00 01 */ li r0, 1
/* 8005B46C 48 00 00 28 */ b lbl_8005B494
lbl_8005B470:
/* 8005B470 38 00 00 02 */ li r0, 2
/* 8005B474 48 00 00 20 */ b lbl_8005B494
lbl_8005B478:
/* 8005B478 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8005B47C 41 82 00 0C */ beq lbl_8005B488
/* 8005B480 38 00 00 05 */ li r0, 5
/* 8005B484 48 00 00 10 */ b lbl_8005B494
lbl_8005B488:
/* 8005B488 38 00 00 03 */ li r0, 3
/* 8005B48C 48 00 00 08 */ b lbl_8005B494
lbl_8005B490:
/* 8005B490 38 00 00 04 */ li r0, 4
lbl_8005B494:
/* 8005B494 2C 00 00 01 */ cmpwi r0, 1
/* 8005B498 40 82 00 0C */ bne lbl_8005B4A4
/* 8005B49C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 8005B4A0 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
lbl_8005B4A4:
/* 8005B4A4 D0 3D 00 00 */ stfs f1, 0(r29)
/* 8005B4A8 38 61 00 0C */ addi r3, r1, 0xc
/* 8005B4AC 38 81 00 54 */ addi r4, r1, 0x54
/* 8005B4B0 48 20 B8 81 */ bl normZP__4cXyzCFv
/* 8005B4B4 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8005B4B8 D0 01 00 54 */ stfs f0, 0x54(r1)
/* 8005B4BC C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8005B4C0 D0 01 00 58 */ stfs f0, 0x58(r1)
/* 8005B4C4 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8005B4C8 D0 01 00 5C */ stfs f0, 0x5c(r1)
/* 8005B4CC 38 61 00 54 */ addi r3, r1, 0x54
/* 8005B4D0 3C 80 80 43 */ lis r4, Zero__4cXyz@ha /* 0x80430CF4@ha */
/* 8005B4D4 38 84 0C F4 */ addi r4, r4, Zero__4cXyz@l /* 0x80430CF4@l */
/* 8005B4D8 48 20 BB 95 */ bl __ne__4cXyzCFRC3Vec
/* 8005B4DC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8005B4E0 41 82 00 20 */ beq lbl_8005B500
/* 8005B4E4 C0 01 00 54 */ lfs f0, 0x54(r1)
/* 8005B4E8 D0 1F 00 00 */ stfs f0, 0(r31)
/* 8005B4EC C0 01 00 58 */ lfs f0, 0x58(r1)
/* 8005B4F0 D0 1F 00 04 */ stfs f0, 4(r31)
/* 8005B4F4 C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 8005B4F8 D0 1F 00 08 */ stfs f0, 8(r31)
/* 8005B4FC 48 00 00 1C */ b lbl_8005B518
lbl_8005B500:
/* 8005B500 C0 1E 0E 48 */ lfs f0, 0xe48(r30)
/* 8005B504 D0 1F 00 00 */ stfs f0, 0(r31)
/* 8005B508 C0 1E 0E 4C */ lfs f0, 0xe4c(r30)
/* 8005B50C D0 1F 00 04 */ stfs f0, 4(r31)
/* 8005B510 C0 1E 0E 50 */ lfs f0, 0xe50(r30)
/* 8005B514 D0 1F 00 08 */ stfs f0, 8(r31)
lbl_8005B518:
/* 8005B518 39 61 00 70 */ addi r11, r1, 0x70
/* 8005B51C 48 30 6D 0D */ bl _restgpr_29
/* 8005B520 80 01 00 74 */ lwz r0, 0x74(r1)
/* 8005B524 7C 08 03 A6 */ mtlr r0
/* 8005B528 38 21 00 70 */ addi r1, r1, 0x70
/* 8005B52C 4E 80 00 20 */ blr
@@ -1,56 +0,0 @@
lbl_8005B530:
/* 8005B530 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8005B534 7C 08 02 A6 */ mflr r0
/* 8005B538 90 01 00 74 */ stw r0, 0x74(r1)
/* 8005B53C 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 8005B540 7C 7F 1B 78 */ mr r31, r3
/* 8005B544 7C 83 23 78 */ mr r3, r4
/* 8005B548 38 81 00 30 */ addi r4, r1, 0x30
/* 8005B54C 38 A1 00 08 */ addi r5, r1, 8
/* 8005B550 4B FF FC ED */ bl dKyw_pntwind_get_info__FP4cXyzP4cXyzPf
/* 8005B554 38 61 00 24 */ addi r3, r1, 0x24
/* 8005B558 3C 80 80 43 */ lis r4, g_env_light@ha /* 0x8042CEA54@ha */
/* 8005B55C 38 A4 CA 54 */ addi r5, r4, g_env_light@l /* 0x8042CA54@l */
/* 8005B560 38 85 0E 48 */ addi r4, r5, 0xe48
/* 8005B564 C0 45 0E 58 */ lfs f2, 0xe58(r5)
/* 8005B568 C0 22 86 E4 */ lfs f1, lit_4379(r2)
/* 8005B56C C0 01 00 08 */ lfs f0, 8(r1)
/* 8005B570 EC 01 00 28 */ fsubs f0, f1, f0
/* 8005B574 EC 22 00 32 */ fmuls f1, f2, f0
/* 8005B578 48 20 B6 0D */ bl __ml__4cXyzCFf
/* 8005B57C C0 01 00 24 */ lfs f0, 0x24(r1)
/* 8005B580 D0 01 00 48 */ stfs f0, 0x48(r1)
/* 8005B584 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 8005B588 D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 8005B58C C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 8005B590 D0 01 00 50 */ stfs f0, 0x50(r1)
/* 8005B594 38 61 00 18 */ addi r3, r1, 0x18
/* 8005B598 38 81 00 30 */ addi r4, r1, 0x30
/* 8005B59C C0 22 87 A8 */ lfs f1, lit_5855(r2)
/* 8005B5A0 C0 01 00 08 */ lfs f0, 8(r1)
/* 8005B5A4 EC 21 00 32 */ fmuls f1, f1, f0
/* 8005B5A8 48 20 B5 DD */ bl __ml__4cXyzCFf
/* 8005B5AC C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8005B5B0 D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 8005B5B4 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8005B5B8 D0 01 00 40 */ stfs f0, 0x40(r1)
/* 8005B5BC C0 01 00 20 */ lfs f0, 0x20(r1)
/* 8005B5C0 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 8005B5C4 38 61 00 0C */ addi r3, r1, 0xc
/* 8005B5C8 38 81 00 48 */ addi r4, r1, 0x48
/* 8005B5CC 38 A1 00 3C */ addi r5, r1, 0x3c
/* 8005B5D0 48 20 B5 15 */ bl __pl__4cXyzCFRC3Vec
/* 8005B5D4 C0 41 00 0C */ lfs f2, 0xc(r1)
/* 8005B5D8 D0 41 00 54 */ stfs f2, 0x54(r1)
/* 8005B5DC C0 21 00 10 */ lfs f1, 0x10(r1)
/* 8005B5E0 D0 21 00 58 */ stfs f1, 0x58(r1)
/* 8005B5E4 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 8005B5E8 D0 01 00 5C */ stfs f0, 0x5c(r1)
/* 8005B5EC D0 5F 00 00 */ stfs f2, 0(r31)
/* 8005B5F0 D0 3F 00 04 */ stfs f1, 4(r31)
/* 8005B5F4 D0 1F 00 08 */ stfs f0, 8(r31)
/* 8005B5F8 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 8005B5FC 80 01 00 74 */ lwz r0, 0x74(r1)
/* 8005B600 7C 08 03 A6 */ mtlr r0
/* 8005B604 38 21 00 70 */ addi r1, r1, 0x70
/* 8005B608 4E 80 00 20 */ blr
@@ -1,153 +0,0 @@
lbl_8005A340:
/* 8005A340 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8005A344 7C 08 02 A6 */ mflr r0
/* 8005A348 90 01 00 14 */ stw r0, 0x14(r1)
/* 8005A34C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8005A350 93 C1 00 08 */ stw r30, 8(r1)
/* 8005A354 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8005A358 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8005A35C 3B E3 4E 00 */ addi r31, r3, 0x4e00
/* 8005A360 7F E3 FB 78 */ mr r3, r31
/* 8005A364 3C 80 80 38 */ lis r4, d_kankyo_d_kankyo_wether__stringBase0@ha /* 0x8037A368@ha */
/* 8005A368 38 84 A3 68 */ addi r4, r4, d_kankyo_d_kankyo_wether__stringBase0@l /* 0x8037A368@l */
/* 8005A36C 38 84 00 D0 */ addi r4, r4, 0xd0
/* 8005A370 48 30 E6 25 */ bl strcmp
/* 8005A374 2C 03 00 00 */ cmpwi r3, 0
/* 8005A378 41 82 00 54 */ beq lbl_8005A3CC
/* 8005A37C 7F E3 FB 78 */ mr r3, r31
/* 8005A380 3C 80 80 38 */ lis r4, d_kankyo_d_kankyo_wether__stringBase0@ha /* 0x8037A368@ha */
/* 8005A384 38 84 A3 68 */ addi r4, r4, d_kankyo_d_kankyo_wether__stringBase0@l /* 0x8037A368@l */
/* 8005A388 38 84 01 4B */ addi r4, r4, 0x14b
/* 8005A38C 48 30 E6 09 */ bl strcmp
/* 8005A390 2C 03 00 00 */ cmpwi r3, 0
/* 8005A394 41 82 00 38 */ beq lbl_8005A3CC
/* 8005A398 7F E3 FB 78 */ mr r3, r31
/* 8005A39C 3C 80 80 38 */ lis r4, d_kankyo_d_kankyo_wether__stringBase0@ha /* 0x8037A368@ha */
/* 8005A3A0 38 84 A3 68 */ addi r4, r4, d_kankyo_d_kankyo_wether__stringBase0@l /* 0x8037A368@l */
/* 8005A3A4 38 84 00 91 */ addi r4, r4, 0x91
/* 8005A3A8 48 30 E5 ED */ bl strcmp
/* 8005A3AC 2C 03 00 00 */ cmpwi r3, 0
/* 8005A3B0 40 82 01 3C */ bne lbl_8005A4EC
/* 8005A3B4 C0 22 86 E0 */ lfs f1, lit_4378(r2)
/* 8005A3B8 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005A3BC 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005A3C0 C0 03 11 D8 */ lfs f0, 0x11d8(r3)
/* 8005A3C4 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 8005A3C8 41 82 01 24 */ beq lbl_8005A4EC
lbl_8005A3CC:
/* 8005A3CC 48 15 21 B1 */ bl dKy_darkworld_check__Fv
/* 8005A3D0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8005A3D4 40 82 01 18 */ bne lbl_8005A4EC
/* 8005A3D8 7F E3 FB 78 */ mr r3, r31
/* 8005A3DC 3C 80 80 38 */ lis r4, d_kankyo_d_kankyo_wether__stringBase0@ha /* 0x8037A368@ha */
/* 8005A3E0 38 84 A3 68 */ addi r4, r4, d_kankyo_d_kankyo_wether__stringBase0@l /* 0x8037A368@l */
/* 8005A3E4 38 84 00 91 */ addi r4, r4, 0x91
/* 8005A3E8 48 30 E5 AD */ bl strcmp
/* 8005A3EC 2C 03 00 00 */ cmpwi r3, 0
/* 8005A3F0 41 82 00 30 */ beq lbl_8005A420
/* 8005A3F4 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005A3F8 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005A3FC C0 23 12 44 */ lfs f1, 0x1244(r3)
/* 8005A400 C0 02 87 10 */ lfs f0, lit_4765(r2)
/* 8005A404 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8005A408 4C 41 13 82 */ cror 2, 1, 2
/* 8005A40C 40 82 00 14 */ bne lbl_8005A420
/* 8005A410 C0 02 87 64 */ lfs f0, lit_5361(r2)
/* 8005A414 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8005A418 4C 40 13 82 */ cror 2, 0, 2
/* 8005A41C 41 82 00 40 */ beq lbl_8005A45C
lbl_8005A420:
/* 8005A420 7F E3 FB 78 */ mr r3, r31
/* 8005A424 3C 80 80 38 */ lis r4, d_kankyo_d_kankyo_wether__stringBase0@ha /* 0x8037A368@ha */
/* 8005A428 38 84 A3 68 */ addi r4, r4, d_kankyo_d_kankyo_wether__stringBase0@l /* 0x8037A368@l */
/* 8005A42C 38 84 00 91 */ addi r4, r4, 0x91
/* 8005A430 48 30 E5 65 */ bl strcmp
/* 8005A434 2C 03 00 00 */ cmpwi r3, 0
/* 8005A438 40 82 00 60 */ bne lbl_8005A498
/* 8005A43C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005A440 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005A444 88 03 12 C9 */ lbz r0, 0x12c9(r3)
/* 8005A448 28 00 00 01 */ cmplwi r0, 1
/* 8005A44C 41 80 00 4C */ blt lbl_8005A498
/* 8005A450 28 00 00 06 */ cmplwi r0, 6
/* 8005A454 40 80 00 44 */ bge lbl_8005A498
/* 8005A458 48 14 E6 E1 */ bl dKy_get_dayofweek__Fv
lbl_8005A45C:
/* 8005A45C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005A460 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005A464 38 63 0E BC */ addi r3, r3, 0xebc
/* 8005A468 C0 22 86 E4 */ lfs f1, lit_4379(r2)
/* 8005A46C C0 42 87 68 */ lfs f2, lit_5362(r2)
/* 8005A470 C0 62 87 6C */ lfs f3, lit_5363(r2)
/* 8005A474 C0 82 87 24 */ lfs f4, lit_4770(r2)
/* 8005A478 48 21 55 05 */ bl cLib_addCalc__FPfffff
/* 8005A47C 38 00 00 07 */ li r0, 7
/* 8005A480 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005A484 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005A488 98 03 0E B5 */ stb r0, 0xeb5(r3)
/* 8005A48C 38 00 00 31 */ li r0, 0x31
/* 8005A490 90 03 0E B8 */ stw r0, 0xeb8(r3)
/* 8005A494 48 00 00 58 */ b lbl_8005A4EC
lbl_8005A498:
/* 8005A498 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005A49C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005A4A0 3B C3 0E BC */ addi r30, r3, 0xebc
/* 8005A4A4 7F C3 F3 78 */ mr r3, r30
/* 8005A4A8 C0 22 86 E0 */ lfs f1, lit_4378(r2)
/* 8005A4AC C0 42 87 68 */ lfs f2, lit_5362(r2)
/* 8005A4B0 C0 62 87 6C */ lfs f3, lit_5363(r2)
/* 8005A4B4 C0 82 87 70 */ lfs f4, lit_5364(r2)
/* 8005A4B8 48 21 54 C5 */ bl cLib_addCalc__FPfffff
/* 8005A4BC C0 3E 00 00 */ lfs f1, 0(r30)
/* 8005A4C0 C0 02 87 20 */ lfs f0, lit_4769(r2)
/* 8005A4C4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8005A4C8 4C 40 13 82 */ cror 2, 0, 2
/* 8005A4CC 40 82 00 20 */ bne lbl_8005A4EC
/* 8005A4D0 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005A4D4 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005A4D8 80 03 0E B8 */ lwz r0, 0xeb8(r3)
/* 8005A4DC 2C 00 00 31 */ cmpwi r0, 0x31
/* 8005A4E0 40 82 00 0C */ bne lbl_8005A4EC
/* 8005A4E4 38 00 00 00 */ li r0, 0
/* 8005A4E8 90 03 0E B8 */ stw r0, 0xeb8(r3)
lbl_8005A4EC:
/* 8005A4EC 7F E3 FB 78 */ mr r3, r31
/* 8005A4F0 3C 80 80 38 */ lis r4, d_kankyo_d_kankyo_wether__stringBase0@ha /* 0x8037A368@ha */
/* 8005A4F4 38 84 A3 68 */ addi r4, r4, d_kankyo_d_kankyo_wether__stringBase0@l /* 0x8037A368@l */
/* 8005A4F8 38 84 01 4B */ addi r4, r4, 0x14b
/* 8005A4FC 48 30 E4 99 */ bl strcmp
/* 8005A500 2C 03 00 00 */ cmpwi r3, 0
/* 8005A504 40 82 00 5C */ bne lbl_8005A560
/* 8005A508 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005A50C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005A510 88 03 12 FE */ lbz r0, 0x12fe(r3)
/* 8005A514 28 00 00 01 */ cmplwi r0, 1
/* 8005A518 41 82 00 0C */ beq lbl_8005A524
/* 8005A51C 28 00 00 03 */ cmplwi r0, 3
/* 8005A520 40 82 00 40 */ bne lbl_8005A560
lbl_8005A524:
/* 8005A524 28 00 00 01 */ cmplwi r0, 1
/* 8005A528 40 82 00 18 */ bne lbl_8005A540
/* 8005A52C 38 00 00 23 */ li r0, 0x23
/* 8005A530 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005A534 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005A538 90 03 0E AC */ stw r0, 0xeac(r3)
/* 8005A53C 48 00 00 14 */ b lbl_8005A550
lbl_8005A540:
/* 8005A540 38 00 00 1E */ li r0, 0x1e
/* 8005A544 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005A548 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005A54C 90 03 0E AC */ stw r0, 0xeac(r3)
lbl_8005A550:
/* 8005A550 38 00 00 02 */ li r0, 2
/* 8005A554 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005A558 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005A55C 98 03 0E A9 */ stb r0, 0xea9(r3)
lbl_8005A560:
/* 8005A560 48 00 06 D1 */ bl squal_proc__Fv
/* 8005A564 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8005A568 83 C1 00 08 */ lwz r30, 8(r1)
/* 8005A56C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8005A570 7C 08 03 A6 */ mtlr r0
/* 8005A574 38 21 00 10 */ addi r1, r1, 0x10
/* 8005A578 4E 80 00 20 */ blr
@@ -1,365 +0,0 @@
lbl_8005A5C0:
/* 8005A5C0 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 8005A5C4 7C 08 02 A6 */ mflr r0
/* 8005A5C8 90 01 00 64 */ stw r0, 0x64(r1)
/* 8005A5CC DB E1 00 50 */ stfd f31, 0x50(r1)
/* 8005A5D0 F3 E1 00 58 */ psq_st f31, 88(r1), 0, 0 /* qr0 */
/* 8005A5D4 39 61 00 50 */ addi r11, r1, 0x50
/* 8005A5D8 48 30 7B F5 */ bl _savegpr_25
/* 8005A5DC 3B 80 00 00 */ li r28, 0
/* 8005A5E0 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005A5E4 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005A5E8 80 83 0E 54 */ lwz r4, 0xe54(r3)
/* 8005A5EC 28 04 00 00 */ cmplwi r4, 0
/* 8005A5F0 41 82 01 34 */ beq lbl_8005A724
/* 8005A5F4 C0 24 00 00 */ lfs f1, 0(r4)
/* 8005A5F8 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 8005A5FC C0 04 00 04 */ lfs f0, 4(r4)
/* 8005A600 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8005A604 C0 44 00 08 */ lfs f2, 8(r4)
/* 8005A608 D0 41 00 20 */ stfs f2, 0x20(r1)
/* 8005A60C C3 E3 0E 5C */ lfs f31, 0xe5c(r3)
/* 8005A610 48 20 D0 65 */ bl cM_atan2s__Fff
/* 8005A614 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8005A618 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8005A61C C0 02 86 E0 */ lfs f0, lit_4378(r2)
/* 8005A620 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8005A624 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 8005A628 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8005A62C 38 61 00 0C */ addi r3, r1, 0xc
/* 8005A630 48 2E CB 09 */ bl PSVECSquareMag
/* 8005A634 C0 02 86 E0 */ lfs f0, lit_4378(r2)
/* 8005A638 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8005A63C 40 81 00 58 */ ble lbl_8005A694
/* 8005A640 FC 00 08 34 */ frsqrte f0, f1
/* 8005A644 C8 82 87 78 */ lfd f4, lit_5524(r2)
/* 8005A648 FC 44 00 32 */ fmul f2, f4, f0
/* 8005A64C C8 62 87 80 */ lfd f3, lit_5525(r2)
/* 8005A650 FC 00 00 32 */ fmul f0, f0, f0
/* 8005A654 FC 01 00 32 */ fmul f0, f1, f0
/* 8005A658 FC 03 00 28 */ fsub f0, f3, f0
/* 8005A65C FC 02 00 32 */ fmul f0, f2, f0
/* 8005A660 FC 44 00 32 */ fmul f2, f4, f0
/* 8005A664 FC 00 00 32 */ fmul f0, f0, f0
/* 8005A668 FC 01 00 32 */ fmul f0, f1, f0
/* 8005A66C FC 03 00 28 */ fsub f0, f3, f0
/* 8005A670 FC 02 00 32 */ fmul f0, f2, f0
/* 8005A674 FC 44 00 32 */ fmul f2, f4, f0
/* 8005A678 FC 00 00 32 */ fmul f0, f0, f0
/* 8005A67C FC 01 00 32 */ fmul f0, f1, f0
/* 8005A680 FC 03 00 28 */ fsub f0, f3, f0
/* 8005A684 FC 02 00 32 */ fmul f0, f2, f0
/* 8005A688 FC 21 00 32 */ fmul f1, f1, f0
/* 8005A68C FC 20 08 18 */ frsp f1, f1
/* 8005A690 48 00 00 88 */ b lbl_8005A718
lbl_8005A694:
/* 8005A694 C8 02 87 88 */ lfd f0, lit_5526(r2)
/* 8005A698 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8005A69C 40 80 00 10 */ bge lbl_8005A6AC
/* 8005A6A0 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 8005A6A4 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
/* 8005A6A8 48 00 00 70 */ b lbl_8005A718
lbl_8005A6AC:
/* 8005A6AC D0 21 00 08 */ stfs f1, 8(r1)
/* 8005A6B0 80 81 00 08 */ lwz r4, 8(r1)
/* 8005A6B4 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 8005A6B8 3C 00 7F 80 */ lis r0, 0x7f80
/* 8005A6BC 7C 03 00 00 */ cmpw r3, r0
/* 8005A6C0 41 82 00 14 */ beq lbl_8005A6D4
/* 8005A6C4 40 80 00 40 */ bge lbl_8005A704
/* 8005A6C8 2C 03 00 00 */ cmpwi r3, 0
/* 8005A6CC 41 82 00 20 */ beq lbl_8005A6EC
/* 8005A6D0 48 00 00 34 */ b lbl_8005A704
lbl_8005A6D4:
/* 8005A6D4 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8005A6D8 41 82 00 0C */ beq lbl_8005A6E4
/* 8005A6DC 38 00 00 01 */ li r0, 1
/* 8005A6E0 48 00 00 28 */ b lbl_8005A708
lbl_8005A6E4:
/* 8005A6E4 38 00 00 02 */ li r0, 2
/* 8005A6E8 48 00 00 20 */ b lbl_8005A708
lbl_8005A6EC:
/* 8005A6EC 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8005A6F0 41 82 00 0C */ beq lbl_8005A6FC
/* 8005A6F4 38 00 00 05 */ li r0, 5
/* 8005A6F8 48 00 00 10 */ b lbl_8005A708
lbl_8005A6FC:
/* 8005A6FC 38 00 00 03 */ li r0, 3
/* 8005A700 48 00 00 08 */ b lbl_8005A708
lbl_8005A704:
/* 8005A704 38 00 00 04 */ li r0, 4
lbl_8005A708:
/* 8005A708 2C 00 00 01 */ cmpwi r0, 1
/* 8005A70C 40 82 00 0C */ bne lbl_8005A718
/* 8005A710 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 8005A714 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
lbl_8005A718:
/* 8005A718 C0 41 00 1C */ lfs f2, 0x1c(r1)
/* 8005A71C 48 20 CF 59 */ bl cM_atan2s__Fff
/* 8005A720 48 00 02 24 */ b lbl_8005A944
lbl_8005A724:
/* 8005A724 3B 60 00 00 */ li r27, 0
/* 8005A728 3B 40 00 00 */ li r26, 0
/* 8005A72C 88 8D 87 E4 */ lbz r4, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 8005A730 7C 84 07 75 */ extsb. r4, r4
/* 8005A734 41 80 00 28 */ blt lbl_8005A75C
/* 8005A738 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8005A73C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8005A740 38 63 4E C4 */ addi r3, r3, 0x4ec4
/* 8005A744 4B FC 9C 41 */ bl getStatusRoomDt__20dStage_roomControl_cFi
/* 8005A748 81 83 00 00 */ lwz r12, 0(r3)
/* 8005A74C 81 8C 01 0C */ lwz r12, 0x10c(r12)
/* 8005A750 7D 89 03 A6 */ mtctr r12
/* 8005A754 4E 80 04 21 */ bctrl
/* 8005A758 7C 7B 1B 78 */ mr r27, r3
lbl_8005A75C:
/* 8005A75C 3B C0 00 00 */ li r30, 0
/* 8005A760 3B A0 00 00 */ li r29, 0
/* 8005A764 28 1B 00 00 */ cmplwi r27, 0
/* 8005A768 41 82 00 0C */ beq lbl_8005A774
/* 8005A76C 80 1B 00 00 */ lwz r0, 0(r27)
/* 8005A770 54 1C 8F 7E */ rlwinm r28, r0, 0x11, 0x1d, 0x1f
lbl_8005A774:
/* 8005A774 88 8D 87 E4 */ lbz r4, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 8005A778 7C 84 07 74 */ extsb r4, r4
/* 8005A77C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8005A780 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8005A784 3B E3 4E C4 */ addi r31, r3, 0x4ec4
/* 8005A788 7F E3 FB 78 */ mr r3, r31
/* 8005A78C 4B FC 9B F9 */ bl getStatusRoomDt__20dStage_roomControl_cFi
/* 8005A790 28 03 00 00 */ cmplwi r3, 0
/* 8005A794 41 82 00 58 */ beq lbl_8005A7EC
/* 8005A798 88 8D 87 E4 */ lbz r4, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 8005A79C 7C 84 07 74 */ extsb r4, r4
/* 8005A7A0 7F E3 FB 78 */ mr r3, r31
/* 8005A7A4 4B FC 9B E1 */ bl getStatusRoomDt__20dStage_roomControl_cFi
/* 8005A7A8 81 83 00 00 */ lwz r12, 0(r3)
/* 8005A7AC 81 8C 01 40 */ lwz r12, 0x140(r12)
/* 8005A7B0 7D 89 03 A6 */ mtctr r12
/* 8005A7B4 4E 80 04 21 */ bctrl
/* 8005A7B8 28 03 00 00 */ cmplwi r3, 0
/* 8005A7BC 41 82 00 30 */ beq lbl_8005A7EC
/* 8005A7C0 83 23 00 04 */ lwz r25, 4(r3)
/* 8005A7C4 38 60 00 00 */ li r3, 0
/* 8005A7C8 4B FD 21 B5 */ bl getLayerNo__14dComIfG_play_cFi
/* 8005A7CC 1C 03 00 03 */ mulli r0, r3, 3
/* 8005A7D0 7C 79 02 14 */ add r3, r25, r0
/* 8005A7D4 88 03 00 02 */ lbz r0, 2(r3)
/* 8005A7D8 54 00 EF 7E */ rlwinm r0, r0, 0x1d, 0x1d, 0x1f
/* 8005A7DC 2C 00 00 07 */ cmpwi r0, 7
/* 8005A7E0 41 82 00 0C */ beq lbl_8005A7EC
/* 8005A7E4 88 19 00 02 */ lbz r0, 2(r25)
/* 8005A7E8 54 1C EF 7E */ rlwinm r28, r0, 0x1d, 0x1d, 0x1f
lbl_8005A7EC:
/* 8005A7EC 2C 1C 00 03 */ cmpwi r28, 3
/* 8005A7F0 41 82 00 30 */ beq lbl_8005A820
/* 8005A7F4 40 80 00 10 */ bge lbl_8005A804
/* 8005A7F8 2C 1C 00 02 */ cmpwi r28, 2
/* 8005A7FC 40 80 00 18 */ bge lbl_8005A814
/* 8005A800 48 00 00 40 */ b lbl_8005A840
lbl_8005A804:
/* 8005A804 2C 1C 00 05 */ cmpwi r28, 5
/* 8005A808 41 82 00 30 */ beq lbl_8005A838
/* 8005A80C 40 80 00 34 */ bge lbl_8005A840
/* 8005A810 48 00 00 1C */ b lbl_8005A82C
lbl_8005A814:
/* 8005A814 3B C0 00 00 */ li r30, 0
/* 8005A818 3B A0 C0 00 */ li r29, -16384
/* 8005A81C 48 00 00 24 */ b lbl_8005A840
lbl_8005A820:
/* 8005A820 3B C0 00 00 */ li r30, 0
/* 8005A824 3B A0 00 00 */ li r29, 0
/* 8005A828 48 00 00 18 */ b lbl_8005A840
lbl_8005A82C:
/* 8005A82C 3B C0 00 00 */ li r30, 0
/* 8005A830 3B A0 40 00 */ li r29, 0x4000
/* 8005A834 48 00 00 0C */ b lbl_8005A840
lbl_8005A838:
/* 8005A838 3B C0 00 00 */ li r30, 0
/* 8005A83C 3B A0 7F FF */ li r29, 0x7fff
lbl_8005A840:
/* 8005A840 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005A844 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005A848 88 03 0E 6D */ lbz r0, 0xe6d(r3)
/* 8005A84C 28 00 00 00 */ cmplwi r0, 0
/* 8005A850 41 82 00 14 */ beq lbl_8005A864
/* 8005A854 28 00 00 FF */ cmplwi r0, 0xff
/* 8005A858 41 82 00 0C */ beq lbl_8005A864
/* 8005A85C AB C3 0E 68 */ lha r30, 0xe68(r3)
/* 8005A860 AB A3 0E 6A */ lha r29, 0xe6a(r3)
lbl_8005A864:
/* 8005A864 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */
/* 8005A868 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */
/* 8005A86C 38 A3 00 04 */ addi r5, r3, 4
/* 8005A870 57 C0 04 38 */ rlwinm r0, r30, 0, 0x10, 0x1c
/* 8005A874 7C 25 04 2E */ lfsx f1, r5, r0
/* 8005A878 57 A4 04 38 */ rlwinm r4, r29, 0, 0x10, 0x1c
/* 8005A87C 7C 03 24 2E */ lfsx f0, r3, r4
/* 8005A880 EC 01 00 32 */ fmuls f0, f1, f0
/* 8005A884 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8005A888 7C 03 04 2E */ lfsx f0, r3, r0
/* 8005A88C D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 8005A890 7C 05 24 2E */ lfsx f0, r5, r4
/* 8005A894 EC 01 00 32 */ fmuls f0, f1, f0
/* 8005A898 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 8005A89C 28 1B 00 00 */ cmplwi r27, 0
/* 8005A8A0 41 82 00 0C */ beq lbl_8005A8AC
/* 8005A8A4 80 1B 00 00 */ lwz r0, 0(r27)
/* 8005A8A8 54 1A 77 BE */ rlwinm r26, r0, 0xe, 0x1e, 0x1f
lbl_8005A8AC:
/* 8005A8AC 88 8D 87 E4 */ lbz r4, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 8005A8B0 7C 84 07 74 */ extsb r4, r4
/* 8005A8B4 7F E3 FB 78 */ mr r3, r31
/* 8005A8B8 4B FC 9A CD */ bl getStatusRoomDt__20dStage_roomControl_cFi
/* 8005A8BC 28 03 00 00 */ cmplwi r3, 0
/* 8005A8C0 41 82 00 44 */ beq lbl_8005A904
/* 8005A8C4 88 8D 87 E4 */ lbz r4, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 8005A8C8 7C 84 07 74 */ extsb r4, r4
/* 8005A8CC 7F E3 FB 78 */ mr r3, r31
/* 8005A8D0 4B FC 9A B5 */ bl getStatusRoomDt__20dStage_roomControl_cFi
/* 8005A8D4 81 83 00 00 */ lwz r12, 0(r3)
/* 8005A8D8 81 8C 01 40 */ lwz r12, 0x140(r12)
/* 8005A8DC 7D 89 03 A6 */ mtctr r12
/* 8005A8E0 4E 80 04 21 */ bctrl
/* 8005A8E4 28 03 00 00 */ cmplwi r3, 0
/* 8005A8E8 41 82 00 1C */ beq lbl_8005A904
/* 8005A8EC 80 63 00 04 */ lwz r3, 4(r3)
/* 8005A8F0 88 03 00 02 */ lbz r0, 2(r3)
/* 8005A8F4 54 00 D7 BE */ rlwinm r0, r0, 0x1a, 0x1e, 0x1f
/* 8005A8F8 2C 00 00 03 */ cmpwi r0, 3
/* 8005A8FC 41 82 00 08 */ beq lbl_8005A904
/* 8005A900 7C 1A 03 78 */ mr r26, r0
lbl_8005A904:
/* 8005A904 2C 1A 00 01 */ cmpwi r26, 1
/* 8005A908 41 82 00 28 */ beq lbl_8005A930
/* 8005A90C 40 80 00 10 */ bge lbl_8005A91C
/* 8005A910 2C 1A 00 00 */ cmpwi r26, 0
/* 8005A914 40 80 00 14 */ bge lbl_8005A928
/* 8005A918 48 00 00 28 */ b lbl_8005A940
lbl_8005A91C:
/* 8005A91C 2C 1A 00 03 */ cmpwi r26, 3
/* 8005A920 40 80 00 20 */ bge lbl_8005A940
/* 8005A924 48 00 00 14 */ b lbl_8005A938
lbl_8005A928:
/* 8005A928 C3 E2 87 58 */ lfs f31, lit_5191(r2)
/* 8005A92C 48 00 00 18 */ b lbl_8005A944
lbl_8005A930:
/* 8005A930 C3 E2 87 90 */ lfs f31, lit_5527(r2)
/* 8005A934 48 00 00 10 */ b lbl_8005A944
lbl_8005A938:
/* 8005A938 C3 E2 87 94 */ lfs f31, lit_5528(r2)
/* 8005A93C 48 00 00 08 */ b lbl_8005A944
lbl_8005A940:
/* 8005A940 C3 E2 86 E0 */ lfs f31, lit_4378(r2)
lbl_8005A944:
/* 8005A944 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005A948 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005A94C 88 03 0E 6D */ lbz r0, 0xe6d(r3)
/* 8005A950 28 00 00 00 */ cmplwi r0, 0
/* 8005A954 41 82 00 08 */ beq lbl_8005A95C
/* 8005A958 C3 E3 0E 5C */ lfs f31, 0xe5c(r3)
lbl_8005A95C:
/* 8005A95C C0 02 86 E4 */ lfs f0, lit_4379(r2)
/* 8005A960 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 8005A964 40 81 00 08 */ ble lbl_8005A96C
/* 8005A968 FF E0 00 90 */ fmr f31, f0
lbl_8005A96C:
/* 8005A96C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8005A970 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8005A974 38 63 4E 00 */ addi r3, r3, 0x4e00
/* 8005A978 3C 80 80 38 */ lis r4, d_kankyo_d_kankyo_wether__stringBase0@ha /* 0x8037A368@ha */
/* 8005A97C 38 84 A3 68 */ addi r4, r4, d_kankyo_d_kankyo_wether__stringBase0@l /* 0x8037A368@l */
/* 8005A980 38 84 00 08 */ addi r4, r4, 8
/* 8005A984 48 30 E0 11 */ bl strcmp
/* 8005A988 2C 03 00 00 */ cmpwi r3, 0
/* 8005A98C 40 82 00 88 */ bne lbl_8005AA14
/* 8005A990 88 0D 87 E4 */ lbz r0, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 8005A994 7C 00 07 75 */ extsb. r0, r0
/* 8005A998 41 82 00 1C */ beq lbl_8005A9B4
/* 8005A99C 2C 00 00 03 */ cmpwi r0, 3
/* 8005A9A0 41 82 00 14 */ beq lbl_8005A9B4
/* 8005A9A4 2C 00 00 06 */ cmpwi r0, 6
/* 8005A9A8 41 82 00 0C */ beq lbl_8005A9B4
/* 8005A9AC 2C 00 00 0D */ cmpwi r0, 0xd
/* 8005A9B0 40 82 00 64 */ bne lbl_8005AA14
lbl_8005A9B4:
/* 8005A9B4 3C 60 80 43 */ lis r3, g_mEnvSeMgr@ha /* 0x8042DD70@ha */
/* 8005A9B8 38 63 DD 70 */ addi r3, r3, g_mEnvSeMgr@l /* 0x8042DD70@l */
/* 8005A9BC 38 81 00 18 */ addi r4, r1, 0x18
/* 8005A9C0 48 26 D6 09 */ bl setWindDirection__10Z2EnvSeMgrFP3Vec
/* 8005A9C4 C0 02 87 18 */ lfs f0, lit_4767(r2)
/* 8005A9C8 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 8005A9CC 4C 40 13 82 */ cror 2, 0, 2
/* 8005A9D0 40 82 00 18 */ bne lbl_8005A9E8
/* 8005A9D4 38 00 00 03 */ li r0, 3
/* 8005A9D8 3C 60 80 43 */ lis r3, g_mEnvSeMgr@ha /* 0x8042DD70@ha */
/* 8005A9DC 38 63 DD 70 */ addi r3, r3, g_mEnvSeMgr@l /* 0x8042DD70@l */
/* 8005A9E0 98 03 01 60 */ stb r0, 0x160(r3)
/* 8005A9E4 48 00 00 14 */ b lbl_8005A9F8
lbl_8005A9E8:
/* 8005A9E8 38 00 00 01 */ li r0, 1
/* 8005A9EC 3C 60 80 43 */ lis r3, g_mEnvSeMgr@ha /* 0x8042DD70@ha */
/* 8005A9F0 38 63 DD 70 */ addi r3, r3, g_mEnvSeMgr@l /* 0x8042DD70@l */
/* 8005A9F4 98 03 01 60 */ stb r0, 0x160(r3)
lbl_8005A9F8:
/* 8005A9F8 88 6D 87 E4 */ lbz r3, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 8005A9FC 7C 63 07 74 */ extsb r3, r3
/* 8005AA00 4B FD 26 6D */ bl dComIfGp_getReverb__Fi
/* 8005AA04 7C 64 1B 78 */ mr r4, r3
/* 8005AA08 3C 60 80 43 */ lis r3, g_mEnvSeMgr@ha /* 0x8042DD70@ha */
/* 8005AA0C 38 63 DD 70 */ addi r3, r3, g_mEnvSeMgr@l /* 0x8042DD70@l */
/* 8005AA10 48 26 D5 FD */ bl startStrongWindSe__10Z2EnvSeMgrFSc
lbl_8005AA14:
/* 8005AA14 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005AA18 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005AA1C 88 03 12 D2 */ lbz r0, 0x12d2(r3)
/* 8005AA20 28 00 00 00 */ cmplwi r0, 0
/* 8005AA24 41 82 00 24 */ beq lbl_8005AA48
/* 8005AA28 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 8005AA2C D0 03 0E 48 */ stfs f0, 0xe48(r3)
/* 8005AA30 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8005AA34 D0 03 0E 4C */ stfs f0, 0xe4c(r3)
/* 8005AA38 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 8005AA3C D0 03 0E 50 */ stfs f0, 0xe50(r3)
/* 8005AA40 D3 E3 0E 58 */ stfs f31, 0xe58(r3)
/* 8005AA44 48 00 00 7C */ b lbl_8005AAC0
lbl_8005AA48:
/* 8005AA48 38 63 0E 48 */ addi r3, r3, 0xe48
/* 8005AA4C C0 21 00 18 */ lfs f1, 0x18(r1)
/* 8005AA50 C0 42 87 68 */ lfs f2, lit_5362(r2)
/* 8005AA54 C0 62 87 98 */ lfs f3, lit_5529(r2)
/* 8005AA58 C0 82 87 9C */ lfs f4, lit_5530(r2)
/* 8005AA5C 48 21 4F 21 */ bl cLib_addCalc__FPfffff
/* 8005AA60 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005AA64 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005AA68 38 63 0E 4C */ addi r3, r3, 0xe4c
/* 8005AA6C C0 21 00 1C */ lfs f1, 0x1c(r1)
/* 8005AA70 C0 42 87 68 */ lfs f2, lit_5362(r2)
/* 8005AA74 C0 62 87 98 */ lfs f3, lit_5529(r2)
/* 8005AA78 C0 82 87 9C */ lfs f4, lit_5530(r2)
/* 8005AA7C 48 21 4F 01 */ bl cLib_addCalc__FPfffff
/* 8005AA80 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005AA84 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005AA88 38 63 0E 50 */ addi r3, r3, 0xe50
/* 8005AA8C C0 21 00 20 */ lfs f1, 0x20(r1)
/* 8005AA90 C0 42 87 68 */ lfs f2, lit_5362(r2)
/* 8005AA94 C0 62 87 98 */ lfs f3, lit_5529(r2)
/* 8005AA98 C0 82 87 9C */ lfs f4, lit_5530(r2)
/* 8005AA9C 48 21 4E E1 */ bl cLib_addCalc__FPfffff
/* 8005AAA0 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005AAA4 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005AAA8 38 63 0E 58 */ addi r3, r3, 0xe58
/* 8005AAAC FC 20 F8 90 */ fmr f1, f31
/* 8005AAB0 C0 42 87 68 */ lfs f2, lit_5362(r2)
/* 8005AAB4 C0 62 86 E4 */ lfs f3, lit_4379(r2)
/* 8005AAB8 C0 82 87 A0 */ lfs f4, lit_5531(r2)
/* 8005AABC 48 21 4E C1 */ bl cLib_addCalc__FPfffff
lbl_8005AAC0:
/* 8005AAC0 E3 E1 00 58 */ psq_l f31, 88(r1), 0, 0 /* qr0 */
/* 8005AAC4 CB E1 00 50 */ lfd f31, 0x50(r1)
/* 8005AAC8 39 61 00 50 */ addi r11, r1, 0x50
/* 8005AACC 48 30 77 4D */ bl _restgpr_25
/* 8005AAD0 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8005AAD4 7C 08 03 A6 */ mtlr r0
/* 8005AAD8 38 21 00 60 */ addi r1, r1, 0x60
/* 8005AADC 4E 80 00 20 */ blr
@@ -1,262 +0,0 @@
lbl_8005AE90:
/* 8005AE90 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8005AE94 7C 08 02 A6 */ mflr r0
/* 8005AE98 90 01 00 44 */ stw r0, 0x44(r1)
/* 8005AE9C 39 61 00 40 */ addi r11, r1, 0x40
/* 8005AEA0 48 30 73 29 */ bl _savegpr_24
/* 8005AEA4 7C 79 1B 78 */ mr r25, r3
/* 8005AEA8 7C 9A 23 78 */ mr r26, r4
/* 8005AEAC 7C BB 2B 78 */ mr r27, r5
/* 8005AEB0 7C DC 33 78 */ mr r28, r6
/* 8005AEB4 C0 02 86 E0 */ lfs f0, lit_4378(r2)
/* 8005AEB8 D0 04 00 00 */ stfs f0, 0(r4)
/* 8005AEBC D0 04 00 04 */ stfs f0, 4(r4)
/* 8005AEC0 D0 04 00 08 */ stfs f0, 8(r4)
/* 8005AEC4 D0 05 00 00 */ stfs f0, 0(r5)
/* 8005AEC8 3B A0 00 00 */ li r29, 0
/* 8005AECC 3B 00 00 00 */ li r24, 0
/* 8005AED0 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005AED4 3B E3 CA 54 */ addi r31, r3, g_env_light@l /* 0x8042CA54@l */
lbl_8005AED8:
/* 8005AED8 7C 7F C2 14 */ add r3, r31, r24
/* 8005AEDC 83 C3 07 D0 */ lwz r30, 0x7d0(r3)
/* 8005AEE0 28 1E 00 00 */ cmplwi r30, 0
/* 8005AEE4 41 82 03 30 */ beq lbl_8005B214
/* 8005AEE8 88 7E 00 29 */ lbz r3, 0x29(r30)
/* 8005AEEC 57 80 06 3E */ clrlwi r0, r28, 0x18
/* 8005AEF0 7C 03 00 40 */ cmplw r3, r0
/* 8005AEF4 40 82 03 20 */ bne lbl_8005B214
/* 8005AEF8 7F 23 CB 78 */ mr r3, r25
/* 8005AEFC 7F C4 F3 78 */ mr r4, r30
/* 8005AF00 48 2E C4 9D */ bl PSVECSquareDistance
/* 8005AF04 C0 02 86 E0 */ lfs f0, lit_4378(r2)
/* 8005AF08 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8005AF0C 40 81 00 58 */ ble lbl_8005AF64
/* 8005AF10 FC 00 08 34 */ frsqrte f0, f1
/* 8005AF14 C8 82 87 78 */ lfd f4, lit_5524(r2)
/* 8005AF18 FC 44 00 32 */ fmul f2, f4, f0
/* 8005AF1C C8 62 87 80 */ lfd f3, lit_5525(r2)
/* 8005AF20 FC 00 00 32 */ fmul f0, f0, f0
/* 8005AF24 FC 01 00 32 */ fmul f0, f1, f0
/* 8005AF28 FC 03 00 28 */ fsub f0, f3, f0
/* 8005AF2C FC 02 00 32 */ fmul f0, f2, f0
/* 8005AF30 FC 44 00 32 */ fmul f2, f4, f0
/* 8005AF34 FC 00 00 32 */ fmul f0, f0, f0
/* 8005AF38 FC 01 00 32 */ fmul f0, f1, f0
/* 8005AF3C FC 03 00 28 */ fsub f0, f3, f0
/* 8005AF40 FC 02 00 32 */ fmul f0, f2, f0
/* 8005AF44 FC 44 00 32 */ fmul f2, f4, f0
/* 8005AF48 FC 00 00 32 */ fmul f0, f0, f0
/* 8005AF4C FC 01 00 32 */ fmul f0, f1, f0
/* 8005AF50 FC 03 00 28 */ fsub f0, f3, f0
/* 8005AF54 FC 02 00 32 */ fmul f0, f2, f0
/* 8005AF58 FC 21 00 32 */ fmul f1, f1, f0
/* 8005AF5C FC 20 08 18 */ frsp f1, f1
/* 8005AF60 48 00 00 88 */ b lbl_8005AFE8
lbl_8005AF64:
/* 8005AF64 C8 02 87 88 */ lfd f0, lit_5526(r2)
/* 8005AF68 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8005AF6C 40 80 00 10 */ bge lbl_8005AF7C
/* 8005AF70 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 8005AF74 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
/* 8005AF78 48 00 00 70 */ b lbl_8005AFE8
lbl_8005AF7C:
/* 8005AF7C D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8005AF80 80 81 00 0C */ lwz r4, 0xc(r1)
/* 8005AF84 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 8005AF88 3C 00 7F 80 */ lis r0, 0x7f80
/* 8005AF8C 7C 03 00 00 */ cmpw r3, r0
/* 8005AF90 41 82 00 14 */ beq lbl_8005AFA4
/* 8005AF94 40 80 00 40 */ bge lbl_8005AFD4
/* 8005AF98 2C 03 00 00 */ cmpwi r3, 0
/* 8005AF9C 41 82 00 20 */ beq lbl_8005AFBC
/* 8005AFA0 48 00 00 34 */ b lbl_8005AFD4
lbl_8005AFA4:
/* 8005AFA4 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8005AFA8 41 82 00 0C */ beq lbl_8005AFB4
/* 8005AFAC 38 00 00 01 */ li r0, 1
/* 8005AFB0 48 00 00 28 */ b lbl_8005AFD8
lbl_8005AFB4:
/* 8005AFB4 38 00 00 02 */ li r0, 2
/* 8005AFB8 48 00 00 20 */ b lbl_8005AFD8
lbl_8005AFBC:
/* 8005AFBC 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8005AFC0 41 82 00 0C */ beq lbl_8005AFCC
/* 8005AFC4 38 00 00 05 */ li r0, 5
/* 8005AFC8 48 00 00 10 */ b lbl_8005AFD8
lbl_8005AFCC:
/* 8005AFCC 38 00 00 03 */ li r0, 3
/* 8005AFD0 48 00 00 08 */ b lbl_8005AFD8
lbl_8005AFD4:
/* 8005AFD4 38 00 00 04 */ li r0, 4
lbl_8005AFD8:
/* 8005AFD8 2C 00 00 01 */ cmpwi r0, 1
/* 8005AFDC 40 82 00 0C */ bne lbl_8005AFE8
/* 8005AFE0 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 8005AFE4 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
lbl_8005AFE8:
/* 8005AFE8 88 1E 00 28 */ lbz r0, 0x28(r30)
/* 8005AFEC 28 00 00 00 */ cmplwi r0, 0
/* 8005AFF0 40 82 01 BC */ bne lbl_8005B1AC
/* 8005AFF4 C0 5E 00 18 */ lfs f2, 0x18(r30)
/* 8005AFF8 FC 01 10 40 */ fcmpo cr0, f1, f2
/* 8005AFFC 40 80 02 18 */ bge lbl_8005B214
/* 8005B000 C0 7E 00 1C */ lfs f3, 0x1c(r30)
/* 8005B004 C0 02 86 E0 */ lfs f0, lit_4378(r2)
/* 8005B008 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 8005B00C 40 81 02 08 */ ble lbl_8005B214
/* 8005B010 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 8005B014 41 82 02 00 */ beq lbl_8005B214
/* 8005B018 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8005B01C 40 81 00 18 */ ble lbl_8005B034
/* 8005B020 EC 01 10 24 */ fdivs f0, f1, f2
/* 8005B024 C0 22 86 E4 */ lfs f1, lit_4379(r2)
/* 8005B028 EC 00 00 32 */ fmuls f0, f0, f0
/* 8005B02C EC 01 00 28 */ fsubs f0, f1, f0
/* 8005B030 48 00 00 08 */ b lbl_8005B038
lbl_8005B034:
/* 8005B034 C0 02 86 E4 */ lfs f0, lit_4379(r2)
lbl_8005B038:
/* 8005B038 EC 03 00 32 */ fmuls f0, f3, f0
/* 8005B03C D0 1B 00 00 */ stfs f0, 0(r27)
/* 8005B040 C0 3E 00 00 */ lfs f1, 0(r30)
/* 8005B044 C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 8005B048 FC 00 00 50 */ fneg f0, f0
/* 8005B04C C0 5E 00 18 */ lfs f2, 0x18(r30)
/* 8005B050 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8005B054 EC 01 00 2A */ fadds f0, f1, f0
/* 8005B058 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8005B05C C0 3E 00 04 */ lfs f1, 4(r30)
/* 8005B060 C0 1E 00 10 */ lfs f0, 0x10(r30)
/* 8005B064 FC 00 00 50 */ fneg f0, f0
/* 8005B068 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8005B06C EC 01 00 2A */ fadds f0, f1, f0
/* 8005B070 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8005B074 C0 3E 00 08 */ lfs f1, 8(r30)
/* 8005B078 C0 1E 00 14 */ lfs f0, 0x14(r30)
/* 8005B07C FC 00 00 50 */ fneg f0, f0
/* 8005B080 EC 00 00 B2 */ fmuls f0, f0, f2
/* 8005B084 EC 01 00 2A */ fadds f0, f1, f0
/* 8005B088 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 8005B08C 38 61 00 10 */ addi r3, r1, 0x10
/* 8005B090 7F 24 CB 78 */ mr r4, r25
/* 8005B094 7F 45 D3 78 */ mr r5, r26
/* 8005B098 48 00 06 C9 */ bl dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz
/* 8005B09C 7F 23 CB 78 */ mr r3, r25
/* 8005B0A0 38 81 00 10 */ addi r4, r1, 0x10
/* 8005B0A4 48 2E C2 F9 */ bl PSVECSquareDistance
/* 8005B0A8 C0 02 86 E0 */ lfs f0, lit_4378(r2)
/* 8005B0AC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8005B0B0 40 81 00 58 */ ble lbl_8005B108
/* 8005B0B4 FC 00 08 34 */ frsqrte f0, f1
/* 8005B0B8 C8 82 87 78 */ lfd f4, lit_5524(r2)
/* 8005B0BC FC 44 00 32 */ fmul f2, f4, f0
/* 8005B0C0 C8 62 87 80 */ lfd f3, lit_5525(r2)
/* 8005B0C4 FC 00 00 32 */ fmul f0, f0, f0
/* 8005B0C8 FC 01 00 32 */ fmul f0, f1, f0
/* 8005B0CC FC 03 00 28 */ fsub f0, f3, f0
/* 8005B0D0 FC 02 00 32 */ fmul f0, f2, f0
/* 8005B0D4 FC 44 00 32 */ fmul f2, f4, f0
/* 8005B0D8 FC 00 00 32 */ fmul f0, f0, f0
/* 8005B0DC FC 01 00 32 */ fmul f0, f1, f0
/* 8005B0E0 FC 03 00 28 */ fsub f0, f3, f0
/* 8005B0E4 FC 02 00 32 */ fmul f0, f2, f0
/* 8005B0E8 FC 44 00 32 */ fmul f2, f4, f0
/* 8005B0EC FC 00 00 32 */ fmul f0, f0, f0
/* 8005B0F0 FC 01 00 32 */ fmul f0, f1, f0
/* 8005B0F4 FC 03 00 28 */ fsub f0, f3, f0
/* 8005B0F8 FC 02 00 32 */ fmul f0, f2, f0
/* 8005B0FC FC 21 00 32 */ fmul f1, f1, f0
/* 8005B100 FC 20 08 18 */ frsp f1, f1
/* 8005B104 48 00 00 88 */ b lbl_8005B18C
lbl_8005B108:
/* 8005B108 C8 02 87 88 */ lfd f0, lit_5526(r2)
/* 8005B10C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8005B110 40 80 00 10 */ bge lbl_8005B120
/* 8005B114 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 8005B118 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
/* 8005B11C 48 00 00 70 */ b lbl_8005B18C
lbl_8005B120:
/* 8005B120 D0 21 00 08 */ stfs f1, 8(r1)
/* 8005B124 80 81 00 08 */ lwz r4, 8(r1)
/* 8005B128 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 8005B12C 3C 00 7F 80 */ lis r0, 0x7f80
/* 8005B130 7C 03 00 00 */ cmpw r3, r0
/* 8005B134 41 82 00 14 */ beq lbl_8005B148
/* 8005B138 40 80 00 40 */ bge lbl_8005B178
/* 8005B13C 2C 03 00 00 */ cmpwi r3, 0
/* 8005B140 41 82 00 20 */ beq lbl_8005B160
/* 8005B144 48 00 00 34 */ b lbl_8005B178
lbl_8005B148:
/* 8005B148 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8005B14C 41 82 00 0C */ beq lbl_8005B158
/* 8005B150 38 00 00 01 */ li r0, 1
/* 8005B154 48 00 00 28 */ b lbl_8005B17C
lbl_8005B158:
/* 8005B158 38 00 00 02 */ li r0, 2
/* 8005B15C 48 00 00 20 */ b lbl_8005B17C
lbl_8005B160:
/* 8005B160 54 80 02 7F */ clrlwi. r0, r4, 9
/* 8005B164 41 82 00 0C */ beq lbl_8005B170
/* 8005B168 38 00 00 05 */ li r0, 5
/* 8005B16C 48 00 00 10 */ b lbl_8005B17C
lbl_8005B170:
/* 8005B170 38 00 00 03 */ li r0, 3
/* 8005B174 48 00 00 08 */ b lbl_8005B17C
lbl_8005B178:
/* 8005B178 38 00 00 04 */ li r0, 4
lbl_8005B17C:
/* 8005B17C 2C 00 00 01 */ cmpwi r0, 1
/* 8005B180 40 82 00 0C */ bne lbl_8005B18C
/* 8005B184 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 8005B188 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
lbl_8005B18C:
/* 8005B18C C0 1E 00 18 */ lfs f0, 0x18(r30)
/* 8005B190 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8005B194 40 80 00 90 */ bge lbl_8005B224
/* 8005B198 C0 02 86 E0 */ lfs f0, lit_4378(r2)
/* 8005B19C D0 1A 00 00 */ stfs f0, 0(r26)
/* 8005B1A0 D0 1A 00 04 */ stfs f0, 4(r26)
/* 8005B1A4 D0 1A 00 08 */ stfs f0, 8(r26)
/* 8005B1A8 48 00 00 7C */ b lbl_8005B224
lbl_8005B1AC:
/* 8005B1AC C0 7E 00 18 */ lfs f3, 0x18(r30)
/* 8005B1B0 FC 01 18 40 */ fcmpo cr0, f1, f3
/* 8005B1B4 40 80 00 60 */ bge lbl_8005B214
/* 8005B1B8 C0 5E 00 1C */ lfs f2, 0x1c(r30)
/* 8005B1BC C0 02 86 E0 */ lfs f0, lit_4378(r2)
/* 8005B1C0 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8005B1C4 40 81 00 50 */ ble lbl_8005B214
/* 8005B1C8 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 8005B1CC 41 82 00 48 */ beq lbl_8005B214
/* 8005B1D0 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 8005B1D4 40 81 00 14 */ ble lbl_8005B1E8
/* 8005B1D8 C0 42 86 E4 */ lfs f2, lit_4379(r2)
/* 8005B1DC EC 01 18 24 */ fdivs f0, f1, f3
/* 8005B1E0 EC 22 00 28 */ fsubs f1, f2, f0
/* 8005B1E4 48 00 00 08 */ b lbl_8005B1EC
lbl_8005B1E8:
/* 8005B1E8 C0 22 86 E4 */ lfs f1, lit_4379(r2)
lbl_8005B1EC:
/* 8005B1EC C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 8005B1F0 D0 1A 00 00 */ stfs f0, 0(r26)
/* 8005B1F4 C0 1E 00 10 */ lfs f0, 0x10(r30)
/* 8005B1F8 D0 1A 00 04 */ stfs f0, 4(r26)
/* 8005B1FC C0 1E 00 14 */ lfs f0, 0x14(r30)
/* 8005B200 D0 1A 00 08 */ stfs f0, 8(r26)
/* 8005B204 C0 1E 00 1C */ lfs f0, 0x1c(r30)
/* 8005B208 EC 00 00 72 */ fmuls f0, f0, f1
/* 8005B20C D0 1B 00 00 */ stfs f0, 0(r27)
/* 8005B210 48 00 00 14 */ b lbl_8005B224
lbl_8005B214:
/* 8005B214 3B BD 00 01 */ addi r29, r29, 1
/* 8005B218 2C 1D 00 1E */ cmpwi r29, 0x1e
/* 8005B21C 3B 18 00 04 */ addi r24, r24, 4
/* 8005B220 41 80 FC B8 */ blt lbl_8005AED8
lbl_8005B224:
/* 8005B224 39 61 00 40 */ addi r11, r1, 0x40
/* 8005B228 48 30 6F ED */ bl _restgpr_24
/* 8005B22C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8005B230 7C 08 03 A6 */ mtlr r0
/* 8005B234 38 21 00 40 */ addi r1, r1, 0x40
/* 8005B238 4E 80 00 20 */ blr
@@ -1,73 +0,0 @@
lbl_8005AC30:
/* 8005AC30 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8005AC34 7C 08 02 A6 */ mflr r0
/* 8005AC38 90 01 00 24 */ stw r0, 0x24(r1)
/* 8005AC3C 39 61 00 20 */ addi r11, r1, 0x20
/* 8005AC40 48 30 75 91 */ bl _savegpr_26
/* 8005AC44 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005AC48 3B C3 CA 54 */ addi r30, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005AC4C 3B 40 00 00 */ li r26, 0
/* 8005AC50 3B E0 00 00 */ li r31, 0
lbl_8005AC54:
/* 8005AC54 7F BE FA 14 */ add r29, r30, r31
/* 8005AC58 3B 7D 08 58 */ addi r27, r29, 0x858
/* 8005AC5C 3B 9D 08 48 */ addi r28, r29, 0x848
/* 8005AC60 88 1D 08 48 */ lbz r0, 0x848(r29)
/* 8005AC64 2C 00 00 01 */ cmpwi r0, 1
/* 8005AC68 41 82 00 0C */ beq lbl_8005AC74
/* 8005AC6C 40 80 00 B0 */ bge lbl_8005AD1C
/* 8005AC70 48 00 00 AC */ b lbl_8005AD1C
lbl_8005AC74:
/* 8005AC74 C0 5B 00 00 */ lfs f2, 0(r27)
/* 8005AC78 C0 3B 00 0C */ lfs f1, 0xc(r27)
/* 8005AC7C C0 1D 08 50 */ lfs f0, 0x850(r29)
/* 8005AC80 EC 01 00 32 */ fmuls f0, f1, f0
/* 8005AC84 EC 02 00 2A */ fadds f0, f2, f0
/* 8005AC88 D0 1B 00 00 */ stfs f0, 0(r27)
/* 8005AC8C C0 5B 00 04 */ lfs f2, 4(r27)
/* 8005AC90 C0 3B 00 10 */ lfs f1, 0x10(r27)
/* 8005AC94 C0 1D 08 50 */ lfs f0, 0x850(r29)
/* 8005AC98 EC 01 00 32 */ fmuls f0, f1, f0
/* 8005AC9C EC 02 00 2A */ fadds f0, f2, f0
/* 8005ACA0 D0 1B 00 04 */ stfs f0, 4(r27)
/* 8005ACA4 C0 5B 00 08 */ lfs f2, 8(r27)
/* 8005ACA8 C0 3B 00 14 */ lfs f1, 0x14(r27)
/* 8005ACAC C0 1D 08 50 */ lfs f0, 0x850(r29)
/* 8005ACB0 EC 01 00 32 */ fmuls f0, f1, f0
/* 8005ACB4 EC 02 00 2A */ fadds f0, f2, f0
/* 8005ACB8 D0 1B 00 08 */ stfs f0, 8(r27)
/* 8005ACBC 38 7B 00 1C */ addi r3, r27, 0x1c
/* 8005ACC0 C0 22 86 E0 */ lfs f1, lit_4378(r2)
/* 8005ACC4 C0 42 87 A4 */ lfs f2, lit_5630(r2)
/* 8005ACC8 C0 7D 08 54 */ lfs f3, 0x854(r29)
/* 8005ACCC C0 82 87 9C */ lfs f4, lit_5530(r2)
/* 8005ACD0 48 21 4C AD */ bl cLib_addCalc__FPfffff
/* 8005ACD4 C0 22 86 E4 */ lfs f1, lit_4379(r2)
/* 8005ACD8 C0 1B 00 1C */ lfs f0, 0x1c(r27)
/* 8005ACDC EC 41 00 28 */ fsubs f2, f1, f0
/* 8005ACE0 C0 3D 08 4C */ lfs f1, 0x84c(r29)
/* 8005ACE4 38 7B 00 18 */ addi r3, r27, 0x18
/* 8005ACE8 C0 62 87 68 */ lfs f3, lit_5362(r2)
/* 8005ACEC EC 02 00 72 */ fmuls f0, f2, f1
/* 8005ACF0 EC 63 00 32 */ fmuls f3, f3, f0
/* 8005ACF4 C0 82 87 20 */ lfs f4, lit_4769(r2)
/* 8005ACF8 48 21 4C 85 */ bl cLib_addCalc__FPfffff
/* 8005ACFC C0 3B 00 1C */ lfs f1, 0x1c(r27)
/* 8005AD00 C0 02 87 20 */ lfs f0, lit_4769(r2)
/* 8005AD04 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8005AD08 40 80 00 14 */ bge lbl_8005AD1C
/* 8005AD0C 7F 63 DB 78 */ mr r3, r27
/* 8005AD10 48 00 01 49 */ bl dKyw_pntwind_cut__FP14WIND_INFLUENCE
/* 8005AD14 38 00 00 00 */ li r0, 0
/* 8005AD18 98 1C 00 00 */ stb r0, 0(r28)
lbl_8005AD1C:
/* 8005AD1C 3B 5A 00 01 */ addi r26, r26, 1
/* 8005AD20 2C 1A 00 05 */ cmpwi r26, 5
/* 8005AD24 3B FF 00 3C */ addi r31, r31, 0x3c
/* 8005AD28 41 80 FF 2C */ blt lbl_8005AC54
/* 8005AD2C 39 61 00 20 */ addi r11, r1, 0x20
/* 8005AD30 48 30 74 ED */ bl _restgpr_26
/* 8005AD34 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8005AD38 7C 08 03 A6 */ mtlr r0
/* 8005AD3C 38 21 00 20 */ addi r1, r1, 0x20
/* 8005AD40 4E 80 00 20 */ blr
@@ -1,164 +0,0 @@
lbl_80058894:
/* 80058894 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80058898 7C 08 02 A6 */ mflr r0
/* 8005889C 90 01 00 24 */ stw r0, 0x24(r1)
/* 800588A0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800588A4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800588A8 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 800588AC 3B E3 CA 54 */ addi r31, r3, g_env_light@l /* 0x8042CA54@l */
/* 800588B0 88 1F 0E 7C */ lbz r0, 0xe7c(r31)
/* 800588B4 2C 00 00 01 */ cmpwi r0, 1
/* 800588B8 41 82 00 EC */ beq lbl_800589A4
/* 800588BC 40 80 02 2C */ bge lbl_80058AE8
/* 800588C0 2C 00 00 00 */ cmpwi r0, 0
/* 800588C4 40 80 00 08 */ bge lbl_800588CC
/* 800588C8 48 00 02 20 */ b lbl_80058AE8
lbl_800588CC:
/* 800588CC 80 1F 0E 80 */ lwz r0, 0xe80(r31)
/* 800588D0 2C 00 00 03 */ cmpwi r0, 3
/* 800588D4 40 81 02 14 */ ble lbl_80058AE8
/* 800588D8 38 60 37 18 */ li r3, 0x3718
/* 800588DC 38 80 00 20 */ li r4, 0x20
/* 800588E0 48 27 63 95 */ bl __nw__FUli
/* 800588E4 7C 7E 1B 79 */ or. r30, r3, r3
/* 800588E8 41 82 00 50 */ beq lbl_80058938
/* 800588EC 7F C4 F3 78 */ mr r4, r30
/* 800588F0 3C 60 80 3D */ lis r3, __vt__9J3DPacket@ha /* 0x803CD97C@ha */
/* 800588F4 38 03 D9 7C */ addi r0, r3, __vt__9J3DPacket@l /* 0x803CD97C@l */
/* 800588F8 90 1E 00 00 */ stw r0, 0(r30)
/* 800588FC 38 00 00 00 */ li r0, 0
/* 80058900 90 1E 00 04 */ stw r0, 4(r30)
/* 80058904 90 1E 00 08 */ stw r0, 8(r30)
/* 80058908 90 1E 00 0C */ stw r0, 0xc(r30)
/* 8005890C 3C 60 80 3B */ lis r3, __vt__19dKankyo_rain_Packet@ha /* 0x803A9B60@ha */
/* 80058910 38 03 9B 60 */ addi r0, r3, __vt__19dKankyo_rain_Packet@l /* 0x803A9B60@l */
/* 80058914 90 1E 00 00 */ stw r0, 0(r30)
/* 80058918 38 64 00 18 */ addi r3, r4, 0x18
/* 8005891C 3C 80 80 05 */ lis r4, __ct__8RAIN_EFFFv@ha /* 0x80056D0C@ha */
/* 80058920 38 84 6D 0C */ addi r4, r4, __ct__8RAIN_EFFFv@l /* 0x80056D0C@l */
/* 80058924 3C A0 80 05 */ lis r5, __dt__8RAIN_EFFFv@ha /* 0x80056CD0@ha */
/* 80058928 38 A5 6C D0 */ addi r5, r5, __dt__8RAIN_EFFFv@l /* 0x80056CD0@l */
/* 8005892C 38 C0 00 38 */ li r6, 0x38
/* 80058930 38 E0 00 FA */ li r7, 0xfa
/* 80058934 48 30 94 2D */ bl __construct_array
lbl_80058938:
/* 80058938 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005893C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80058940 93 C3 0E 84 */ stw r30, 0xe84(r3)
/* 80058944 28 1E 00 00 */ cmplwi r30, 0
/* 80058948 41 82 01 A0 */ beq lbl_80058AE8
/* 8005894C 48 00 43 11 */ bl dKyr_rain_init__Fv
/* 80058950 48 00 48 3D */ bl dKyr_rain_move__Fv
/* 80058954 38 00 00 01 */ li r0, 1
/* 80058958 98 1F 0E 7C */ stb r0, 0xe7c(r31)
/* 8005895C 80 1F 0E 80 */ lwz r0, 0xe80(r31)
/* 80058960 2C 00 00 FA */ cmpwi r0, 0xfa
/* 80058964 41 82 01 84 */ beq lbl_80058AE8
/* 80058968 3C 60 00 09 */ lis r3, 0x0009 /* 0x0009000C@ha */
/* 8005896C 38 03 00 0C */ addi r0, r3, 0x000C /* 0x0009000C@l */
/* 80058970 90 01 00 0C */ stw r0, 0xc(r1)
/* 80058974 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13)
/* 80058978 38 81 00 0C */ addi r4, r1, 0xc
/* 8005897C 38 A0 00 00 */ li r5, 0
/* 80058980 38 C0 00 00 */ li r6, 0
/* 80058984 38 E0 00 00 */ li r7, 0
/* 80058988 C0 22 86 E4 */ lfs f1, lit_4379(r2)
/* 8005898C FC 40 08 90 */ fmr f2, f1
/* 80058990 C0 62 86 F0 */ lfs f3, lit_4668(r2)
/* 80058994 FC 80 18 90 */ fmr f4, f3
/* 80058998 39 00 00 00 */ li r8, 0
/* 8005899C 48 25 2F E9 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
/* 800589A0 48 00 01 48 */ b lbl_80058AE8
lbl_800589A4:
/* 800589A4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 800589A8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 800589AC 83 C3 5D 74 */ lwz r30, 0x5d74(r3)
/* 800589B0 48 00 47 DD */ bl dKyr_rain_move__Fv
/* 800589B4 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 800589B8 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 800589BC 80 03 0E 8C */ lwz r0, 0xe8c(r3)
/* 800589C0 2C 00 00 00 */ cmpwi r0, 0
/* 800589C4 40 82 00 A0 */ bne lbl_80058A64
/* 800589C8 28 1E 00 00 */ cmplwi r30, 0
/* 800589CC 41 82 00 98 */ beq lbl_80058A64
/* 800589D0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 800589D4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 800589D8 38 63 4E 00 */ addi r3, r3, 0x4e00
/* 800589DC 3C 80 80 38 */ lis r4, d_kankyo_d_kankyo_wether__stringBase0@ha /* 0x8037A368@ha */
/* 800589E0 38 84 A3 68 */ addi r4, r4, d_kankyo_d_kankyo_wether__stringBase0@l /* 0x8037A368@l */
/* 800589E4 38 84 00 89 */ addi r4, r4, 0x89
/* 800589E8 48 30 FF AD */ bl strcmp
/* 800589EC 2C 03 00 00 */ cmpwi r3, 0
/* 800589F0 40 82 00 14 */ bne lbl_80058A04
/* 800589F4 C0 3E 00 DC */ lfs f1, 0xdc(r30)
/* 800589F8 C0 02 86 E0 */ lfs f0, lit_4378(r2)
/* 800589FC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80058A00 40 81 00 64 */ ble lbl_80058A64
lbl_80058A04:
/* 80058A04 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80058A08 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80058A0C 80 03 0E 80 */ lwz r0, 0xe80(r3)
/* 80058A10 C8 22 86 F8 */ lfd f1, lit_4671(r2)
/* 80058A14 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80058A18 90 01 00 14 */ stw r0, 0x14(r1)
/* 80058A1C 3C 00 43 30 */ lis r0, 0x4330
/* 80058A20 90 01 00 10 */ stw r0, 0x10(r1)
/* 80058A24 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 80058A28 EC 20 08 28 */ fsubs f1, f0, f1
/* 80058A2C C0 02 86 F4 */ lfs f0, lit_4669(r2)
/* 80058A30 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80058A34 40 80 00 1C */ bge lbl_80058A50
/* 80058A38 3C 60 80 43 */ lis r3, g_mEnvSeMgr@ha /* 0x8042DD70@ha */
/* 80058A3C 38 63 DD 70 */ addi r3, r3, g_mEnvSeMgr@l /* 0x8042DD70@l */
/* 80058A40 38 80 00 00 */ li r4, 0
/* 80058A44 38 A0 00 00 */ li r5, 0
/* 80058A48 48 26 ED E9 */ bl startRainSe__10Z2EnvSeMgrFlSc
/* 80058A4C 48 00 00 18 */ b lbl_80058A64
lbl_80058A50:
/* 80058A50 3C 60 80 43 */ lis r3, g_mEnvSeMgr@ha /* 0x8042DD70@ha */
/* 80058A54 38 63 DD 70 */ addi r3, r3, g_mEnvSeMgr@l /* 0x8042DD70@l */
/* 80058A58 38 80 00 01 */ li r4, 1
/* 80058A5C 38 A0 00 00 */ li r5, 0
/* 80058A60 48 26 ED D1 */ bl startRainSe__10Z2EnvSeMgrFlSc
lbl_80058A64:
/* 80058A64 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80058A68 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80058A6C 80 03 0E 80 */ lwz r0, 0xe80(r3)
/* 80058A70 2C 00 00 03 */ cmpwi r0, 3
/* 80058A74 41 81 00 74 */ bgt lbl_80058AE8
/* 80058A78 38 00 00 00 */ li r0, 0
/* 80058A7C 98 1F 0E 7C */ stb r0, 0xe7c(r31)
/* 80058A80 3C 60 00 09 */ lis r3, 0x0009 /* 0x0009000D@ha */
/* 80058A84 38 03 00 0D */ addi r0, r3, 0x000D /* 0x0009000D@l */
/* 80058A88 90 01 00 08 */ stw r0, 8(r1)
/* 80058A8C 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13)
/* 80058A90 38 81 00 08 */ addi r4, r1, 8
/* 80058A94 38 A0 00 00 */ li r5, 0
/* 80058A98 38 C0 00 00 */ li r6, 0
/* 80058A9C 38 E0 00 00 */ li r7, 0
/* 80058AA0 C0 22 86 E4 */ lfs f1, lit_4379(r2)
/* 80058AA4 FC 40 08 90 */ fmr f2, f1
/* 80058AA8 C0 62 86 F0 */ lfs f3, lit_4668(r2)
/* 80058AAC FC 80 18 90 */ fmr f4, f3
/* 80058AB0 39 00 00 00 */ li r8, 0
/* 80058AB4 48 25 2E D1 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
/* 80058AB8 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80058ABC 3B E3 CA 54 */ addi r31, r3, g_env_light@l /* 0x8042CA54@l */
/* 80058AC0 80 7F 0E 84 */ lwz r3, 0xe84(r31)
/* 80058AC4 28 03 00 00 */ cmplwi r3, 0
/* 80058AC8 41 82 00 18 */ beq lbl_80058AE0
/* 80058ACC 38 80 00 01 */ li r4, 1
/* 80058AD0 81 83 00 00 */ lwz r12, 0(r3)
/* 80058AD4 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 80058AD8 7D 89 03 A6 */ mtctr r12
/* 80058ADC 4E 80 04 21 */ bctrl
lbl_80058AE0:
/* 80058AE0 38 00 00 00 */ li r0, 0
/* 80058AE4 90 1F 0E 84 */ stw r0, 0xe84(r31)
lbl_80058AE8:
/* 80058AE8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80058AEC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80058AF0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80058AF4 7C 08 03 A6 */ mtlr r0
/* 80058AF8 38 21 00 20 */ addi r1, r1, 0x20
/* 80058AFC 4E 80 00 20 */ blr
@@ -1,487 +0,0 @@
lbl_80059728:
/* 80059728 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 8005972C 7C 08 02 A6 */ mflr r0
/* 80059730 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 80059734 DB E1 00 90 */ stfd f31, 0x90(r1)
/* 80059738 F3 E1 00 98 */ psq_st f31, 152(r1), 0, 0 /* qr0 */
/* 8005973C DB C1 00 80 */ stfd f30, 0x80(r1)
/* 80059740 F3 C1 00 88 */ psq_st f30, 136(r1), 0, 0 /* qr0 */
/* 80059744 DB A1 00 70 */ stfd f29, 0x70(r1)
/* 80059748 F3 A1 00 78 */ psq_st f29, 120(r1), 0, 0 /* qr0 */
/* 8005974C DB 81 00 60 */ stfd f28, 0x60(r1)
/* 80059750 F3 81 00 68 */ psq_st f28, 104(r1), 0, 0 /* qr0 */
/* 80059754 DB 61 00 50 */ stfd f27, 0x50(r1)
/* 80059758 F3 61 00 58 */ psq_st f27, 88(r1), 0, 0 /* qr0 */
/* 8005975C 39 61 00 50 */ addi r11, r1, 0x50
/* 80059760 48 30 8A 79 */ bl _savegpr_28
/* 80059764 3B E0 00 00 */ li r31, 0
/* 80059768 88 0D 89 60 */ lbz r0, data_80450EE0(r13)
/* 8005976C 7C 00 07 75 */ extsb. r0, r0
/* 80059770 40 82 00 3C */ bne lbl_800597AC
/* 80059774 C0 02 87 30 */ lfs f0, lit_5181(r2)
/* 80059778 3C 60 80 42 */ lis r3, r09o@ha /* 0x80424944@ha */
/* 8005977C D4 03 49 44 */ stfsu f0, r09o@l(r3) /* 0x80424944@l */
/* 80059780 C0 02 87 34 */ lfs f0, lit_5182(r2)
/* 80059784 D0 03 00 04 */ stfs f0, 4(r3)
/* 80059788 C0 02 87 38 */ lfs f0, lit_5183(r2)
/* 8005978C D0 03 00 08 */ stfs f0, 8(r3)
/* 80059790 3C 80 80 01 */ lis r4, __dt__4cXyzFv@ha /* 0x80009184@ha */
/* 80059794 38 84 91 84 */ addi r4, r4, __dt__4cXyzFv@l /* 0x80009184@l */
/* 80059798 3C A0 80 42 */ lis r5, lit_4965@ha /* 0x80424938@ha */
/* 8005979C 38 A5 49 38 */ addi r5, r5, lit_4965@l /* 0x80424938@l */
/* 800597A0 48 30 84 85 */ bl __register_global_object
/* 800597A4 38 00 00 01 */ li r0, 1
/* 800597A8 98 0D 89 60 */ stb r0, data_80450EE0(r13)
lbl_800597AC:
/* 800597AC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 800597B0 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 800597B4 A0 1D 5D 46 */ lhz r0, 0x5d46(r29)
/* 800597B8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 800597BC 41 82 02 38 */ beq lbl_800599F4
/* 800597C0 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 800597C4 3B C3 CA 54 */ addi r30, r3, g_env_light@l /* 0x8042CA54@l */
/* 800597C8 88 1E 12 D4 */ lbz r0, 0x12d4(r30)
/* 800597CC 28 00 00 00 */ cmplwi r0, 0
/* 800597D0 40 82 02 24 */ bne lbl_800599F4
/* 800597D4 38 00 00 06 */ li r0, 6
/* 800597D8 90 1E 0E C8 */ stw r0, 0xec8(r30)
/* 800597DC 3B 9D 4E 00 */ addi r28, r29, 0x4e00
/* 800597E0 7F 83 E3 78 */ mr r3, r28
/* 800597E4 3C 80 80 38 */ lis r4, d_kankyo_d_kankyo_wether__stringBase0@ha /* 0x8037A368@ha */
/* 800597E8 38 84 A3 68 */ addi r4, r4, d_kankyo_d_kankyo_wether__stringBase0@l /* 0x8037A368@l */
/* 800597EC 38 84 00 08 */ addi r4, r4, 8
/* 800597F0 38 A0 00 06 */ li r5, 6
/* 800597F4 48 30 C8 99 */ bl memcmp
/* 800597F8 2C 03 00 00 */ cmpwi r3, 0
/* 800597FC 41 82 00 5C */ beq lbl_80059858
/* 80059800 7F 83 E3 78 */ mr r3, r28
/* 80059804 3C 80 80 38 */ lis r4, d_kankyo_d_kankyo_wether__stringBase0@ha /* 0x8037A368@ha */
/* 80059808 38 84 A3 68 */ addi r4, r4, d_kankyo_d_kankyo_wether__stringBase0@l /* 0x8037A368@l */
/* 8005980C 38 84 01 01 */ addi r4, r4, 0x101
/* 80059810 48 30 F1 85 */ bl strcmp
/* 80059814 2C 03 00 00 */ cmpwi r3, 0
/* 80059818 41 82 00 40 */ beq lbl_80059858
/* 8005981C 7F 83 E3 78 */ mr r3, r28
/* 80059820 3C 80 80 38 */ lis r4, d_kankyo_d_kankyo_wether__stringBase0@ha /* 0x8037A368@ha */
/* 80059824 38 84 A3 68 */ addi r4, r4, d_kankyo_d_kankyo_wether__stringBase0@l /* 0x8037A368@l */
/* 80059828 38 84 01 09 */ addi r4, r4, 0x109
/* 8005982C 48 30 F1 69 */ bl strcmp
/* 80059830 2C 03 00 00 */ cmpwi r3, 0
/* 80059834 40 82 00 48 */ bne lbl_8005987C
/* 80059838 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005983C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80059840 88 03 12 CC */ lbz r0, 0x12cc(r3)
/* 80059844 28 00 00 00 */ cmplwi r0, 0
/* 80059848 40 82 00 10 */ bne lbl_80059858
/* 8005984C 88 1D 4F AD */ lbz r0, 0x4fad(r29)
/* 80059850 28 00 00 00 */ cmplwi r0, 0
/* 80059854 41 82 00 28 */ beq lbl_8005987C
lbl_80059858:
/* 80059858 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005985C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80059860 38 63 0E CC */ addi r3, r3, 0xecc
/* 80059864 C0 22 86 E4 */ lfs f1, lit_4379(r2)
/* 80059868 C0 42 87 1C */ lfs f2, lit_4768(r2)
/* 8005986C C0 62 87 3C */ lfs f3, lit_5184(r2)
/* 80059870 C0 82 87 40 */ lfs f4, lit_5185(r2)
/* 80059874 48 21 61 09 */ bl cLib_addCalc__FPfffff
/* 80059878 48 00 01 48 */ b lbl_800599C0
lbl_8005987C:
/* 8005987C 7F 83 E3 78 */ mr r3, r28
/* 80059880 3C 80 80 38 */ lis r4, d_kankyo_d_kankyo_wether__stringBase0@ha /* 0x8037A368@ha */
/* 80059884 38 84 A3 68 */ addi r4, r4, d_kankyo_d_kankyo_wether__stringBase0@l /* 0x8037A368@l */
/* 80059888 38 84 01 11 */ addi r4, r4, 0x111
/* 8005988C 48 30 F1 09 */ bl strcmp
/* 80059890 2C 03 00 00 */ cmpwi r3, 0
/* 80059894 40 82 00 60 */ bne lbl_800598F4
/* 80059898 38 60 00 00 */ li r3, 0
/* 8005989C 4B FD 30 E1 */ bl getLayerNo__14dComIfG_play_cFi
/* 800598A0 2C 03 00 03 */ cmpwi r3, 3
/* 800598A4 41 80 00 50 */ blt lbl_800598F4
/* 800598A8 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 800598AC 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 800598B0 88 03 12 C3 */ lbz r0, 0x12c3(r3)
/* 800598B4 28 00 00 04 */ cmplwi r0, 4
/* 800598B8 41 80 00 20 */ blt lbl_800598D8
/* 800598BC 38 63 0E CC */ addi r3, r3, 0xecc
/* 800598C0 C0 22 86 E4 */ lfs f1, lit_4379(r2)
/* 800598C4 C0 42 87 1C */ lfs f2, lit_4768(r2)
/* 800598C8 C0 62 87 3C */ lfs f3, lit_5184(r2)
/* 800598CC C0 82 87 40 */ lfs f4, lit_5185(r2)
/* 800598D0 48 21 60 AD */ bl cLib_addCalc__FPfffff
/* 800598D4 48 00 00 EC */ b lbl_800599C0
lbl_800598D8:
/* 800598D8 38 63 0E CC */ addi r3, r3, 0xecc
/* 800598DC C0 22 86 E0 */ lfs f1, lit_4378(r2)
/* 800598E0 C0 42 87 44 */ lfs f2, lit_5186(r2)
/* 800598E4 C0 62 87 48 */ lfs f3, lit_5187(r2)
/* 800598E8 C0 82 87 4C */ lfs f4, lit_5188(r2)
/* 800598EC 48 21 60 91 */ bl cLib_addCalc__FPfffff
/* 800598F0 48 00 00 D0 */ b lbl_800599C0
lbl_800598F4:
/* 800598F4 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 800598F8 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 800598FC 88 03 12 C3 */ lbz r0, 0x12c3(r3)
/* 80059900 28 00 00 01 */ cmplwi r0, 1
/* 80059904 40 82 00 14 */ bne lbl_80059918
/* 80059908 C0 23 11 DC */ lfs f1, 0x11dc(r3)
/* 8005990C C0 02 86 E0 */ lfs f0, lit_4378(r2)
/* 80059910 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80059914 41 81 00 68 */ bgt lbl_8005997C
lbl_80059918:
/* 80059918 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8005991C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80059920 88 83 12 C2 */ lbz r4, 0x12c2(r3)
/* 80059924 28 04 00 01 */ cmplwi r4, 1
/* 80059928 40 82 00 14 */ bne lbl_8005993C
/* 8005992C C0 23 11 DC */ lfs f1, 0x11dc(r3)
/* 80059930 C0 02 86 E4 */ lfs f0, lit_4379(r2)
/* 80059934 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80059938 41 80 00 44 */ blt lbl_8005997C
lbl_8005993C:
/* 8005993C 28 00 00 02 */ cmplwi r0, 2
/* 80059940 40 82 00 1C */ bne lbl_8005995C
/* 80059944 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80059948 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005994C C0 23 11 DC */ lfs f1, 0x11dc(r3)
/* 80059950 C0 02 86 E0 */ lfs f0, lit_4378(r2)
/* 80059954 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80059958 41 81 00 24 */ bgt lbl_8005997C
lbl_8005995C:
/* 8005995C 28 04 00 02 */ cmplwi r4, 2
/* 80059960 40 82 00 40 */ bne lbl_800599A0
/* 80059964 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80059968 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8005996C C0 23 11 DC */ lfs f1, 0x11dc(r3)
/* 80059970 C0 02 86 E4 */ lfs f0, lit_4379(r2)
/* 80059974 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80059978 40 80 00 28 */ bge lbl_800599A0
lbl_8005997C:
/* 8005997C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80059980 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80059984 38 63 0E CC */ addi r3, r3, 0xecc
/* 80059988 C0 22 86 E4 */ lfs f1, lit_4379(r2)
/* 8005998C C0 42 87 1C */ lfs f2, lit_4768(r2)
/* 80059990 C0 62 87 3C */ lfs f3, lit_5184(r2)
/* 80059994 C0 82 87 40 */ lfs f4, lit_5185(r2)
/* 80059998 48 21 5F E5 */ bl cLib_addCalc__FPfffff
/* 8005999C 48 00 00 24 */ b lbl_800599C0
lbl_800599A0:
/* 800599A0 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 800599A4 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 800599A8 38 63 0E CC */ addi r3, r3, 0xecc
/* 800599AC C0 22 86 E0 */ lfs f1, lit_4378(r2)
/* 800599B0 C0 42 87 44 */ lfs f2, lit_5186(r2)
/* 800599B4 C0 62 87 48 */ lfs f3, lit_5187(r2)
/* 800599B8 C0 82 87 4C */ lfs f4, lit_5188(r2)
/* 800599BC 48 21 5F C1 */ bl cLib_addCalc__FPfffff
lbl_800599C0:
/* 800599C0 C0 42 87 50 */ lfs f2, lit_5189(r2)
/* 800599C4 C0 22 87 54 */ lfs f1, lit_5190(r2)
/* 800599C8 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 800599CC 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 800599D0 C0 03 0E CC */ lfs f0, 0xecc(r3)
/* 800599D4 EC 01 00 32 */ fmuls f0, f1, f0
/* 800599D8 EC 02 00 2A */ fadds f0, f2, f0
/* 800599DC FC 00 00 1E */ fctiwz f0, f0
/* 800599E0 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 800599E4 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 800599E8 7C 00 07 34 */ extsh r0, r0
/* 800599EC 90 1E 0E C8 */ stw r0, 0xec8(r30)
/* 800599F0 48 00 00 14 */ b lbl_80059A04
lbl_800599F4:
/* 800599F4 38 00 00 00 */ li r0, 0
/* 800599F8 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 800599FC 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80059A00 90 03 0E C8 */ stw r0, 0xec8(r3)
lbl_80059A04:
/* 80059A04 48 15 2B 79 */ bl dKy_darkworld_check__Fv
/* 80059A08 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80059A0C 41 82 00 14 */ beq lbl_80059A20
/* 80059A10 38 00 00 1E */ li r0, 0x1e
/* 80059A14 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80059A18 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80059A1C 90 03 0E C8 */ stw r0, 0xec8(r3)
lbl_80059A20:
/* 80059A20 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80059A24 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80059A28 38 7E 4E 20 */ addi r3, r30, 0x4e20
/* 80059A2C 81 9E 4E 20 */ lwz r12, 0x4e20(r30)
/* 80059A30 81 8C 00 30 */ lwz r12, 0x30(r12)
/* 80059A34 7D 89 03 A6 */ mtctr r12
/* 80059A38 4E 80 04 21 */ bctrl
/* 80059A3C 28 03 00 00 */ cmplwi r3, 0
/* 80059A40 41 82 00 30 */ beq lbl_80059A70
/* 80059A44 80 03 00 00 */ lwz r0, 0(r3)
/* 80059A48 88 8D 87 E4 */ lbz r4, mStayNo__20dStage_roomControl_c+0x0(r13)
/* 80059A4C 7C 84 07 74 */ extsb r4, r4
/* 80059A50 7C 00 20 00 */ cmpw r0, r4
/* 80059A54 40 81 00 1C */ ble lbl_80059A70
/* 80059A58 80 63 00 04 */ lwz r3, 4(r3)
/* 80059A5C 54 80 10 3A */ slwi r0, r4, 2
/* 80059A60 7C 63 00 2E */ lwzx r3, r3, r0
/* 80059A64 88 03 00 02 */ lbz r0, 2(r3)
/* 80059A68 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
/* 80059A6C 7C 1F 03 78 */ mr r31, r0
lbl_80059A70:
/* 80059A70 3B 9E 4E 00 */ addi r28, r30, 0x4e00
/* 80059A74 7F 83 E3 78 */ mr r3, r28
/* 80059A78 3C 80 80 38 */ lis r4, d_kankyo_d_kankyo_wether__stringBase0@ha /* 0x8037A368@ha */
/* 80059A7C 38 84 A3 68 */ addi r4, r4, d_kankyo_d_kankyo_wether__stringBase0@l /* 0x8037A368@l */
/* 80059A80 38 84 00 0F */ addi r4, r4, 0xf
/* 80059A84 48 30 EF 11 */ bl strcmp
/* 80059A88 2C 03 00 00 */ cmpwi r3, 0
/* 80059A8C 40 82 00 18 */ bne lbl_80059AA4
/* 80059A90 38 00 00 1E */ li r0, 0x1e
/* 80059A94 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80059A98 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80059A9C 90 03 0E C8 */ stw r0, 0xec8(r3)
/* 80059AA0 48 00 00 0C */ b lbl_80059AAC
lbl_80059AA4:
/* 80059AA4 2C 1F 00 00 */ cmpwi r31, 0
/* 80059AA8 41 82 03 50 */ beq lbl_80059DF8
lbl_80059AAC:
/* 80059AAC 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80059AB0 3B C3 CA 54 */ addi r30, r3, g_env_light@l /* 0x8042CA54@l */
/* 80059AB4 88 1E 0E C4 */ lbz r0, 0xec4(r30)
/* 80059AB8 2C 00 00 01 */ cmpwi r0, 1
/* 80059ABC 41 82 01 58 */ beq lbl_80059C14
/* 80059AC0 40 80 03 38 */ bge lbl_80059DF8
/* 80059AC4 2C 00 00 00 */ cmpwi r0, 0
/* 80059AC8 40 80 00 08 */ bge lbl_80059AD0
/* 80059ACC 48 00 03 2C */ b lbl_80059DF8
lbl_80059AD0:
/* 80059AD0 80 1E 0E C8 */ lwz r0, 0xec8(r30)
/* 80059AD4 2C 00 00 00 */ cmpwi r0, 0
/* 80059AD8 41 82 03 20 */ beq lbl_80059DF8
/* 80059ADC 38 60 11 58 */ li r3, 0x1158
/* 80059AE0 38 80 00 20 */ li r4, 0x20
/* 80059AE4 48 27 51 91 */ bl __nw__FUli
/* 80059AE8 7C 7D 1B 79 */ or. r29, r3, r3
/* 80059AEC 41 82 00 50 */ beq lbl_80059B3C
/* 80059AF0 7F A4 EB 78 */ mr r4, r29
/* 80059AF4 3C 60 80 3D */ lis r3, __vt__9J3DPacket@ha /* 0x803CD97C@ha */
/* 80059AF8 38 03 D9 7C */ addi r0, r3, __vt__9J3DPacket@l /* 0x803CD97C@l */
/* 80059AFC 90 1D 00 00 */ stw r0, 0(r29)
/* 80059B00 38 00 00 00 */ li r0, 0
/* 80059B04 90 1D 00 04 */ stw r0, 4(r29)
/* 80059B08 90 1D 00 08 */ stw r0, 8(r29)
/* 80059B0C 90 1D 00 0C */ stw r0, 0xc(r29)
/* 80059B10 3C 60 80 3B */ lis r3, __vt__21dKankyo_vrkumo_Packet@ha /* 0x803A9AFC@ha */
/* 80059B14 38 03 9A FC */ addi r0, r3, __vt__21dKankyo_vrkumo_Packet@l /* 0x803A9AFC@l */
/* 80059B18 90 1D 00 00 */ stw r0, 0(r29)
/* 80059B1C 38 64 00 20 */ addi r3, r4, 0x20
/* 80059B20 3C 80 80 05 */ lis r4, __ct__10VRKUMO_EFFFv@ha /* 0x80056F54@ha */
/* 80059B24 38 84 6F 54 */ addi r4, r4, __ct__10VRKUMO_EFFFv@l /* 0x80056F54@l */
/* 80059B28 3C A0 80 05 */ lis r5, __dt__10VRKUMO_EFFFv@ha /* 0x80056F18@ha */
/* 80059B2C 38 A5 6F 18 */ addi r5, r5, __dt__10VRKUMO_EFFFv@l /* 0x80056F18@l */
/* 80059B30 38 C0 00 2C */ li r6, 0x2c
/* 80059B34 38 E0 00 64 */ li r7, 0x64
/* 80059B38 48 30 82 29 */ bl __construct_array
lbl_80059B3C:
/* 80059B3C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80059B40 3B E3 CA 54 */ addi r31, r3, g_env_light@l /* 0x8042CA54@l */
/* 80059B44 93 BF 0E D0 */ stw r29, 0xed0(r31)
/* 80059B48 28 1D 00 00 */ cmplwi r29, 0
/* 80059B4C 41 82 02 AC */ beq lbl_80059DF8
/* 80059B50 3C 60 80 38 */ lis r3, d_kankyo_d_kankyo_wether__stringBase0@ha /* 0x8037A368@ha */
/* 80059B54 38 63 A3 68 */ addi r3, r3, d_kankyo_d_kankyo_wether__stringBase0@l /* 0x8037A368@l */
/* 80059B58 38 63 01 19 */ addi r3, r3, 0x119
/* 80059B5C 4B FD 58 D9 */ bl dComIfG_getStageRes__FPCc
/* 80059B60 80 9F 0E D0 */ lwz r4, 0xed0(r31)
/* 80059B64 90 64 00 14 */ stw r3, 0x14(r4)
/* 80059B68 3C 60 80 38 */ lis r3, d_kankyo_d_kankyo_wether__stringBase0@ha /* 0x8037A368@ha */
/* 80059B6C 38 63 A3 68 */ addi r3, r3, d_kankyo_d_kankyo_wether__stringBase0@l /* 0x8037A368@l */
/* 80059B70 38 63 01 28 */ addi r3, r3, 0x128
/* 80059B74 4B FD 58 C1 */ bl dComIfG_getStageRes__FPCc
/* 80059B78 80 9F 0E D0 */ lwz r4, 0xed0(r31)
/* 80059B7C 90 64 00 18 */ stw r3, 0x18(r4)
/* 80059B80 3C 60 80 38 */ lis r3, d_kankyo_d_kankyo_wether__stringBase0@ha /* 0x8037A368@ha */
/* 80059B84 38 63 A3 68 */ addi r3, r3, d_kankyo_d_kankyo_wether__stringBase0@l /* 0x8037A368@l */
/* 80059B88 38 63 01 37 */ addi r3, r3, 0x137
/* 80059B8C 4B FD 58 A9 */ bl dComIfG_getStageRes__FPCc
/* 80059B90 80 9F 0E D0 */ lwz r4, 0xed0(r31)
/* 80059B94 90 64 00 1C */ stw r3, 0x1c(r4)
/* 80059B98 80 7F 0E D0 */ lwz r3, 0xed0(r31)
/* 80059B9C 80 03 00 14 */ lwz r0, 0x14(r3)
/* 80059BA0 28 00 00 00 */ cmplwi r0, 0
/* 80059BA4 41 82 00 1C */ beq lbl_80059BC0
/* 80059BA8 80 03 00 18 */ lwz r0, 0x18(r3)
/* 80059BAC 28 00 00 00 */ cmplwi r0, 0
/* 80059BB0 41 82 00 10 */ beq lbl_80059BC0
/* 80059BB4 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 80059BB8 28 00 00 00 */ cmplwi r0, 0
/* 80059BBC 40 82 00 0C */ bne lbl_80059BC8
lbl_80059BC0:
/* 80059BC0 38 00 00 63 */ li r0, 0x63
/* 80059BC4 98 1E 0E C4 */ stb r0, 0xec4(r30)
lbl_80059BC8:
/* 80059BC8 38 60 00 00 */ li r3, 0
/* 80059BCC 7C 65 1B 78 */ mr r5, r3
/* 80059BD0 38 00 00 64 */ li r0, 0x64
/* 80059BD4 7C 09 03 A6 */ mtctr r0
lbl_80059BD8:
/* 80059BD8 80 9F 0E D0 */ lwz r4, 0xed0(r31)
/* 80059BDC 38 03 00 20 */ addi r0, r3, 0x20
/* 80059BE0 7C A4 01 AE */ stbx r5, r4, r0
/* 80059BE4 38 63 00 2C */ addi r3, r3, 0x2c
/* 80059BE8 42 00 FF F0 */ bdnz lbl_80059BD8
/* 80059BEC C0 02 86 E0 */ lfs f0, lit_4378(r2)
/* 80059BF0 80 7F 0E D0 */ lwz r3, 0xed0(r31)
/* 80059BF4 D0 03 11 50 */ stfs f0, 0x1150(r3)
/* 80059BF8 80 7F 0E D0 */ lwz r3, 0xed0(r31)
/* 80059BFC D0 03 11 54 */ stfs f0, 0x1154(r3)
/* 80059C00 48 00 84 AD */ bl vrkumo_move__Fv
/* 80059C04 88 7E 0E C4 */ lbz r3, 0xec4(r30)
/* 80059C08 38 03 00 01 */ addi r0, r3, 1
/* 80059C0C 98 1E 0E C4 */ stb r0, 0xec4(r30)
/* 80059C10 48 00 01 E8 */ b lbl_80059DF8
lbl_80059C14:
/* 80059C14 48 00 84 99 */ bl vrkumo_move__Fv
/* 80059C18 48 00 0E C9 */ bl dKyw_get_wind_vec__Fv
/* 80059C1C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80059C20 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80059C24 C3 A3 0E 48 */ lfs f29, 0xe48(r3)
/* 80059C28 C3 83 0E 4C */ lfs f28, 0xe4c(r3)
/* 80059C2C C3 63 0E 50 */ lfs f27, 0xe50(r3)
/* 80059C30 C3 E3 0E 58 */ lfs f31, 0xe58(r3)
/* 80059C34 7F 83 E3 78 */ mr r3, r28
/* 80059C38 3C 80 80 38 */ lis r4, d_kankyo_d_kankyo_wether__stringBase0@ha /* 0x8037A368@ha */
/* 80059C3C 38 84 A3 68 */ addi r4, r4, d_kankyo_d_kankyo_wether__stringBase0@l /* 0x8037A368@l */
/* 80059C40 38 84 00 89 */ addi r4, r4, 0x89
/* 80059C44 48 30 ED 51 */ bl strcmp
/* 80059C48 2C 03 00 00 */ cmpwi r3, 0
/* 80059C4C 40 82 00 08 */ bne lbl_80059C54
/* 80059C50 C3 E2 87 58 */ lfs f31, lit_5191(r2)
lbl_80059C54:
/* 80059C54 EC 3D 07 72 */ fmuls f1, f29, f29
/* 80059C58 EC 1B 06 F2 */ fmuls f0, f27, f27
/* 80059C5C EF C1 00 2A */ fadds f30, f1, f0
/* 80059C60 C0 02 86 E0 */ lfs f0, lit_4378(r2)
/* 80059C64 FC 1E 00 40 */ fcmpo cr0, f30, f0
/* 80059C68 40 81 00 0C */ ble lbl_80059C74
/* 80059C6C FC 00 F0 34 */ frsqrte f0, f30
/* 80059C70 EF C0 07 B2 */ fmuls f30, f0, f30
lbl_80059C74:
/* 80059C74 FC 20 E8 90 */ fmr f1, f29
/* 80059C78 FC 40 D8 90 */ fmr f2, f27
/* 80059C7C 48 20 D9 F9 */ bl cM_atan2s__Fff
/* 80059C80 7C 60 07 34 */ extsh r0, r3
/* 80059C84 C8 22 86 F8 */ lfd f1, lit_4671(r2)
/* 80059C88 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80059C8C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80059C90 3C 00 43 30 */ lis r0, 0x4330
/* 80059C94 90 01 00 18 */ stw r0, 0x18(r1)
/* 80059C98 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 80059C9C EF 60 08 28 */ fsubs f27, f0, f1
/* 80059CA0 FC 20 E0 90 */ fmr f1, f28
/* 80059CA4 FC 40 F0 90 */ fmr f2, f30
/* 80059CA8 48 20 D9 CD */ bl cM_atan2s__Fff
/* 80059CAC 7C 60 07 34 */ extsh r0, r3
/* 80059CB0 C8 22 86 F8 */ lfd f1, lit_4671(r2)
/* 80059CB4 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80059CB8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80059CBC 3C 00 43 30 */ lis r0, 0x4330
/* 80059CC0 90 01 00 20 */ stw r0, 0x20(r1)
/* 80059CC4 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 80059CC8 EC 20 08 28 */ fsubs f1, f0, f1
/* 80059CCC C0 02 87 5C */ lfs f0, lit_5192(r2)
/* 80059CD0 EF 7B 00 2A */ fadds f27, f27, f0
/* 80059CD4 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */
/* 80059CD8 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */
/* 80059CDC 38 A3 00 04 */ addi r5, r3, 4
/* 80059CE0 FC 00 08 1E */ fctiwz f0, f1
/* 80059CE4 D8 01 00 28 */ stfd f0, 0x28(r1)
/* 80059CE8 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 80059CEC 54 04 04 38 */ rlwinm r4, r0, 0, 0x10, 0x1c
/* 80059CF0 7C 25 24 2E */ lfsx f1, r5, r4
/* 80059CF4 FC 00 D8 1E */ fctiwz f0, f27
/* 80059CF8 D8 01 00 30 */ stfd f0, 0x30(r1)
/* 80059CFC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80059D00 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 80059D04 7C 03 04 2E */ lfsx f0, r3, r0
/* 80059D08 EC 81 00 32 */ fmuls f4, f1, f0
/* 80059D0C D0 81 00 08 */ stfs f4, 8(r1)
/* 80059D10 7C 03 24 2E */ lfsx f0, r3, r4
/* 80059D14 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80059D18 7C 05 04 2E */ lfsx f0, r5, r0
/* 80059D1C EC 61 00 32 */ fmuls f3, f1, f0
/* 80059D20 D0 61 00 10 */ stfs f3, 0x10(r1)
/* 80059D24 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80059D28 38 83 CA 54 */ addi r4, r3, g_env_light@l /* 0x8042CA54@l */
/* 80059D2C 80 64 0E D0 */ lwz r3, 0xed0(r4)
/* 80059D30 C0 23 11 50 */ lfs f1, 0x1150(r3)
/* 80059D34 C0 42 87 60 */ lfs f2, lit_5193(r2)
/* 80059D38 EC 04 07 F2 */ fmuls f0, f4, f31
/* 80059D3C EC 02 00 32 */ fmuls f0, f2, f0
/* 80059D40 EC 01 00 2A */ fadds f0, f1, f0
/* 80059D44 D0 03 11 50 */ stfs f0, 0x1150(r3)
/* 80059D48 80 64 0E D0 */ lwz r3, 0xed0(r4)
/* 80059D4C C0 23 11 54 */ lfs f1, 0x1154(r3)
/* 80059D50 EC 03 07 F2 */ fmuls f0, f3, f31
/* 80059D54 EC 02 00 32 */ fmuls f0, f2, f0
/* 80059D58 EC 01 00 2A */ fadds f0, f1, f0
/* 80059D5C D0 03 11 54 */ stfs f0, 0x1154(r3)
/* 80059D60 C0 42 86 E4 */ lfs f2, lit_4379(r2)
/* 80059D64 C0 02 86 E0 */ lfs f0, lit_4378(r2)
/* 80059D68 48 00 00 10 */ b lbl_80059D78
lbl_80059D6C:
/* 80059D6C C0 23 11 50 */ lfs f1, 0x1150(r3)
/* 80059D70 EC 21 10 2A */ fadds f1, f1, f2
/* 80059D74 D0 23 11 50 */ stfs f1, 0x1150(r3)
lbl_80059D78:
/* 80059D78 80 64 0E D0 */ lwz r3, 0xed0(r4)
/* 80059D7C C0 23 11 50 */ lfs f1, 0x1150(r3)
/* 80059D80 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80059D84 41 80 FF E8 */ blt lbl_80059D6C
/* 80059D88 C0 22 86 E4 */ lfs f1, lit_4379(r2)
/* 80059D8C 48 00 00 10 */ b lbl_80059D9C
lbl_80059D90:
/* 80059D90 C0 03 11 50 */ lfs f0, 0x1150(r3)
/* 80059D94 EC 00 08 28 */ fsubs f0, f0, f1
/* 80059D98 D0 03 11 50 */ stfs f0, 0x1150(r3)
lbl_80059D9C:
/* 80059D9C 80 64 0E D0 */ lwz r3, 0xed0(r4)
/* 80059DA0 C0 03 11 50 */ lfs f0, 0x1150(r3)
/* 80059DA4 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80059DA8 41 81 FF E8 */ bgt lbl_80059D90
/* 80059DAC C0 42 86 E4 */ lfs f2, lit_4379(r2)
/* 80059DB0 C0 02 86 E0 */ lfs f0, lit_4378(r2)
/* 80059DB4 48 00 00 10 */ b lbl_80059DC4
lbl_80059DB8:
/* 80059DB8 C0 23 11 54 */ lfs f1, 0x1154(r3)
/* 80059DBC EC 21 10 2A */ fadds f1, f1, f2
/* 80059DC0 D0 23 11 54 */ stfs f1, 0x1154(r3)
lbl_80059DC4:
/* 80059DC4 80 64 0E D0 */ lwz r3, 0xed0(r4)
/* 80059DC8 C0 23 11 54 */ lfs f1, 0x1154(r3)
/* 80059DCC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80059DD0 41 80 FF E8 */ blt lbl_80059DB8
/* 80059DD4 C0 22 86 E4 */ lfs f1, lit_4379(r2)
/* 80059DD8 48 00 00 10 */ b lbl_80059DE8
lbl_80059DDC:
/* 80059DDC C0 03 11 54 */ lfs f0, 0x1154(r3)
/* 80059DE0 EC 00 08 28 */ fsubs f0, f0, f1
/* 80059DE4 D0 03 11 54 */ stfs f0, 0x1154(r3)
lbl_80059DE8:
/* 80059DE8 80 64 0E D0 */ lwz r3, 0xed0(r4)
/* 80059DEC C0 03 11 54 */ lfs f0, 0x1154(r3)
/* 80059DF0 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 80059DF4 41 81 FF E8 */ bgt lbl_80059DDC
lbl_80059DF8:
/* 80059DF8 E3 E1 00 98 */ psq_l f31, 152(r1), 0, 0 /* qr0 */
/* 80059DFC CB E1 00 90 */ lfd f31, 0x90(r1)
/* 80059E00 E3 C1 00 88 */ psq_l f30, 136(r1), 0, 0 /* qr0 */
/* 80059E04 CB C1 00 80 */ lfd f30, 0x80(r1)
/* 80059E08 E3 A1 00 78 */ psq_l f29, 120(r1), 0, 0 /* qr0 */
/* 80059E0C CB A1 00 70 */ lfd f29, 0x70(r1)
/* 80059E10 E3 81 00 68 */ psq_l f28, 104(r1), 0, 0 /* qr0 */
/* 80059E14 CB 81 00 60 */ lfd f28, 0x60(r1)
/* 80059E18 E3 61 00 58 */ psq_l f27, 88(r1), 0, 0 /* qr0 */
/* 80059E1C CB 61 00 50 */ lfd f27, 0x50(r1)
/* 80059E20 39 61 00 50 */ addi r11, r1, 0x50
/* 80059E24 48 30 84 01 */ bl _restgpr_28
/* 80059E28 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 80059E2C 7C 08 03 A6 */ mtlr r0
/* 80059E30 38 21 00 A0 */ addi r1, r1, 0xa0
/* 80059E34 4E 80 00 20 */ blr
@@ -1,113 +0,0 @@
lbl_804D6704:
/* 804D6704 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804D6708 7C 08 02 A6 */ mflr r0
/* 804D670C 90 01 00 14 */ stw r0, 0x14(r1)
/* 804D6710 93 E1 00 0C */ stw r31, 0xc(r1)
/* 804D6714 93 C1 00 08 */ stw r30, 8(r1)
/* 804D6718 7C 7F 1B 78 */ mr r31, r3
/* 804D671C A0 03 00 F8 */ lhz r0, 0xf8(r3)
/* 804D6720 28 00 00 02 */ cmplwi r0, 2
/* 804D6724 40 82 00 30 */ bne lbl_804D6754
/* 804D6728 38 00 00 03 */ li r0, 3
/* 804D672C 98 1F 05 6C */ stb r0, 0x56c(r31)
/* 804D6730 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 804D6734 7C 1F 07 74 */ extsb r31, r0
/* 804D6738 4B FF F6 CD */ bl getSwbit__10daAndsw2_cFv
/* 804D673C 54 64 06 3E */ clrlwi r4, r3, 0x18
/* 804D6740 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804D6744 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804D6748 7F E5 FB 78 */ mr r5, r31
/* 804D674C 4B B5 EA B5 */ bl onSwitch__10dSv_info_cFii
/* 804D6750 48 00 01 38 */ b lbl_804D6888
lbl_804D6754:
/* 804D6754 4B FF F6 C9 */ bl getType__10daAndsw2_cFv
/* 804D6758 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 804D675C 28 00 00 01 */ cmplwi r0, 1
/* 804D6760 40 82 00 14 */ bne lbl_804D6774
/* 804D6764 7F E3 FB 78 */ mr r3, r31
/* 804D6768 4B FF F7 55 */ bl chkAllSw2__10daAndsw2_cFv
/* 804D676C 2C 03 00 00 */ cmpwi r3, 0
/* 804D6770 41 82 00 70 */ beq lbl_804D67E0
lbl_804D6774:
/* 804D6774 7F E3 FB 78 */ mr r3, r31
/* 804D6778 4B FF F6 A5 */ bl getType__10daAndsw2_cFv
/* 804D677C 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 804D6780 28 00 00 03 */ cmplwi r0, 3
/* 804D6784 40 82 00 14 */ bne lbl_804D6798
/* 804D6788 7F E3 FB 78 */ mr r3, r31
/* 804D678C 4B FF F7 D9 */ bl chkSwStatus__10daAndsw2_cFv
/* 804D6790 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 804D6794 41 82 00 4C */ beq lbl_804D67E0
lbl_804D6798:
/* 804D6798 7F E3 FB 78 */ mr r3, r31
/* 804D679C 4B FF F6 81 */ bl getType__10daAndsw2_cFv
/* 804D67A0 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 804D67A4 28 00 00 05 */ cmplwi r0, 5
/* 804D67A8 40 82 00 14 */ bne lbl_804D67BC
/* 804D67AC 7F E3 FB 78 */ mr r3, r31
/* 804D67B0 4B FF F7 0D */ bl chkAllSw2__10daAndsw2_cFv
/* 804D67B4 2C 03 00 00 */ cmpwi r3, 0
/* 804D67B8 41 82 00 28 */ beq lbl_804D67E0
lbl_804D67BC:
/* 804D67BC 7F E3 FB 78 */ mr r3, r31
/* 804D67C0 4B FF F6 5D */ bl getType__10daAndsw2_cFv
/* 804D67C4 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 804D67C8 28 00 00 06 */ cmplwi r0, 6
/* 804D67CC 40 82 00 20 */ bne lbl_804D67EC
/* 804D67D0 7F E3 FB 78 */ mr r3, r31
/* 804D67D4 4B FF F6 E9 */ bl chkAllSw2__10daAndsw2_cFv
/* 804D67D8 2C 03 00 00 */ cmpwi r3, 0
/* 804D67DC 40 82 00 10 */ bne lbl_804D67EC
lbl_804D67E0:
/* 804D67E0 38 00 00 00 */ li r0, 0
/* 804D67E4 98 1F 05 6C */ stb r0, 0x56c(r31)
/* 804D67E8 48 00 00 A0 */ b lbl_804D6888
lbl_804D67EC:
/* 804D67EC 7F E3 FB 78 */ mr r3, r31
/* 804D67F0 4B FF F6 2D */ bl getType__10daAndsw2_cFv
/* 804D67F4 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 804D67F8 28 00 00 05 */ cmplwi r0, 5
/* 804D67FC 40 82 00 64 */ bne lbl_804D6860
/* 804D6800 7F E3 FB 78 */ mr r3, r31
/* 804D6804 4B FF F5 F5 */ bl getEventNo__10daAndsw2_cFv
/* 804D6808 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 804D680C 4B B5 BE 11 */ bl dLib_getEventSwitchNo__Fi
/* 804D6810 7C 60 1B 78 */ mr r0, r3
/* 804D6814 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804D6818 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804D681C 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 804D6820 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 804D6824 7C 05 07 74 */ extsb r5, r0
/* 804D6828 4B B5 EB 39 */ bl isSwitch__10dSv_info_cCFii
/* 804D682C 2C 03 00 00 */ cmpwi r3, 0
/* 804D6830 41 82 00 30 */ beq lbl_804D6860
/* 804D6834 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 804D6838 7C 1E 07 74 */ extsb r30, r0
/* 804D683C 7F E3 FB 78 */ mr r3, r31
/* 804D6840 4B FF F5 C5 */ bl getSwbit__10daAndsw2_cFv
/* 804D6844 54 64 06 3E */ clrlwi r4, r3, 0x18
/* 804D6848 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804D684C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804D6850 7F C5 F3 78 */ mr r5, r30
/* 804D6854 4B B5 E9 AD */ bl onSwitch__10dSv_info_cFii
/* 804D6858 38 00 00 04 */ li r0, 4
/* 804D685C 98 1F 05 6C */ stb r0, 0x56c(r31)
lbl_804D6860:
/* 804D6860 7F E3 FB 78 */ mr r3, r31
/* 804D6864 4B FF F5 95 */ bl getEventNo__10daAndsw2_cFv
/* 804D6868 7C 65 1B 78 */ mr r5, r3
/* 804D686C 7F E3 FB 78 */ mr r3, r31
/* 804D6870 A8 9F 05 6A */ lha r4, 0x56a(r31)
/* 804D6874 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */
/* 804D6878 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */
/* 804D687C 38 E0 00 00 */ li r7, 0
/* 804D6880 39 00 00 01 */ li r8, 1
/* 804D6884 4B B4 4D F9 */ bl fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs
lbl_804D6888:
/* 804D6888 38 60 00 01 */ li r3, 1
/* 804D688C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 804D6890 83 C1 00 08 */ lwz r30, 8(r1)
/* 804D6894 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804D6898 7C 08 03 A6 */ mtlr r0
/* 804D689C 38 21 00 10 */ addi r1, r1, 0x10
/* 804D68A0 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8049AD74:
/* 8049AD74 38 00 00 00 */ li r0, 0
/* 8049AD78 98 03 09 3E */ stb r0, 0x93e(r3)
/* 8049AD7C 3C 80 80 45 */ lis r4, __float_max@ha /* 0x80450AE8@ha */
/* 8049AD80 C0 04 0A E8 */ lfs f0, __float_max@l(r4) /* 0x80450AE8@l */
/* 8049AD84 D0 03 09 98 */ stfs f0, 0x998(r3)
/* 8049AD88 38 00 FF FF */ li r0, -1
/* 8049AD8C 90 03 09 94 */ stw r0, 0x994(r3)
/* 8049AD90 4E 80 00 20 */ blr
@@ -1,72 +0,0 @@
lbl_80499C6C:
/* 80499C6C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80499C70 7C 08 02 A6 */ mflr r0
/* 80499C74 90 01 00 14 */ stw r0, 0x14(r1)
/* 80499C78 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80499C7C 93 C1 00 08 */ stw r30, 8(r1)
/* 80499C80 7C 7E 1B 78 */ mr r30, r3
/* 80499C84 88 03 09 3C */ lbz r0, 0x93c(r3)
/* 80499C88 28 00 00 02 */ cmplwi r0, 2
/* 80499C8C 40 82 00 2C */ bne lbl_80499CB8
/* 80499C90 3C 60 80 4A */ lis r3, d_a_arrow__stringBase0@ha /* 0x8049DE04@ha */
/* 80499C94 38 63 DE 04 */ addi r3, r3, d_a_arrow__stringBase0@l /* 0x8049DE04@l */
/* 80499C98 38 80 00 1F */ li r4, 0x1f
/* 80499C9C 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80499CA0 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80499CA4 3C A5 00 02 */ addis r5, r5, 2
/* 80499CA8 38 C0 00 80 */ li r6, 0x80
/* 80499CAC 38 A5 C2 F8 */ addi r5, r5, -15624
/* 80499CB0 4B BA 26 3D */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 80499CB4 48 00 00 48 */ b lbl_80499CFC
lbl_80499CB8:
/* 80499CB8 28 00 00 04 */ cmplwi r0, 4
/* 80499CBC 40 82 00 0C */ bne lbl_80499CC8
/* 80499CC0 3B E0 00 20 */ li r31, 0x20
/* 80499CC4 48 00 00 18 */ b lbl_80499CDC
lbl_80499CC8:
/* 80499CC8 28 00 00 01 */ cmplwi r0, 1
/* 80499CCC 40 82 00 0C */ bne lbl_80499CD8
/* 80499CD0 3B E0 00 1D */ li r31, 0x1d
/* 80499CD4 48 00 00 08 */ b lbl_80499CDC
lbl_80499CD8:
/* 80499CD8 3B E0 00 1C */ li r31, 0x1c
lbl_80499CDC:
/* 80499CDC 4B C0 3B A9 */ bl getAlinkArcName__9daAlink_cFv
/* 80499CE0 57 E4 04 3E */ clrlwi r4, r31, 0x10
/* 80499CE4 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80499CE8 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80499CEC 3C A5 00 02 */ addis r5, r5, 2
/* 80499CF0 38 C0 00 80 */ li r6, 0x80
/* 80499CF4 38 A5 C2 F8 */ addi r5, r5, -15624
/* 80499CF8 4B BA 25 F5 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
lbl_80499CFC:
/* 80499CFC 3C 80 00 08 */ lis r4, 8
/* 80499D00 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */
/* 80499D04 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */
/* 80499D08 4B B7 AF 4D */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl
/* 80499D0C 90 7E 05 68 */ stw r3, 0x568(r30)
/* 80499D10 80 1E 05 68 */ lwz r0, 0x568(r30)
/* 80499D14 28 00 00 00 */ cmplwi r0, 0
/* 80499D18 40 82 00 0C */ bne lbl_80499D24
/* 80499D1C 38 60 00 00 */ li r3, 0
/* 80499D20 48 00 00 34 */ b lbl_80499D54
lbl_80499D24:
/* 80499D24 38 7E 09 04 */ addi r3, r30, 0x904
/* 80499D28 38 9E 04 D0 */ addi r4, r30, 0x4d0
/* 80499D2C 38 A0 00 01 */ li r5, 1
/* 80499D30 81 9E 09 14 */ lwz r12, 0x914(r30)
/* 80499D34 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 80499D38 7D 89 03 A6 */ mtctr r12
/* 80499D3C 4E 80 04 21 */ bctrl
/* 80499D40 88 1E 04 E2 */ lbz r0, 0x4e2(r30)
/* 80499D44 7C 03 07 74 */ extsb r3, r0
/* 80499D48 4B B9 33 25 */ bl dComIfGp_getReverb__Fi
/* 80499D4C 98 7E 09 48 */ stb r3, 0x948(r30)
/* 80499D50 38 60 00 01 */ li r3, 1
lbl_80499D54:
/* 80499D54 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80499D58 83 C1 00 08 */ lwz r30, 8(r1)
/* 80499D5C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80499D60 7C 08 03 A6 */ mtlr r0
/* 80499D64 38 21 00 10 */ addi r1, r1, 0x10
/* 80499D68 4E 80 00 20 */ blr
@@ -1,6 +0,0 @@
lbl_8049D42C:
/* 8049D42C A8 03 00 08 */ lha r0, 8(r3)
/* 8049D430 2C 00 02 24 */ cmpwi r0, 0x224
/* 8049D434 4D 82 00 20 */ beqlr
/* 8049D438 38 60 00 00 */ li r3, 0
/* 8049D43C 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80499F9C:
/* 80499F9C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80499FA0 7C 08 02 A6 */ mflr r0
/* 80499FA4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80499FA8 4B FF FD E5 */ bl atHitCallBack__9daArrow_cFP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf
/* 80499FAC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80499FB0 7C 08 03 A6 */ mtlr r0
/* 80499FB4 38 21 00 10 */ addi r1, r1, 0x10
/* 80499FB8 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80499D6C:
/* 80499D6C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80499D70 7C 08 02 A6 */ mflr r0
/* 80499D74 90 01 00 14 */ stw r0, 0x14(r1)
/* 80499D78 4B FF FE F5 */ bl createHeap__9daArrow_cFv
/* 80499D7C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80499D80 7C 08 03 A6 */ mtlr r0
/* 80499D84 38 21 00 10 */ addi r1, r1, 0x10
/* 80499D88 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8049D96C:
/* 8049D96C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8049D970 7C 08 02 A6 */ mflr r0
/* 8049D974 90 01 00 14 */ stw r0, 0x14(r1)
/* 8049D978 4B FF FA C9 */ bl create__9daArrow_cFv
/* 8049D97C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8049D980 7C 08 03 A6 */ mtlr r0
/* 8049D984 38 21 00 10 */ addi r1, r1, 0x10
/* 8049D988 4E 80 00 20 */ blr
@@ -1,11 +0,0 @@
lbl_8049DBD8:
/* 8049DBD8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8049DBDC 7C 08 02 A6 */ mflr r0
/* 8049DBE0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8049DBE4 38 80 FF FF */ li r4, -1
/* 8049DBE8 4B FF FD A5 */ bl __dt__9daArrow_cFv
/* 8049DBEC 38 60 00 01 */ li r3, 1
/* 8049DBF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8049DBF4 7C 08 03 A6 */ mtlr r0
/* 8049DBF8 38 21 00 10 */ addi r1, r1, 0x10
/* 8049DBFC 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8049D40C:
/* 8049D40C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8049D410 7C 08 02 A6 */ mflr r0
/* 8049D414 90 01 00 14 */ stw r0, 0x14(r1)
/* 8049D418 4B FF FC B5 */ bl draw__9daArrow_cFv
/* 8049D41C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8049D420 7C 08 03 A6 */ mtlr r0
/* 8049D424 38 21 00 10 */ addi r1, r1, 0x10
/* 8049D428 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8049D0AC:
/* 8049D0AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8049D0B0 7C 08 02 A6 */ mflr r0
/* 8049D0B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8049D0B8 4B FF FD E9 */ bl execute__9daArrow_cFv
/* 8049D0BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8049D0C0 7C 08 03 A6 */ mtlr r0
/* 8049D0C4 38 21 00 10 */ addi r1, r1, 0x10
/* 8049D0C8 4E 80 00 20 */ blr
@@ -1,41 +0,0 @@
lbl_80499FBC:
/* 80499FBC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80499FC0 7C 08 02 A6 */ mflr r0
/* 80499FC4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80499FC8 39 61 00 20 */ addi r11, r1, 0x20
/* 80499FCC 4B EC 82 05 */ bl _savegpr_26
/* 80499FD0 7C 7A 1B 78 */ mr r26, r3
/* 80499FD4 3B 60 00 00 */ li r27, 0
/* 80499FD8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80499FDC 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80499FE0 3B E0 00 00 */ li r31, 0
/* 80499FE4 48 00 00 44 */ b lbl_8049A028
lbl_80499FE8:
/* 80499FE8 80 7D 5D 3C */ lwz r3, 0x5d3c(r29)
/* 80499FEC 38 63 02 10 */ addi r3, r3, 0x210
/* 80499FF0 80 9A 09 7C */ lwz r4, 0x97c(r26)
/* 80499FF4 4B BB 19 25 */ bl getEmitter__Q213dPa_control_c7level_cFUl
/* 80499FF8 7C 7E 1B 79 */ or. r30, r3, r3
/* 80499FFC 41 82 00 28 */ beq lbl_8049A024
/* 8049A000 8B 9E 00 BB */ lbz r28, 0xbb(r30)
/* 8049A004 28 1C 00 33 */ cmplwi r28, 0x33
/* 8049A008 40 81 00 18 */ ble lbl_8049A020
/* 8049A00C 7F 43 D3 78 */ mr r3, r26
/* 8049A010 48 00 00 3D */ bl setBlur__9daArrow_cFv
/* 8049A014 38 1C FF CD */ addi r0, r28, -51
/* 8049A018 98 1E 00 BB */ stb r0, 0xbb(r30)
/* 8049A01C 48 00 00 08 */ b lbl_8049A024
lbl_8049A020:
/* 8049A020 9B FE 00 BB */ stb r31, 0xbb(r30)
lbl_8049A024:
/* 8049A024 3B 7B 00 01 */ addi r27, r27, 1
lbl_8049A028:
/* 8049A028 88 1A 09 46 */ lbz r0, 0x946(r26)
/* 8049A02C 7C 1B 00 00 */ cmpw r27, r0
/* 8049A030 41 80 FF B8 */ blt lbl_80499FE8
/* 8049A034 39 61 00 20 */ addi r11, r1, 0x20
/* 8049A038 4B EC 81 E5 */ bl _restgpr_26
/* 8049A03C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8049A040 7C 08 03 A6 */ mtlr r0
/* 8049A044 38 21 00 20 */ addi r1, r1, 0x20
/* 8049A048 4E 80 00 20 */ blr
@@ -1,10 +0,0 @@
lbl_8049CCCC:
/* 8049CCCC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8049CCD0 7C 08 02 A6 */ mflr r0
/* 8049CCD4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8049CCD8 4B FF D2 E5 */ bl decAlphaBlur__9daArrow_cFv
/* 8049CCDC 38 60 00 01 */ li r3, 1
/* 8049CCE0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8049CCE4 7C 08 03 A6 */ mtlr r0
/* 8049CCE8 38 21 00 10 */ addi r1, r1, 0x10
/* 8049CCEC 4E 80 00 20 */ blr
@@ -1,31 +0,0 @@
lbl_8049CC60:
/* 8049CC60 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8049CC64 7C 08 02 A6 */ mflr r0
/* 8049CC68 90 01 00 14 */ stw r0, 0x14(r1)
/* 8049CC6C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8049CC70 7C 7F 1B 78 */ mr r31, r3
/* 8049CC74 4B FF D3 49 */ bl decAlphaBlur__9daArrow_cFv
/* 8049CC78 7F E3 FB 78 */ mr r3, r31
/* 8049CC7C 4B FF E4 A5 */ bl setStopActorMatrix__9daArrow_cFv
/* 8049CC80 88 1F 09 44 */ lbz r0, 0x944(r31)
/* 8049CC84 28 00 00 00 */ cmplwi r0, 0
/* 8049CC88 40 82 00 0C */ bne lbl_8049CC94
/* 8049CC8C 28 03 00 00 */ cmplwi r3, 0
/* 8049CC90 40 82 00 10 */ bne lbl_8049CCA0
lbl_8049CC94:
/* 8049CC94 38 00 00 01 */ li r0, 1
/* 8049CC98 98 1F 09 3F */ stb r0, 0x93f(r31)
/* 8049CC9C 48 00 00 18 */ b lbl_8049CCB4
lbl_8049CCA0:
/* 8049CCA0 88 03 04 96 */ lbz r0, 0x496(r3)
/* 8049CCA4 28 00 00 04 */ cmplwi r0, 4
/* 8049CCA8 41 82 00 0C */ beq lbl_8049CCB4
/* 8049CCAC 7F E3 FB 78 */ mr r3, r31
/* 8049CCB0 4B FF E6 C1 */ bl checkReget__9daArrow_cFv
lbl_8049CCB4:
/* 8049CCB4 38 60 00 01 */ li r3, 1
/* 8049CCB8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8049CCBC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8049CCC0 7C 08 03 A6 */ mtlr r0
/* 8049CCC4 38 21 00 10 */ addi r1, r1, 0x10
/* 8049CCC8 4E 80 00 20 */ blr
@@ -1,67 +0,0 @@
lbl_8049CB70:
/* 8049CB70 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8049CB74 7C 08 02 A6 */ mflr r0
/* 8049CB78 90 01 00 24 */ stw r0, 0x24(r1)
/* 8049CB7C 39 61 00 20 */ addi r11, r1, 0x20
/* 8049CB80 4B EC 56 59 */ bl _savegpr_28
/* 8049CB84 7C 7C 1B 78 */ mr r28, r3
/* 8049CB88 88 03 09 44 */ lbz r0, 0x944(r3)
/* 8049CB8C 28 00 00 00 */ cmplwi r0, 0
/* 8049CB90 40 82 00 24 */ bne lbl_8049CBB4
/* 8049CB94 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8049CB98 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8049CB9C 3B C3 0F 38 */ addi r30, r3, 0xf38
/* 8049CBA0 7F C3 F3 78 */ mr r3, r30
/* 8049CBA4 38 9C 05 80 */ addi r4, r28, 0x580
/* 8049CBA8 4B BD 7A B9 */ bl ChkPolySafe__4cBgSFRC13cBgS_PolyInfo
/* 8049CBAC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8049CBB0 40 82 00 14 */ bne lbl_8049CBC4
lbl_8049CBB4:
/* 8049CBB4 38 00 00 01 */ li r0, 1
/* 8049CBB8 98 1C 09 3F */ stb r0, 0x93f(r28)
/* 8049CBBC 38 60 00 01 */ li r3, 1
/* 8049CBC0 48 00 00 88 */ b lbl_8049CC48
lbl_8049CBC4:
/* 8049CBC4 3B A0 00 00 */ li r29, 0
/* 8049CBC8 7F 83 E3 78 */ mr r3, r28
/* 8049CBCC 4B FF E1 C9 */ bl getVibAngle__9daArrow_cFv
/* 8049CBD0 7C 7F 1B 78 */ mr r31, r3
/* 8049CBD4 A8 1C 09 52 */ lha r0, 0x952(r28)
/* 8049CBD8 2C 00 00 00 */ cmpwi r0, 0
/* 8049CBDC 41 82 00 08 */ beq lbl_8049CBE4
/* 8049CBE0 3B A0 00 01 */ li r29, 1
lbl_8049CBE4:
/* 8049CBE4 7F 83 E3 78 */ mr r3, r28
/* 8049CBE8 4B FF D3 D5 */ bl decAlphaBlur__9daArrow_cFv
/* 8049CBEC 7F C3 F3 78 */ mr r3, r30
/* 8049CBF0 38 9C 05 80 */ addi r4, r28, 0x580
/* 8049CBF4 4B BD 7E C9 */ bl ChkMoveBG__4dBgSFRC13cBgS_PolyInfo
/* 8049CBF8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8049CBFC 41 82 00 24 */ beq lbl_8049CC20
/* 8049CC00 7F C3 F3 78 */ mr r3, r30
/* 8049CC04 38 9C 05 80 */ addi r4, r28, 0x580
/* 8049CC08 38 A0 00 01 */ li r5, 1
/* 8049CC0C 38 DC 04 D0 */ addi r6, r28, 0x4d0
/* 8049CC10 38 FC 04 DC */ addi r7, r28, 0x4dc
/* 8049CC14 39 1C 04 E4 */ addi r8, r28, 0x4e4
/* 8049CC18 4B BD 8C 69 */ bl MoveBgTransPos__4dBgSFRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz
/* 8049CC1C 3B A0 00 01 */ li r29, 1
lbl_8049CC20:
/* 8049CC20 2C 1D 00 00 */ cmpwi r29, 0
/* 8049CC24 41 82 00 18 */ beq lbl_8049CC3C
/* 8049CC28 A8 1C 04 DC */ lha r0, 0x4dc(r28)
/* 8049CC2C 7C 00 FA 14 */ add r0, r0, r31
/* 8049CC30 B0 1C 04 E4 */ sth r0, 0x4e4(r28)
/* 8049CC34 7F 83 E3 78 */ mr r3, r28
/* 8049CC38 4B FF E2 2D */ bl setNormalMatrix__9daArrow_cFv
lbl_8049CC3C:
/* 8049CC3C 7F 83 E3 78 */ mr r3, r28
/* 8049CC40 4B FF E7 31 */ bl checkReget__9daArrow_cFv
/* 8049CC44 38 60 00 01 */ li r3, 1
lbl_8049CC48:
/* 8049CC48 39 61 00 20 */ addi r11, r1, 0x20
/* 8049CC4C 4B EC 55 D9 */ bl _restgpr_28
/* 8049CC50 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8049CC54 7C 08 03 A6 */ mtlr r0
/* 8049CC58 38 21 00 20 */ addi r1, r1, 0x20
/* 8049CC5C 4E 80 00 20 */ blr
@@ -1,23 +0,0 @@
lbl_8049CE50:
/* 8049CE50 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8049CE54 7C 08 02 A6 */ mflr r0
/* 8049CE58 90 01 00 14 */ stw r0, 0x14(r1)
/* 8049CE5C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8049CE60 7C 7F 1B 78 */ mr r31, r3
/* 8049CE64 4B FF D1 59 */ bl decAlphaBlur__9daArrow_cFv
/* 8049CE68 A8 7F 09 56 */ lha r3, 0x956(r31)
/* 8049CE6C 2C 03 00 00 */ cmpwi r3, 0
/* 8049CE70 41 82 00 10 */ beq lbl_8049CE80
/* 8049CE74 38 03 FF FF */ addi r0, r3, -1
/* 8049CE78 B0 1F 09 56 */ sth r0, 0x956(r31)
/* 8049CE7C 48 00 00 0C */ b lbl_8049CE88
lbl_8049CE80:
/* 8049CE80 38 00 00 01 */ li r0, 1
/* 8049CE84 98 1F 09 3F */ stb r0, 0x93f(r31)
lbl_8049CE88:
/* 8049CE88 38 60 00 01 */ li r3, 1
/* 8049CE8C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8049CE90 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8049CE94 7C 08 03 A6 */ mtlr r0
/* 8049CE98 38 21 00 10 */ addi r1, r1, 0x10
/* 8049CE9C 4E 80 00 20 */ blr
@@ -1,24 +0,0 @@
lbl_8049AC84:
/* 8049AC84 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8049AC88 7C 08 02 A6 */ mflr r0
/* 8049AC8C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8049AC90 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8049AC94 7C 7F 1B 78 */ mr r31, r3
/* 8049AC98 7C 85 23 78 */ mr r5, r4
/* 8049AC9C 38 00 00 00 */ li r0, 0
/* 8049ACA0 90 01 00 08 */ stw r0, 8(r1)
/* 8049ACA4 38 60 02 21 */ li r3, 0x221
/* 8049ACA8 38 80 00 00 */ li r4, 0
/* 8049ACAC 38 C0 FF FF */ li r6, -1
/* 8049ACB0 38 E0 00 00 */ li r7, 0
/* 8049ACB4 39 00 00 00 */ li r8, 0
/* 8049ACB8 39 20 FF FF */ li r9, -1
/* 8049ACBC 39 40 00 00 */ li r10, 0
/* 8049ACC0 4B B7 F1 45 */ bl fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv
/* 8049ACC4 38 00 00 01 */ li r0, 1
/* 8049ACC8 98 1F 09 3F */ stb r0, 0x93f(r31)
/* 8049ACCC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8049ACD0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8049ACD4 7C 08 03 A6 */ mtlr r0
/* 8049ACD8 38 21 00 20 */ addi r1, r1, 0x20
/* 8049ACDC 4E 80 00 20 */ blr
@@ -1,121 +0,0 @@
lbl_80D444C0:
/* 80D444C0 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80D444C4 7C 08 02 A6 */ mflr r0
/* 80D444C8 90 01 00 54 */ stw r0, 0x54(r1)
/* 80D444CC 39 61 00 50 */ addi r11, r1, 0x50
/* 80D444D0 4B 61 DC F9 */ bl _savegpr_24
/* 80D444D4 7C 7D 1B 78 */ mr r29, r3
/* 80D444D8 3C 60 80 D4 */ lis r3, l_DATA@ha /* 0x80D44B48@ha */
/* 80D444DC 3B E3 4B 48 */ addi r31, r3, l_DATA@l /* 0x80D44B48@l */
/* 80D444E0 C0 1D 04 D0 */ lfs f0, 0x4d0(r29)
/* 80D444E4 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 80D444E8 C0 1D 04 D4 */ lfs f0, 0x4d4(r29)
/* 80D444EC D0 01 00 24 */ stfs f0, 0x24(r1)
/* 80D444F0 C0 1D 04 D8 */ lfs f0, 0x4d8(r29)
/* 80D444F4 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 80D444F8 A8 1D 05 DE */ lha r0, 0x5de(r29)
/* 80D444FC 54 00 0C 3C */ rlwinm r0, r0, 1, 0x10, 0x1e
/* 80D44500 B0 1D 05 DC */ sth r0, 0x5dc(r29)
/* 80D44504 A8 1D 05 DE */ lha r0, 0x5de(r29)
/* 80D44508 54 00 04 3E */ clrlwi r0, r0, 0x10
/* 80D4450C 7C 00 1E 70 */ srawi r0, r0, 3
/* 80D44510 54 00 18 38 */ slwi r0, r0, 3
/* 80D44514 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */
/* 80D44518 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */
/* 80D4451C 7C 23 04 2E */ lfsx f1, r3, r0
/* 80D44520 C0 1F 00 1C */ lfs f0, 0x1c(r31)
/* 80D44524 EC 00 00 72 */ fmuls f0, f0, f1
/* 80D44528 D0 1D 05 D0 */ stfs f0, 0x5d0(r29)
/* 80D4452C A8 1D 05 DC */ lha r0, 0x5dc(r29)
/* 80D44530 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 80D44534 7C 23 04 2E */ lfsx f1, r3, r0
/* 80D44538 C0 1F 00 20 */ lfs f0, 0x20(r31)
/* 80D4453C EC 00 00 72 */ fmuls f0, f0, f1
/* 80D44540 D0 1D 05 D4 */ stfs f0, 0x5d4(r29)
/* 80D44544 A8 1D 04 E6 */ lha r0, 0x4e6(r29)
/* 80D44548 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 80D4454C 7C 03 04 2E */ lfsx f0, r3, r0
/* 80D44550 C0 3D 05 D0 */ lfs f1, 0x5d0(r29)
/* 80D44554 FC 00 00 50 */ fneg f0, f0
/* 80D44558 EC 01 00 32 */ fmuls f0, f1, f0
/* 80D4455C D0 1D 05 D8 */ stfs f0, 0x5d8(r29)
/* 80D44560 A8 1D 04 E6 */ lha r0, 0x4e6(r29)
/* 80D44564 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 80D44568 7C 63 02 14 */ add r3, r3, r0
/* 80D4456C C0 23 00 04 */ lfs f1, 4(r3)
/* 80D44570 C0 1D 05 D0 */ lfs f0, 0x5d0(r29)
/* 80D44574 EC 00 00 72 */ fmuls f0, f0, f1
/* 80D44578 D0 1D 05 D0 */ stfs f0, 0x5d0(r29)
/* 80D4457C A8 7D 05 DE */ lha r3, 0x5de(r29)
/* 80D44580 38 03 04 00 */ addi r0, r3, 0x400
/* 80D44584 B0 1D 05 DE */ sth r0, 0x5de(r29)
/* 80D44588 C0 3D 04 D0 */ lfs f1, 0x4d0(r29)
/* 80D4458C C0 1D 05 D0 */ lfs f0, 0x5d0(r29)
/* 80D44590 EC 01 00 2A */ fadds f0, f1, f0
/* 80D44594 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 80D44598 C0 3D 04 D4 */ lfs f1, 0x4d4(r29)
/* 80D4459C C0 1D 05 D4 */ lfs f0, 0x5d4(r29)
/* 80D445A0 EC 01 00 2A */ fadds f0, f1, f0
/* 80D445A4 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 80D445A8 C0 3D 04 D8 */ lfs f1, 0x4d8(r29)
/* 80D445AC C0 1D 05 D8 */ lfs f0, 0x5d8(r29)
/* 80D445B0 EC 01 00 2A */ fadds f0, f1, f0
/* 80D445B4 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 80D445B8 3B C0 00 00 */ li r30, 0
/* 80D445BC 3B 80 00 00 */ li r28, 0
/* 80D445C0 3B 60 00 00 */ li r27, 0
/* 80D445C4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D445C8 3B 03 61 C0 */ addi r24, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D445CC 3B 3F 00 18 */ addi r25, r31, 0x18
lbl_80D445D0:
/* 80D445D0 80 78 5D 3C */ lwz r3, 0x5d3c(r24)
/* 80D445D4 38 00 00 FF */ li r0, 0xff
/* 80D445D8 90 01 00 08 */ stw r0, 8(r1)
/* 80D445DC 38 80 00 00 */ li r4, 0
/* 80D445E0 90 81 00 0C */ stw r4, 0xc(r1)
/* 80D445E4 38 00 FF FF */ li r0, -1
/* 80D445E8 90 01 00 10 */ stw r0, 0x10(r1)
/* 80D445EC 90 81 00 14 */ stw r4, 0x14(r1)
/* 80D445F0 90 81 00 18 */ stw r4, 0x18(r1)
/* 80D445F4 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80D445F8 3B 5B 05 A8 */ addi r26, r27, 0x5a8
/* 80D445FC 7C 9D D0 2E */ lwzx r4, r29, r26
/* 80D44600 38 A0 00 00 */ li r5, 0
/* 80D44604 7C D9 E2 2E */ lhzx r6, r25, r28
/* 80D44608 38 E1 00 20 */ addi r7, r1, 0x20
/* 80D4460C 39 00 00 00 */ li r8, 0
/* 80D44610 39 3D 04 E4 */ addi r9, r29, 0x4e4
/* 80D44614 39 40 00 00 */ li r10, 0
/* 80D44618 C0 3F 00 24 */ lfs f1, 0x24(r31)
/* 80D4461C 4B 30 8E B1 */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80D44620 7C 7D D1 2E */ stwx r3, r29, r26
/* 80D44624 80 78 5D 3C */ lwz r3, 0x5d3c(r24)
/* 80D44628 38 63 02 10 */ addi r3, r3, 0x210
/* 80D4462C 7C 9D D0 2E */ lwzx r4, r29, r26
/* 80D44630 4B 30 72 E9 */ bl getEmitter__Q213dPa_control_c7level_cFUl
/* 80D44634 7C 7A 1B 79 */ or. r26, r3, r3
/* 80D44638 41 82 00 34 */ beq lbl_80D4466C
/* 80D4463C 4B 2E B4 19 */ bl dComIfGs_wolfeye_effect_check__Fv
/* 80D44640 30 03 FF FF */ addic r0, r3, -1
/* 80D44644 7C 60 01 10 */ subfe r3, r0, r0
/* 80D44648 38 00 00 FF */ li r0, 0xff
/* 80D4464C 7C 00 18 38 */ and r0, r0, r3
/* 80D44650 C0 41 00 28 */ lfs f2, 0x28(r1)
/* 80D44654 C0 21 00 24 */ lfs f1, 0x24(r1)
/* 80D44658 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 80D4465C D0 1A 00 A4 */ stfs f0, 0xa4(r26)
/* 80D44660 D0 3A 00 A8 */ stfs f1, 0xa8(r26)
/* 80D44664 D0 5A 00 AC */ stfs f2, 0xac(r26)
/* 80D44668 98 1A 00 BB */ stb r0, 0xbb(r26)
lbl_80D4466C:
/* 80D4466C 3B DE 00 01 */ addi r30, r30, 1
/* 80D44670 2C 1E 00 02 */ cmpwi r30, 2
/* 80D44674 3B 9C 00 02 */ addi r28, r28, 2
/* 80D44678 3B 7B 00 04 */ addi r27, r27, 4
/* 80D4467C 41 80 FF 54 */ blt lbl_80D445D0
/* 80D44680 39 61 00 50 */ addi r11, r1, 0x50
/* 80D44684 4B 61 DB 91 */ bl _restgpr_24
/* 80D44688 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80D4468C 7C 08 03 A6 */ mtlr r0
/* 80D44690 38 21 00 50 */ addi r1, r1, 0x50
/* 80D44694 4E 80 00 20 */ blr
@@ -1,101 +0,0 @@
lbl_80D5297C:
/* 80D5297C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80D52980 7C 08 02 A6 */ mflr r0
/* 80D52984 90 01 00 24 */ stw r0, 0x24(r1)
/* 80D52988 39 61 00 20 */ addi r11, r1, 0x20
/* 80D5298C 4B 60 F8 49 */ bl _savegpr_27
/* 80D52990 7C 7D 1B 78 */ mr r29, r3
/* 80D52994 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D52998 3B 63 61 C0 */ addi r27, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D5299C 3B FB 4F F8 */ addi r31, r27, 0x4ff8
/* 80D529A0 7F E3 FB 78 */ mr r3, r31
/* 80D529A4 3C 80 80 D5 */ lis r4, l_myName@ha /* 0x80D55994@ha */
/* 80D529A8 38 84 59 94 */ addi r4, r4, l_myName@l /* 0x80D55994@l */
/* 80D529AC 80 84 00 00 */ lwz r4, 0(r4)
/* 80D529B0 38 A0 00 00 */ li r5, 0
/* 80D529B4 38 C0 00 00 */ li r6, 0
/* 80D529B8 4B 2F 51 65 */ bl getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci
/* 80D529BC 7C 7E 1B 78 */ mr r30, r3
/* 80D529C0 2C 1E FF FF */ cmpwi r30, -1
/* 80D529C4 41 82 01 18 */ beq lbl_80D52ADC
/* 80D529C8 7F E3 FB 78 */ mr r3, r31
/* 80D529CC 7F C4 F3 78 */ mr r4, r30
/* 80D529D0 4B 2F 55 8D */ bl getMyNowCutName__16dEvent_manager_cFi
/* 80D529D4 7C 7C 1B 78 */ mr r28, r3
/* 80D529D8 7F E3 FB 78 */ mr r3, r31
/* 80D529DC 7F C4 F3 78 */ mr r4, r30
/* 80D529E0 4B 2F 53 6D */ bl getIsAddvance__16dEvent_manager_cFi
/* 80D529E4 2C 03 00 00 */ cmpwi r3, 0
/* 80D529E8 41 82 00 34 */ beq lbl_80D52A1C
/* 80D529EC 80 9C 00 00 */ lwz r4, 0(r28)
/* 80D529F0 3C 60 30 30 */ lis r3, 0x3030 /* 0x30303031@ha */
/* 80D529F4 38 03 30 31 */ addi r0, r3, 0x3031 /* 0x30303031@l */
/* 80D529F8 7C 04 00 00 */ cmpw r4, r0
/* 80D529FC 41 82 00 08 */ beq lbl_80D52A04
/* 80D52A00 48 00 00 1C */ b lbl_80D52A1C
lbl_80D52A04:
/* 80D52A04 38 7B 4E C8 */ addi r3, r27, 0x4ec8
/* 80D52A08 7F A4 EB 78 */ mr r4, r29
/* 80D52A0C 3C A0 80 04 */ lis r5, dEv_noFinishSkipProc__FPvi@ha /* 0x800428DC@ha */
/* 80D52A10 38 A5 28 DC */ addi r5, r5, dEv_noFinishSkipProc__FPvi@l /* 0x800428DC@l */
/* 80D52A14 38 C0 00 00 */ li r6, 0
/* 80D52A18 4B 2E FE FD */ bl setSkipProc__14dEvt_control_cFPvPFPvi_ii
lbl_80D52A1C:
/* 80D52A1C 80 9C 00 00 */ lwz r4, 0(r28)
/* 80D52A20 3C 60 30 30 */ lis r3, 0x3030 /* 0x30303031@ha */
/* 80D52A24 38 03 30 31 */ addi r0, r3, 0x3031 /* 0x30303031@l */
/* 80D52A28 7C 04 00 00 */ cmpw r4, r0
/* 80D52A2C 41 82 00 08 */ beq lbl_80D52A34
/* 80D52A30 48 00 00 54 */ b lbl_80D52A84
lbl_80D52A34:
/* 80D52A34 38 7B 4E C8 */ addi r3, r27, 0x4ec8
/* 80D52A38 A0 1B 4F A2 */ lhz r0, 0x4fa2(r27)
/* 80D52A3C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80D52A40 41 82 00 38 */ beq lbl_80D52A78
/* 80D52A44 4B 2E FF 65 */ bl onSkipFade__14dEvt_control_cFv
/* 80D52A48 38 00 00 02 */ li r0, 2
/* 80D52A4C 90 1D 05 88 */ stw r0, 0x588(r29)
/* 80D52A50 80 1D 05 88 */ lwz r0, 0x588(r29)
/* 80D52A54 1C 80 00 18 */ mulli r4, r0, 0x18
/* 80D52A58 3C 60 80 D5 */ lis r3, ActionTable__13daTagTWGate_c@ha /* 0x80D55AD0@ha */
/* 80D52A5C 38 03 5A D0 */ addi r0, r3, ActionTable__13daTagTWGate_c@l /* 0x80D55AD0@l */
/* 80D52A60 7C 00 22 14 */ add r0, r0, r4
/* 80D52A64 90 1D 05 84 */ stw r0, 0x584(r29)
/* 80D52A68 7F A3 EB 78 */ mr r3, r29
/* 80D52A6C 81 9D 05 84 */ lwz r12, 0x584(r29)
/* 80D52A70 4B 60 F6 15 */ bl __ptmf_scall
/* 80D52A74 60 00 00 00 */ nop
lbl_80D52A78:
/* 80D52A78 7F E3 FB 78 */ mr r3, r31
/* 80D52A7C 7F C4 F3 78 */ mr r4, r30
/* 80D52A80 4B 2F 56 FD */ bl cutEnd__16dEvent_manager_cFi
lbl_80D52A84:
/* 80D52A84 A0 1D 00 F8 */ lhz r0, 0xf8(r29)
/* 80D52A88 28 00 00 02 */ cmplwi r0, 2
/* 80D52A8C 40 82 00 50 */ bne lbl_80D52ADC
/* 80D52A90 A8 9D 05 DC */ lha r4, 0x5dc(r29)
/* 80D52A94 2C 04 FF FF */ cmpwi r4, -1
/* 80D52A98 41 82 00 44 */ beq lbl_80D52ADC
/* 80D52A9C 7F E3 FB 78 */ mr r3, r31
/* 80D52AA0 4B 2F 4F D9 */ bl endCheck__16dEvent_manager_cFs
/* 80D52AA4 2C 03 00 00 */ cmpwi r3, 0
/* 80D52AA8 41 82 00 34 */ beq lbl_80D52ADC
/* 80D52AAC 38 00 00 02 */ li r0, 2
/* 80D52AB0 90 1D 05 88 */ stw r0, 0x588(r29)
/* 80D52AB4 80 1D 05 88 */ lwz r0, 0x588(r29)
/* 80D52AB8 1C 80 00 18 */ mulli r4, r0, 0x18
/* 80D52ABC 3C 60 80 D5 */ lis r3, ActionTable__13daTagTWGate_c@ha /* 0x80D55AD0@ha */
/* 80D52AC0 38 03 5A D0 */ addi r0, r3, ActionTable__13daTagTWGate_c@l /* 0x80D55AD0@l */
/* 80D52AC4 7C 00 22 14 */ add r0, r0, r4
/* 80D52AC8 90 1D 05 84 */ stw r0, 0x584(r29)
/* 80D52ACC 7F A3 EB 78 */ mr r3, r29
/* 80D52AD0 81 9D 05 84 */ lwz r12, 0x584(r29)
/* 80D52AD4 4B 60 F5 B1 */ bl __ptmf_scall
/* 80D52AD8 60 00 00 00 */ nop
lbl_80D52ADC:
/* 80D52ADC 39 61 00 20 */ addi r11, r1, 0x20
/* 80D52AE0 4B 60 F7 41 */ bl _restgpr_27
/* 80D52AE4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80D52AE8 7C 08 03 A6 */ mtlr r0
/* 80D52AEC 38 21 00 20 */ addi r1, r1, 0x20
/* 80D52AF0 4E 80 00 20 */ blr
@@ -1,99 +0,0 @@
lbl_805A5974:
/* 805A5974 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 805A5978 7C 08 02 A6 */ mflr r0
/* 805A597C 90 01 00 24 */ stw r0, 0x24(r1)
/* 805A5980 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 805A5984 93 C1 00 18 */ stw r30, 0x18(r1)
/* 805A5988 7C 7F 1B 78 */ mr r31, r3
/* 805A598C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A5990 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A5994 88 1E 4F AD */ lbz r0, 0x4fad(r30)
/* 805A5998 28 00 00 00 */ cmplwi r0, 0
/* 805A599C 40 82 01 30 */ bne lbl_805A5ACC
/* 805A59A0 A0 1F 00 FA */ lhz r0, 0xfa(r31)
/* 805A59A4 60 00 00 01 */ ori r0, r0, 1
/* 805A59A8 B0 1F 00 FA */ sth r0, 0xfa(r31)
/* 805A59AC 80 7E 5D AC */ lwz r3, 0x5dac(r30)
/* 805A59B0 81 83 06 28 */ lwz r12, 0x628(r3)
/* 805A59B4 81 8C 00 44 */ lwz r12, 0x44(r12)
/* 805A59B8 7D 89 03 A6 */ mtctr r12
/* 805A59BC 4E 80 04 21 */ bctrl
/* 805A59C0 28 03 00 00 */ cmplwi r3, 0
/* 805A59C4 41 82 00 18 */ beq lbl_805A59DC
/* 805A59C8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A59CC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A59D0 80 03 5F 18 */ lwz r0, 0x5f18(r3)
/* 805A59D4 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb
/* 805A59D8 41 82 00 F4 */ beq lbl_805A5ACC
lbl_805A59DC:
/* 805A59DC 88 1F 05 6A */ lbz r0, 0x56a(r31)
/* 805A59E0 28 00 00 00 */ cmplwi r0, 0
/* 805A59E4 41 82 00 44 */ beq lbl_805A5A28
/* 805A59E8 88 BF 05 6C */ lbz r5, 0x56c(r31)
/* 805A59EC 28 05 00 FF */ cmplwi r5, 0xff
/* 805A59F0 41 82 00 24 */ beq lbl_805A5A14
/* 805A59F4 7F E3 FB 78 */ mr r3, r31
/* 805A59F8 A8 9F 05 76 */ lha r4, 0x576(r31)
/* 805A59FC 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */
/* 805A5A00 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */
/* 805A5A04 38 E0 00 00 */ li r7, 0
/* 805A5A08 39 00 00 01 */ li r8, 1
/* 805A5A0C 4B A7 5C 71 */ bl fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs
/* 805A5A10 48 00 00 BC */ b lbl_805A5ACC
lbl_805A5A14:
/* 805A5A14 7F E3 FB 78 */ mr r3, r31
/* 805A5A18 38 80 00 00 */ li r4, 0
/* 805A5A1C 38 A0 00 00 */ li r5, 0
/* 805A5A20 4B A7 57 7D */ bl fopAcM_orderSpeakEvent__FP10fopAc_ac_cUsUs
/* 805A5A24 48 00 00 A8 */ b lbl_805A5ACC
lbl_805A5A28:
/* 805A5A28 80 7E 5D AC */ lwz r3, 0x5dac(r30)
/* 805A5A2C 80 03 05 70 */ lwz r0, 0x570(r3)
/* 805A5A30 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13
/* 805A5A34 41 82 00 1C */ beq lbl_805A5A50
/* 805A5A38 38 7E 4E 00 */ addi r3, r30, 0x4e00
/* 805A5A3C 3C 80 80 5A */ lis r4, d_a_tag_mhint__stringBase0@ha /* 0x805A604C@ha */
/* 805A5A40 38 84 60 4C */ addi r4, r4, d_a_tag_mhint__stringBase0@l /* 0x805A604C@l */
/* 805A5A44 4B DC 2F 51 */ bl strcmp
/* 805A5A48 2C 03 00 00 */ cmpwi r3, 0
/* 805A5A4C 40 82 00 80 */ bne lbl_805A5ACC
lbl_805A5A50:
/* 805A5A50 38 7E 5B 48 */ addi r3, r30, 0x5b48
/* 805A5A54 7F E4 FB 78 */ mr r4, r31
/* 805A5A58 38 A0 01 FF */ li r5, 0x1ff
/* 805A5A5C 4B AC DE A1 */ bl request__10dAttHint_cFP10fopAc_ac_ci
/* 805A5A60 88 1F 05 6F */ lbz r0, 0x56f(r31)
/* 805A5A64 28 00 00 00 */ cmplwi r0, 0
/* 805A5A68 40 82 00 64 */ bne lbl_805A5ACC
/* 805A5A6C 38 00 00 01 */ li r0, 1
/* 805A5A70 98 1F 05 6F */ stb r0, 0x56f(r31)
/* 805A5A74 A0 1F 05 7E */ lhz r0, 0x57e(r31)
/* 805A5A78 28 00 00 00 */ cmplwi r0, 0
/* 805A5A7C 40 82 00 48 */ bne lbl_805A5AC4
/* 805A5A80 38 00 00 0E */ li r0, 0xe
/* 805A5A84 90 01 00 08 */ stw r0, 8(r1)
/* 805A5A88 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 805A5A8C 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 805A5A90 80 63 00 00 */ lwz r3, 0(r3)
/* 805A5A94 38 81 00 08 */ addi r4, r1, 8
/* 805A5A98 38 A0 00 00 */ li r5, 0
/* 805A5A9C 38 C0 00 00 */ li r6, 0
/* 805A5AA0 38 E0 00 00 */ li r7, 0
/* 805A5AA4 3D 00 80 5A */ lis r8, lit_3803@ha /* 0x805A6040@ha */
/* 805A5AA8 C0 28 60 40 */ lfs f1, lit_3803@l(r8) /* 0x805A6040@l */
/* 805A5AAC FC 40 08 90 */ fmr f2, f1
/* 805A5AB0 3D 00 80 5A */ lis r8, lit_3804@ha /* 0x805A6044@ha */
/* 805A5AB4 C0 68 60 44 */ lfs f3, lit_3804@l(r8) /* 0x805A6044@l */
/* 805A5AB8 FC 80 18 90 */ fmr f4, f3
/* 805A5ABC 39 00 00 00 */ li r8, 0
/* 805A5AC0 4B D0 5E C5 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
lbl_805A5AC4:
/* 805A5AC4 38 00 00 3C */ li r0, 0x3c
/* 805A5AC8 B0 1F 05 7E */ sth r0, 0x57e(r31)
lbl_805A5ACC:
/* 805A5ACC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 805A5AD0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 805A5AD4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 805A5AD8 7C 08 03 A6 */ mtlr r0
/* 805A5ADC 38 21 00 20 */ addi r1, r1, 0x20
/* 805A5AE0 4E 80 00 20 */ blr
@@ -1,360 +0,0 @@
lbl_805A5AE4:
/* 805A5AE4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 805A5AE8 7C 08 02 A6 */ mflr r0
/* 805A5AEC 90 01 00 34 */ stw r0, 0x34(r1)
/* 805A5AF0 39 61 00 30 */ addi r11, r1, 0x30
/* 805A5AF4 4B DB C6 E9 */ bl _savegpr_29
/* 805A5AF8 7C 7D 1B 78 */ mr r29, r3
/* 805A5AFC 3C 60 80 5A */ lis r3, lit_3741@ha /* 0x805A6034@ha */
/* 805A5B00 3B E3 60 34 */ addi r31, r3, lit_3741@l /* 0x805A6034@l */
/* 805A5B04 3C 60 80 45 */ lis r3, m_midnaActor__9daPy_py_c@ha /* 0x80451018@ha */
/* 805A5B08 83 C3 10 18 */ lwz r30, m_midnaActor__9daPy_py_c@l(r3) /* 0x80451018@l */
/* 805A5B0C 28 1E 00 00 */ cmplwi r30, 0
/* 805A5B10 40 82 00 0C */ bne lbl_805A5B1C
/* 805A5B14 38 60 00 01 */ li r3, 1
/* 805A5B18 48 00 04 D4 */ b lbl_805A5FEC
lbl_805A5B1C:
/* 805A5B1C A0 7D 05 7E */ lhz r3, 0x57e(r29)
/* 805A5B20 28 03 00 00 */ cmplwi r3, 0
/* 805A5B24 41 82 00 0C */ beq lbl_805A5B30
/* 805A5B28 38 03 FF FF */ addi r0, r3, -1
/* 805A5B2C B0 1D 05 7E */ sth r0, 0x57e(r29)
lbl_805A5B30:
/* 805A5B30 88 1D 05 6D */ lbz r0, 0x56d(r29)
/* 805A5B34 28 00 00 FF */ cmplwi r0, 0xff
/* 805A5B38 40 82 00 40 */ bne lbl_805A5B78
/* 805A5B3C C0 1E 05 50 */ lfs f0, 0x550(r30)
/* 805A5B40 D0 1D 05 50 */ stfs f0, 0x550(r29)
/* 805A5B44 C0 1E 05 54 */ lfs f0, 0x554(r30)
/* 805A5B48 D0 1D 05 54 */ stfs f0, 0x554(r29)
/* 805A5B4C C0 1E 05 58 */ lfs f0, 0x558(r30)
/* 805A5B50 D0 1D 05 58 */ stfs f0, 0x558(r29)
/* 805A5B54 A8 1E 04 E6 */ lha r0, 0x4e6(r30)
/* 805A5B58 B0 1D 04 E6 */ sth r0, 0x4e6(r29)
/* 805A5B5C C0 1D 05 50 */ lfs f0, 0x550(r29)
/* 805A5B60 D0 1D 05 38 */ stfs f0, 0x538(r29)
/* 805A5B64 C0 1D 05 54 */ lfs f0, 0x554(r29)
/* 805A5B68 D0 1D 05 3C */ stfs f0, 0x53c(r29)
/* 805A5B6C C0 1D 05 58 */ lfs f0, 0x558(r29)
/* 805A5B70 D0 1D 05 40 */ stfs f0, 0x540(r29)
/* 805A5B74 48 00 00 1C */ b lbl_805A5B90
lbl_805A5B78:
/* 805A5B78 7F A3 EB 78 */ mr r3, r29
/* 805A5B7C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A5B80 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A5B84 80 84 5D AC */ lwz r4, 0x5dac(r4)
/* 805A5B88 4B A7 4B 89 */ bl fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c
/* 805A5B8C B0 7D 04 E6 */ sth r3, 0x4e6(r29)
lbl_805A5B90:
/* 805A5B90 A0 1D 00 F8 */ lhz r0, 0xf8(r29)
/* 805A5B94 28 00 00 02 */ cmplwi r0, 2
/* 805A5B98 40 82 00 44 */ bne lbl_805A5BDC
/* 805A5B9C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A5BA0 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A5BA4 38 7E 4F F8 */ addi r3, r30, 0x4ff8
/* 805A5BA8 A8 9D 05 76 */ lha r4, 0x576(r29)
/* 805A5BAC 4B AA 1E CD */ bl endCheck__16dEvent_manager_cFs
/* 805A5BB0 2C 03 00 00 */ cmpwi r3, 0
/* 805A5BB4 41 82 04 1C */ beq lbl_805A5FD0
/* 805A5BB8 38 7E 4E C8 */ addi r3, r30, 0x4ec8
/* 805A5BBC 4B A9 C8 AD */ bl reset__14dEvt_control_cFv
/* 805A5BC0 7F A3 EB 78 */ mr r3, r29
/* 805A5BC4 38 80 00 03 */ li r4, 3
/* 805A5BC8 38 A0 00 00 */ li r5, 0
/* 805A5BCC 4B A7 55 D1 */ bl fopAcM_orderSpeakEvent__FP10fopAc_ac_cUsUs
/* 805A5BD0 38 00 00 01 */ li r0, 1
/* 805A5BD4 98 1D 05 70 */ stb r0, 0x570(r29)
/* 805A5BD8 48 00 03 F8 */ b lbl_805A5FD0
lbl_805A5BDC:
/* 805A5BDC 28 00 00 01 */ cmplwi r0, 1
/* 805A5BE0 40 82 02 40 */ bne lbl_805A5E20
/* 805A5BE4 38 00 00 00 */ li r0, 0
/* 805A5BE8 88 7E 08 4E */ lbz r3, 0x84e(r30)
/* 805A5BEC 28 03 00 02 */ cmplwi r3, 2
/* 805A5BF0 41 82 00 0C */ beq lbl_805A5BFC
/* 805A5BF4 28 03 00 01 */ cmplwi r3, 1
/* 805A5BF8 40 82 00 08 */ bne lbl_805A5C00
lbl_805A5BFC:
/* 805A5BFC 38 00 00 01 */ li r0, 1
lbl_805A5C00:
/* 805A5C00 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 805A5C04 40 82 03 CC */ bne lbl_805A5FD0
/* 805A5C08 88 1D 05 6E */ lbz r0, 0x56e(r29)
/* 805A5C0C 28 00 00 00 */ cmplwi r0, 0
/* 805A5C10 40 82 00 70 */ bne lbl_805A5C80
/* 805A5C14 38 7D 05 80 */ addi r3, r29, 0x580
/* 805A5C18 7F A4 EB 78 */ mr r4, r29
/* 805A5C1C A8 1D 04 E8 */ lha r0, 0x4e8(r29)
/* 805A5C20 54 05 04 3E */ clrlwi r5, r0, 0x10
/* 805A5C24 38 C0 00 00 */ li r6, 0
/* 805A5C28 38 E0 00 00 */ li r7, 0
/* 805A5C2C 4B CA 43 65 */ bl init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c
/* 805A5C30 38 00 00 01 */ li r0, 1
/* 805A5C34 98 1D 05 6E */ stb r0, 0x56e(r29)
/* 805A5C38 38 00 00 10 */ li r0, 0x10
/* 805A5C3C 90 01 00 0C */ stw r0, 0xc(r1)
/* 805A5C40 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 805A5C44 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 805A5C48 80 63 00 00 */ lwz r3, 0(r3)
/* 805A5C4C 38 81 00 0C */ addi r4, r1, 0xc
/* 805A5C50 38 A0 00 00 */ li r5, 0
/* 805A5C54 38 C0 00 00 */ li r6, 0
/* 805A5C58 38 E0 00 00 */ li r7, 0
/* 805A5C5C C0 3F 00 0C */ lfs f1, 0xc(r31)
/* 805A5C60 FC 40 08 90 */ fmr f2, f1
/* 805A5C64 C0 7F 00 10 */ lfs f3, 0x10(r31)
/* 805A5C68 FC 80 18 90 */ fmr f4, f3
/* 805A5C6C 39 00 00 00 */ li r8, 0
/* 805A5C70 4B D0 5D 15 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
/* 805A5C74 38 00 00 00 */ li r0, 0
/* 805A5C78 98 1D 05 71 */ stb r0, 0x571(r29)
/* 805A5C7C 48 00 03 54 */ b lbl_805A5FD0
lbl_805A5C80:
/* 805A5C80 38 7D 05 80 */ addi r3, r29, 0x580
/* 805A5C84 7F A4 EB 78 */ mr r4, r29
/* 805A5C88 38 A0 00 00 */ li r5, 0
/* 805A5C8C 38 C0 00 00 */ li r6, 0
/* 805A5C90 4B CA 46 49 */ bl doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci
/* 805A5C94 2C 03 00 00 */ cmpwi r3, 0
/* 805A5C98 41 82 03 38 */ beq lbl_805A5FD0
/* 805A5C9C 38 7D 05 80 */ addi r3, r29, 0x580
/* 805A5CA0 38 81 00 10 */ addi r4, r1, 0x10
/* 805A5CA4 4B CA 48 85 */ bl getEventId__10dMsgFlow_cFPi
/* 805A5CA8 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 805A5CAC 28 00 00 07 */ cmplwi r0, 7
/* 805A5CB0 40 82 00 14 */ bne lbl_805A5CC4
/* 805A5CB4 38 00 00 01 */ li r0, 1
/* 805A5CB8 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */
/* 805A5CBC 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */
/* 805A5CC0 98 03 00 C1 */ stb r0, 0xc1(r3)
lbl_805A5CC4:
/* 805A5CC4 88 1D 05 71 */ lbz r0, 0x571(r29)
/* 805A5CC8 28 00 00 00 */ cmplwi r0, 0
/* 805A5CCC 40 82 00 48 */ bne lbl_805A5D14
/* 805A5CD0 38 00 00 01 */ li r0, 1
/* 805A5CD4 98 1D 05 71 */ stb r0, 0x571(r29)
/* 805A5CD8 38 00 00 11 */ li r0, 0x11
/* 805A5CDC 90 01 00 08 */ stw r0, 8(r1)
/* 805A5CE0 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 805A5CE4 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 805A5CE8 80 63 00 00 */ lwz r3, 0(r3)
/* 805A5CEC 38 81 00 08 */ addi r4, r1, 8
/* 805A5CF0 38 A0 00 00 */ li r5, 0
/* 805A5CF4 38 C0 00 00 */ li r6, 0
/* 805A5CF8 38 E0 00 00 */ li r7, 0
/* 805A5CFC C0 3F 00 0C */ lfs f1, 0xc(r31)
/* 805A5D00 FC 40 08 90 */ fmr f2, f1
/* 805A5D04 C0 7F 00 10 */ lfs f3, 0x10(r31)
/* 805A5D08 FC 80 18 90 */ fmr f4, f3
/* 805A5D0C 39 00 00 00 */ li r8, 0
/* 805A5D10 4B D0 5C 75 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
lbl_805A5D14:
/* 805A5D14 38 60 00 00 */ li r3, 0
/* 805A5D18 80 1E 08 94 */ lwz r0, 0x894(r30)
/* 805A5D1C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 805A5D20 40 82 00 20 */ bne lbl_805A5D40
/* 805A5D24 88 1E 08 4E */ lbz r0, 0x84e(r30)
/* 805A5D28 28 00 00 03 */ cmplwi r0, 3
/* 805A5D2C 41 82 00 14 */ beq lbl_805A5D40
/* 805A5D30 28 00 00 04 */ cmplwi r0, 4
/* 805A5D34 41 82 00 0C */ beq lbl_805A5D40
/* 805A5D38 28 00 00 02 */ cmplwi r0, 2
/* 805A5D3C 40 82 00 08 */ bne lbl_805A5D44
lbl_805A5D40:
/* 805A5D40 38 60 00 01 */ li r3, 1
lbl_805A5D44:
/* 805A5D44 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 805A5D48 41 82 00 58 */ beq lbl_805A5DA0
/* 805A5D4C 38 00 00 04 */ li r0, 4
/* 805A5D50 98 1E 08 4E */ stb r0, 0x84e(r30)
/* 805A5D54 38 80 00 00 */ li r4, 0
/* 805A5D58 A0 1E 05 E4 */ lhz r0, 0x5e4(r30)
/* 805A5D5C 28 00 02 1C */ cmplwi r0, 0x21c
/* 805A5D60 40 82 00 38 */ bne lbl_805A5D98
/* 805A5D64 80 7E 05 78 */ lwz r3, 0x578(r30)
/* 805A5D68 38 A0 00 01 */ li r5, 1
/* 805A5D6C 88 03 00 11 */ lbz r0, 0x11(r3)
/* 805A5D70 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 805A5D74 40 82 00 18 */ bne lbl_805A5D8C
/* 805A5D78 C0 3F 00 14 */ lfs f1, 0x14(r31)
/* 805A5D7C C0 03 00 18 */ lfs f0, 0x18(r3)
/* 805A5D80 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 805A5D84 41 82 00 08 */ beq lbl_805A5D8C
/* 805A5D88 7C 85 23 78 */ mr r5, r4
lbl_805A5D8C:
/* 805A5D8C 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 805A5D90 41 82 00 08 */ beq lbl_805A5D98
/* 805A5D94 38 80 00 01 */ li r4, 1
lbl_805A5D98:
/* 805A5D98 7C 80 23 78 */ mr r0, r4
/* 805A5D9C 48 00 00 08 */ b lbl_805A5DA4
lbl_805A5DA0:
/* 805A5DA0 38 00 00 01 */ li r0, 1
lbl_805A5DA4:
/* 805A5DA4 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 805A5DA8 41 82 02 28 */ beq lbl_805A5FD0
/* 805A5DAC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A5DB0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A5DB4 38 63 4E C8 */ addi r3, r3, 0x4ec8
/* 805A5DB8 4B A9 C6 B1 */ bl reset__14dEvt_control_cFv
/* 805A5DBC 38 00 00 00 */ li r0, 0
/* 805A5DC0 98 1D 05 70 */ stb r0, 0x570(r29)
/* 805A5DC4 88 1D 05 72 */ lbz r0, 0x572(r29)
/* 805A5DC8 28 00 00 00 */ cmplwi r0, 0
/* 805A5DCC 40 82 00 1C */ bne lbl_805A5DE8
/* 805A5DD0 88 1D 05 6B */ lbz r0, 0x56b(r29)
/* 805A5DD4 28 00 00 00 */ cmplwi r0, 0
/* 805A5DD8 41 82 01 F8 */ beq lbl_805A5FD0
/* 805A5DDC 88 1D 05 69 */ lbz r0, 0x569(r29)
/* 805A5DE0 28 00 00 FF */ cmplwi r0, 0xff
/* 805A5DE4 41 82 01 EC */ beq lbl_805A5FD0
lbl_805A5DE8:
/* 805A5DE8 88 1D 05 6B */ lbz r0, 0x56b(r29)
/* 805A5DEC 28 00 00 00 */ cmplwi r0, 0
/* 805A5DF0 41 82 00 1C */ beq lbl_805A5E0C
/* 805A5DF4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A5DF8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A5DFC 88 9D 05 69 */ lbz r4, 0x569(r29)
/* 805A5E00 88 1D 04 BA */ lbz r0, 0x4ba(r29)
/* 805A5E04 7C 05 07 74 */ extsb r5, r0
/* 805A5E08 4B A8 F3 F9 */ bl onSwitch__10dSv_info_cFii
lbl_805A5E0C:
/* 805A5E0C 7F A3 EB 78 */ mr r3, r29
/* 805A5E10 4B A7 3E 6D */ bl fopAcM_delete__FP10fopAc_ac_c
/* 805A5E14 A0 1D 05 7A */ lhz r0, 0x57a(r29)
/* 805A5E18 B0 1D 05 78 */ sth r0, 0x578(r29)
/* 805A5E1C 48 00 01 B4 */ b lbl_805A5FD0
lbl_805A5E20:
/* 805A5E20 88 1D 05 70 */ lbz r0, 0x570(r29)
/* 805A5E24 28 00 00 00 */ cmplwi r0, 0
/* 805A5E28 41 82 00 28 */ beq lbl_805A5E50
/* 805A5E2C A0 1D 00 FA */ lhz r0, 0xfa(r29)
/* 805A5E30 60 00 00 01 */ ori r0, r0, 1
/* 805A5E34 B0 1D 00 FA */ sth r0, 0xfa(r29)
/* 805A5E38 7F A3 EB 78 */ mr r3, r29
/* 805A5E3C 38 80 00 03 */ li r4, 3
/* 805A5E40 38 A0 00 00 */ li r5, 0
/* 805A5E44 4B A7 53 59 */ bl fopAcM_orderSpeakEvent__FP10fopAc_ac_cUsUs
/* 805A5E48 38 60 00 01 */ li r3, 1
/* 805A5E4C 48 00 01 A0 */ b lbl_805A5FEC
lbl_805A5E50:
/* 805A5E50 A0 1D 05 7C */ lhz r0, 0x57c(r29)
/* 805A5E54 28 00 03 FF */ cmplwi r0, 0x3ff
/* 805A5E58 41 82 00 34 */ beq lbl_805A5E8C
/* 805A5E5C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A5E60 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A5E64 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 805A5E68 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e
/* 805A5E6C 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 805A5E70 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 805A5E74 7C 84 02 2E */ lhzx r4, r4, r0
/* 805A5E78 4B A8 EB 45 */ bl isEventBit__11dSv_event_cCFUs
/* 805A5E7C 2C 03 00 00 */ cmpwi r3, 0
/* 805A5E80 41 82 00 0C */ beq lbl_805A5E8C
/* 805A5E84 38 60 00 01 */ li r3, 1
/* 805A5E88 48 00 01 64 */ b lbl_805A5FEC
lbl_805A5E8C:
/* 805A5E8C 88 9D 05 69 */ lbz r4, 0x569(r29)
/* 805A5E90 28 04 00 FF */ cmplwi r4, 0xff
/* 805A5E94 41 82 00 30 */ beq lbl_805A5EC4
/* 805A5E98 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A5E9C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A5EA0 88 1D 04 BA */ lbz r0, 0x4ba(r29)
/* 805A5EA4 7C 05 07 74 */ extsb r5, r0
/* 805A5EA8 4B A8 F4 B9 */ bl isSwitch__10dSv_info_cCFii
/* 805A5EAC 2C 03 00 00 */ cmpwi r3, 0
/* 805A5EB0 41 82 00 14 */ beq lbl_805A5EC4
/* 805A5EB4 7F A3 EB 78 */ mr r3, r29
/* 805A5EB8 4B A7 3D C5 */ bl fopAcM_delete__FP10fopAc_ac_c
/* 805A5EBC 38 60 00 01 */ li r3, 1
/* 805A5EC0 48 00 01 2C */ b lbl_805A5FEC
lbl_805A5EC4:
/* 805A5EC4 38 00 00 00 */ li r0, 0
/* 805A5EC8 98 1D 05 6E */ stb r0, 0x56e(r29)
/* 805A5ECC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A5ED0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A5ED4 80 83 5D AC */ lwz r4, 0x5dac(r3)
/* 805A5ED8 C0 1D 04 D4 */ lfs f0, 0x4d4(r29)
/* 805A5EDC C0 24 04 D4 */ lfs f1, 0x4d4(r4)
/* 805A5EE0 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 805A5EE4 4C 40 13 82 */ cror 2, 0, 2
/* 805A5EE8 40 82 00 E0 */ bne lbl_805A5FC8
/* 805A5EEC C0 1D 05 D0 */ lfs f0, 0x5d0(r29)
/* 805A5EF0 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 805A5EF4 4C 41 13 82 */ cror 2, 1, 2
/* 805A5EF8 40 82 00 D0 */ bne lbl_805A5FC8
/* 805A5EFC 7F A3 EB 78 */ mr r3, r29
/* 805A5F00 4B A7 4B 95 */ bl fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c
/* 805A5F04 C0 1D 05 CC */ lfs f0, 0x5cc(r29)
/* 805A5F08 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 805A5F0C 40 80 00 BC */ bge lbl_805A5FC8
/* 805A5F10 A0 1D 05 74 */ lhz r0, 0x574(r29)
/* 805A5F14 28 00 03 FF */ cmplwi r0, 0x3ff
/* 805A5F18 41 82 00 2C */ beq lbl_805A5F44
/* 805A5F1C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A5F20 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A5F24 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 805A5F28 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e
/* 805A5F2C 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 805A5F30 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 805A5F34 7C 84 02 2E */ lhzx r4, r4, r0
/* 805A5F38 4B A8 EA 85 */ bl isEventBit__11dSv_event_cCFUs
/* 805A5F3C 2C 03 00 00 */ cmpwi r3, 0
/* 805A5F40 41 82 00 7C */ beq lbl_805A5FBC
lbl_805A5F44:
/* 805A5F44 88 9D 05 68 */ lbz r4, 0x568(r29)
/* 805A5F48 28 04 00 FF */ cmplwi r4, 0xff
/* 805A5F4C 41 82 00 20 */ beq lbl_805A5F6C
/* 805A5F50 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A5F54 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A5F58 88 1D 04 BA */ lbz r0, 0x4ba(r29)
/* 805A5F5C 7C 05 07 74 */ extsb r5, r0
/* 805A5F60 4B A8 F4 01 */ bl isSwitch__10dSv_info_cCFii
/* 805A5F64 2C 03 00 00 */ cmpwi r3, 0
/* 805A5F68 41 82 00 54 */ beq lbl_805A5FBC
lbl_805A5F6C:
/* 805A5F6C A0 9D 05 78 */ lhz r4, 0x578(r29)
/* 805A5F70 28 04 01 FF */ cmplwi r4, 0x1ff
/* 805A5F74 41 82 00 28 */ beq lbl_805A5F9C
/* 805A5F78 28 04 00 00 */ cmplwi r4, 0
/* 805A5F7C 41 82 00 20 */ beq lbl_805A5F9C
/* 805A5F80 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A5F84 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A5F88 88 03 4F AD */ lbz r0, 0x4fad(r3)
/* 805A5F8C 28 00 00 00 */ cmplwi r0, 0
/* 805A5F90 40 82 00 0C */ bne lbl_805A5F9C
/* 805A5F94 38 04 FF FF */ addi r0, r4, -1
/* 805A5F98 B0 1D 05 78 */ sth r0, 0x578(r29)
lbl_805A5F9C:
/* 805A5F9C A0 1D 05 78 */ lhz r0, 0x578(r29)
/* 805A5FA0 28 00 00 00 */ cmplwi r0, 0
/* 805A5FA4 41 82 00 0C */ beq lbl_805A5FB0
/* 805A5FA8 28 00 01 FF */ cmplwi r0, 0x1ff
/* 805A5FAC 40 82 00 24 */ bne lbl_805A5FD0
lbl_805A5FB0:
/* 805A5FB0 7F A3 EB 78 */ mr r3, r29
/* 805A5FB4 4B FF F9 C1 */ bl eventOrder__12daTagMhint_cFv
/* 805A5FB8 48 00 00 18 */ b lbl_805A5FD0
lbl_805A5FBC:
/* 805A5FBC A0 1D 05 7A */ lhz r0, 0x57a(r29)
/* 805A5FC0 B0 1D 05 78 */ sth r0, 0x578(r29)
/* 805A5FC4 48 00 00 0C */ b lbl_805A5FD0
lbl_805A5FC8:
/* 805A5FC8 A0 1D 05 7A */ lhz r0, 0x57a(r29)
/* 805A5FCC B0 1D 05 78 */ sth r0, 0x578(r29)
lbl_805A5FD0:
/* 805A5FD0 A0 1D 00 FA */ lhz r0, 0xfa(r29)
/* 805A5FD4 54 00 07 FE */ clrlwi r0, r0, 0x1f
/* 805A5FD8 2C 00 00 01 */ cmpwi r0, 1
/* 805A5FDC 41 82 00 0C */ beq lbl_805A5FE8
/* 805A5FE0 38 00 00 00 */ li r0, 0
/* 805A5FE4 98 1D 05 6F */ stb r0, 0x56f(r29)
lbl_805A5FE8:
/* 805A5FE8 38 60 00 01 */ li r3, 1
lbl_805A5FEC:
/* 805A5FEC 39 61 00 30 */ addi r11, r1, 0x30
/* 805A5FF0 4B DB C2 39 */ bl _restgpr_29
/* 805A5FF4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 805A5FF8 7C 08 03 A6 */ mtlr r0
/* 805A5FFC 38 21 00 30 */ addi r1, r1, 0x30
/* 805A6000 4E 80 00 20 */ blr
@@ -1,129 +0,0 @@
lbl_805A6138:
/* 805A6138 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 805A613C 7C 08 02 A6 */ mflr r0
/* 805A6140 90 01 00 24 */ stw r0, 0x24(r1)
/* 805A6144 39 61 00 20 */ addi r11, r1, 0x20
/* 805A6148 4B DB C0 95 */ bl _savegpr_29
/* 805A614C 7C 7F 1B 78 */ mr r31, r3
/* 805A6150 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 805A6154 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 805A6158 40 82 00 28 */ bne lbl_805A6180
/* 805A615C 7F E0 FB 79 */ or. r0, r31, r31
/* 805A6160 41 82 00 14 */ beq lbl_805A6174
/* 805A6164 7C 1D 03 78 */ mr r29, r0
/* 805A6168 4B A7 29 FD */ bl __ct__10fopAc_ac_cFv
/* 805A616C 38 7D 05 74 */ addi r3, r29, 0x574
/* 805A6170 4B CA 3D 91 */ bl __ct__10dMsgFlow_cFv
lbl_805A6174:
/* 805A6174 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 805A6178 60 00 00 08 */ ori r0, r0, 8
/* 805A617C 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_805A6180:
/* 805A6180 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 805A6184 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f
/* 805A6188 98 1F 05 6B */ stb r0, 0x56b(r31)
/* 805A618C 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 805A6190 54 00 47 3E */ rlwinm r0, r0, 8, 0x1c, 0x1f
/* 805A6194 98 1F 05 6A */ stb r0, 0x56a(r31)
/* 805A6198 88 1F 05 6A */ lbz r0, 0x56a(r31)
/* 805A619C 28 00 00 01 */ cmplwi r0, 1
/* 805A61A0 41 82 00 0C */ beq lbl_805A61AC
/* 805A61A4 28 00 00 02 */ cmplwi r0, 2
/* 805A61A8 40 82 00 24 */ bne lbl_805A61CC
lbl_805A61AC:
/* 805A61AC 38 00 00 01 */ li r0, 1
/* 805A61B0 98 1F 05 6C */ stb r0, 0x56c(r31)
/* 805A61B4 88 1F 05 6A */ lbz r0, 0x56a(r31)
/* 805A61B8 28 00 00 02 */ cmplwi r0, 2
/* 805A61BC 40 82 00 18 */ bne lbl_805A61D4
/* 805A61C0 38 00 00 00 */ li r0, 0
/* 805A61C4 98 1F 05 6A */ stb r0, 0x56a(r31)
/* 805A61C8 48 00 00 0C */ b lbl_805A61D4
lbl_805A61CC:
/* 805A61CC 38 00 00 00 */ li r0, 0
/* 805A61D0 98 1F 05 6C */ stb r0, 0x56c(r31)
lbl_805A61D4:
/* 805A61D4 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 805A61D8 54 00 27 FF */ rlwinm. r0, r0, 4, 0x1f, 0x1f
/* 805A61DC 41 82 00 24 */ beq lbl_805A6200
/* 805A61E0 38 00 00 FF */ li r0, 0xff
/* 805A61E4 98 1F 05 68 */ stb r0, 0x568(r31)
/* 805A61E8 98 1F 05 69 */ stb r0, 0x569(r31)
/* 805A61EC A8 1F 04 E4 */ lha r0, 0x4e4(r31)
/* 805A61F0 B0 1F 05 70 */ sth r0, 0x570(r31)
/* 805A61F4 A8 1F 04 E6 */ lha r0, 0x4e6(r31)
/* 805A61F8 B0 1F 05 72 */ sth r0, 0x572(r31)
/* 805A61FC 48 00 00 28 */ b lbl_805A6224
lbl_805A6200:
/* 805A6200 A8 1F 04 E4 */ lha r0, 0x4e4(r31)
/* 805A6204 98 1F 05 68 */ stb r0, 0x568(r31)
/* 805A6208 A8 1F 04 E4 */ lha r0, 0x4e4(r31)
/* 805A620C 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 805A6210 98 1F 05 69 */ stb r0, 0x569(r31)
/* 805A6214 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */
/* 805A6218 38 03 FF FF */ addi r0, r3, 0xFFFF /* 0x0000FFFF@l */
/* 805A621C B0 1F 05 70 */ sth r0, 0x570(r31)
/* 805A6220 B0 1F 05 72 */ sth r0, 0x572(r31)
lbl_805A6224:
/* 805A6224 C0 3F 04 EC */ lfs f1, 0x4ec(r31)
/* 805A6228 3C 60 80 5A */ lis r3, lit_3863@ha /* 0x805A696C@ha */
/* 805A622C C0 03 69 6C */ lfs f0, lit_3863@l(r3) /* 0x805A696C@l */
/* 805A6230 EC 00 00 72 */ fmuls f0, f0, f1
/* 805A6234 EC 01 00 32 */ fmuls f0, f1, f0
/* 805A6238 D0 1F 05 C0 */ stfs f0, 0x5c0(r31)
/* 805A623C C0 5F 04 D4 */ lfs f2, 0x4d4(r31)
/* 805A6240 3C 60 80 5A */ lis r3, lit_3864@ha /* 0x805A6970@ha */
/* 805A6244 C0 23 69 70 */ lfs f1, lit_3864@l(r3) /* 0x805A6970@l */
/* 805A6248 C0 1F 04 F0 */ lfs f0, 0x4f0(r31)
/* 805A624C EC 01 00 32 */ fmuls f0, f1, f0
/* 805A6250 EC 02 00 2A */ fadds f0, f2, f0
/* 805A6254 D0 1F 05 C4 */ stfs f0, 0x5c4(r31)
/* 805A6258 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 805A625C 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 805A6260 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 805A6264 7C 04 07 74 */ extsb r4, r0
/* 805A6268 38 BF 05 C8 */ addi r5, r31, 0x5c8
/* 805A626C 38 C1 00 08 */ addi r6, r1, 8
/* 805A6270 4B BA F5 05 */ bl daNpcF_getPlayerInfoFromPlayerList__FiiR4cXyzR5csXyz
/* 805A6274 8B DF 05 6B */ lbz r30, 0x56b(r31)
/* 805A6278 28 1E 00 FF */ cmplwi r30, 0xff
/* 805A627C 41 82 00 68 */ beq lbl_805A62E4
/* 805A6280 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 805A6284 7C 1D 07 74 */ extsb r29, r0
/* 805A6288 7F A3 EB 78 */ mr r3, r29
/* 805A628C 4B A8 6F D1 */ bl dComIfGp_getRoomCamera__Fi
/* 805A6290 80 63 00 04 */ lwz r3, 4(r3)
/* 805A6294 1C 1E 00 18 */ mulli r0, r30, 0x18
/* 805A6298 7C 63 02 14 */ add r3, r3, r0
/* 805A629C 88 03 00 10 */ lbz r0, 0x10(r3)
/* 805A62A0 1F C0 00 14 */ mulli r30, r0, 0x14
/* 805A62A4 7F A3 EB 78 */ mr r3, r29
/* 805A62A8 4B A8 70 05 */ bl dComIfGp_getRoomArrow__Fi
/* 805A62AC 80 03 00 04 */ lwz r0, 4(r3)
/* 805A62B0 7C 60 F2 14 */ add r3, r0, r30
/* 805A62B4 C0 43 00 08 */ lfs f2, 8(r3)
/* 805A62B8 C0 23 00 04 */ lfs f1, 4(r3)
/* 805A62BC C0 03 00 00 */ lfs f0, 0(r3)
/* 805A62C0 D0 1F 05 38 */ stfs f0, 0x538(r31)
/* 805A62C4 D0 3F 05 3C */ stfs f1, 0x53c(r31)
/* 805A62C8 D0 5F 05 40 */ stfs f2, 0x540(r31)
/* 805A62CC C0 1F 05 38 */ lfs f0, 0x538(r31)
/* 805A62D0 D0 1F 05 50 */ stfs f0, 0x550(r31)
/* 805A62D4 C0 1F 05 3C */ lfs f0, 0x53c(r31)
/* 805A62D8 D0 1F 05 54 */ stfs f0, 0x554(r31)
/* 805A62DC C0 1F 05 40 */ lfs f0, 0x540(r31)
/* 805A62E0 D0 1F 05 58 */ stfs f0, 0x558(r31)
lbl_805A62E4:
/* 805A62E4 7F E3 FB 78 */ mr r3, r31
/* 805A62E8 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A62EC 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A62F0 80 84 5D AC */ lwz r4, 0x5dac(r4)
/* 805A62F4 4B A7 44 1D */ bl fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c
/* 805A62F8 B0 7F 04 E6 */ sth r3, 0x4e6(r31)
/* 805A62FC 38 60 00 04 */ li r3, 4
/* 805A6300 39 61 00 20 */ addi r11, r1, 0x20
/* 805A6304 4B DB BF 25 */ bl _restgpr_29
/* 805A6308 80 01 00 24 */ lwz r0, 0x24(r1)
/* 805A630C 7C 08 03 A6 */ mtlr r0
/* 805A6310 38 21 00 20 */ addi r1, r1, 0x20
/* 805A6314 4E 80 00 20 */ blr
@@ -1,367 +0,0 @@
lbl_805A63F8:
/* 805A63F8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 805A63FC 7C 08 02 A6 */ mflr r0
/* 805A6400 90 01 00 34 */ stw r0, 0x34(r1)
/* 805A6404 39 61 00 30 */ addi r11, r1, 0x30
/* 805A6408 4B DB BD D1 */ bl _savegpr_28
/* 805A640C 7C 7C 1B 78 */ mr r28, r3
/* 805A6410 3C 60 80 5A */ lis r3, lit_3863@ha /* 0x805A696C@ha */
/* 805A6414 3B E3 69 6C */ addi r31, r3, lit_3863@l /* 0x805A696C@l */
/* 805A6418 88 1C 05 6C */ lbz r0, 0x56c(r28)
/* 805A641C 28 00 00 00 */ cmplwi r0, 0
/* 805A6420 41 82 00 50 */ beq lbl_805A6470
/* 805A6424 88 1C 04 E2 */ lbz r0, 0x4e2(r28)
/* 805A6428 7C 03 07 74 */ extsb r3, r0
/* 805A642C 4B A8 6C 41 */ bl dComIfGp_getReverb__Fi
/* 805A6430 7C 67 1B 78 */ mr r7, r3
/* 805A6434 3C 60 00 08 */ lis r3, 0x0008 /* 0x000800E7@ha */
/* 805A6438 38 03 00 E7 */ addi r0, r3, 0x00E7 /* 0x000800E7@l */
/* 805A643C 90 01 00 08 */ stw r0, 8(r1)
/* 805A6440 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 805A6444 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 805A6448 80 63 00 00 */ lwz r3, 0(r3)
/* 805A644C 38 81 00 08 */ addi r4, r1, 8
/* 805A6450 38 BC 04 D0 */ addi r5, r28, 0x4d0
/* 805A6454 38 C0 00 00 */ li r6, 0
/* 805A6458 C0 3F 00 08 */ lfs f1, 8(r31)
/* 805A645C FC 40 08 90 */ fmr f2, f1
/* 805A6460 C0 7F 00 0C */ lfs f3, 0xc(r31)
/* 805A6464 FC 80 18 90 */ fmr f4, f3
/* 805A6468 39 00 00 00 */ li r8, 0
/* 805A646C 4B D0 60 A1 */ bl seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
lbl_805A6470:
/* 805A6470 3C 60 80 45 */ lis r3, m_midnaActor__9daPy_py_c@ha /* 0x80451018@ha */
/* 805A6474 83 A3 10 18 */ lwz r29, m_midnaActor__9daPy_py_c@l(r3) /* 0x80451018@l */
/* 805A6478 28 1D 00 00 */ cmplwi r29, 0
/* 805A647C 40 82 00 0C */ bne lbl_805A6488
/* 805A6480 38 60 00 01 */ li r3, 1
/* 805A6484 48 00 04 A0 */ b lbl_805A6924
lbl_805A6488:
/* 805A6488 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A648C 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A6490 83 C4 5D B4 */ lwz r30, 0x5db4(r4)
/* 805A6494 88 1C 05 6B */ lbz r0, 0x56b(r28)
/* 805A6498 28 00 00 FF */ cmplwi r0, 0xff
/* 805A649C 40 82 00 40 */ bne lbl_805A64DC
/* 805A64A0 C0 1D 05 50 */ lfs f0, 0x550(r29)
/* 805A64A4 D0 1C 05 50 */ stfs f0, 0x550(r28)
/* 805A64A8 C0 1D 05 54 */ lfs f0, 0x554(r29)
/* 805A64AC D0 1C 05 54 */ stfs f0, 0x554(r28)
/* 805A64B0 C0 1D 05 58 */ lfs f0, 0x558(r29)
/* 805A64B4 D0 1C 05 58 */ stfs f0, 0x558(r28)
/* 805A64B8 A8 1D 04 E6 */ lha r0, 0x4e6(r29)
/* 805A64BC B0 1C 04 E6 */ sth r0, 0x4e6(r28)
/* 805A64C0 C0 1C 05 50 */ lfs f0, 0x550(r28)
/* 805A64C4 D0 1C 05 38 */ stfs f0, 0x538(r28)
/* 805A64C8 C0 1C 05 54 */ lfs f0, 0x554(r28)
/* 805A64CC D0 1C 05 3C */ stfs f0, 0x53c(r28)
/* 805A64D0 C0 1C 05 58 */ lfs f0, 0x558(r28)
/* 805A64D4 D0 1C 05 40 */ stfs f0, 0x540(r28)
/* 805A64D8 48 00 00 14 */ b lbl_805A64EC
lbl_805A64DC:
/* 805A64DC 7F 83 E3 78 */ mr r3, r28
/* 805A64E0 80 84 5D AC */ lwz r4, 0x5dac(r4)
/* 805A64E4 4B A7 42 2D */ bl fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c
/* 805A64E8 B0 7C 04 E6 */ sth r3, 0x4e6(r28)
lbl_805A64EC:
/* 805A64EC A0 7C 05 6E */ lhz r3, 0x56e(r28)
/* 805A64F0 28 03 00 04 */ cmplwi r3, 4
/* 805A64F4 40 82 00 48 */ bne lbl_805A653C
/* 805A64F8 38 7C 05 C8 */ addi r3, r28, 0x5c8
/* 805A64FC 38 9E 04 D0 */ addi r4, r30, 0x4d0
/* 805A6500 4B DA 0E 9D */ bl PSVECSquareDistance
/* 805A6504 C0 1F 00 10 */ lfs f0, 0x10(r31)
/* 805A6508 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 805A650C 40 80 04 14 */ bge lbl_805A6920
/* 805A6510 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A6514 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A6518 38 63 4E C8 */ addi r3, r3, 0x4ec8
/* 805A651C 4B A9 BF 4D */ bl reset__14dEvt_control_cFv
/* 805A6520 38 00 00 02 */ li r0, 2
/* 805A6524 B0 1E 06 04 */ sth r0, 0x604(r30)
/* 805A6528 38 00 00 01 */ li r0, 1
/* 805A652C 90 1E 06 14 */ stw r0, 0x614(r30)
/* 805A6530 38 00 00 00 */ li r0, 0
/* 805A6534 B0 1C 05 6E */ sth r0, 0x56e(r28)
/* 805A6538 48 00 03 E8 */ b lbl_805A6920
lbl_805A653C:
/* 805A653C 28 03 00 03 */ cmplwi r3, 3
/* 805A6540 40 82 00 C4 */ bne lbl_805A6604
/* 805A6544 7F C3 F3 78 */ mr r3, r30
/* 805A6548 81 9E 06 28 */ lwz r12, 0x628(r30)
/* 805A654C 81 8C 01 88 */ lwz r12, 0x188(r12)
/* 805A6550 7D 89 03 A6 */ mtctr r12
/* 805A6554 4E 80 04 21 */ bctrl
/* 805A6558 28 03 00 00 */ cmplwi r3, 0
/* 805A655C 41 82 00 40 */ beq lbl_805A659C
/* 805A6560 7F C3 F3 78 */ mr r3, r30
/* 805A6564 38 9C 05 C8 */ addi r4, r28, 0x5c8
/* 805A6568 A8 BE 04 E6 */ lha r5, 0x4e6(r30)
/* 805A656C 38 C0 00 00 */ li r6, 0
/* 805A6570 81 9E 06 28 */ lwz r12, 0x628(r30)
/* 805A6574 81 8C 01 54 */ lwz r12, 0x154(r12)
/* 805A6578 7D 89 03 A6 */ mtctr r12
/* 805A657C 4E 80 04 21 */ bctrl
/* 805A6580 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A6584 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A6588 38 63 4E C8 */ addi r3, r3, 0x4ec8
/* 805A658C 4B A9 BE DD */ bl reset__14dEvt_control_cFv
/* 805A6590 38 00 00 00 */ li r0, 0
/* 805A6594 B0 1C 05 6E */ sth r0, 0x56e(r28)
/* 805A6598 48 00 03 88 */ b lbl_805A6920
lbl_805A659C:
/* 805A659C 38 00 00 04 */ li r0, 4
/* 805A65A0 B0 1C 05 6E */ sth r0, 0x56e(r28)
/* 805A65A4 38 80 00 03 */ li r4, 3
/* 805A65A8 B0 9E 06 04 */ sth r4, 0x604(r30)
/* 805A65AC 38 60 00 00 */ li r3, 0
/* 805A65B0 90 7E 06 0C */ stw r3, 0x60c(r30)
/* 805A65B4 88 1C 05 6A */ lbz r0, 0x56a(r28)
/* 805A65B8 28 00 00 00 */ cmplwi r0, 0
/* 805A65BC 40 82 00 18 */ bne lbl_805A65D4
/* 805A65C0 90 9E 06 14 */ stw r4, 0x614(r30)
/* 805A65C4 90 7E 06 0C */ stw r3, 0x60c(r30)
/* 805A65C8 90 7E 06 10 */ stw r3, 0x610(r30)
/* 805A65CC B0 7E 06 0A */ sth r3, 0x60a(r30)
/* 805A65D0 48 00 00 18 */ b lbl_805A65E8
lbl_805A65D4:
/* 805A65D4 38 00 00 02 */ li r0, 2
/* 805A65D8 90 1E 06 14 */ stw r0, 0x614(r30)
/* 805A65DC 90 7E 06 0C */ stw r3, 0x60c(r30)
/* 805A65E0 90 7E 06 10 */ stw r3, 0x610(r30)
/* 805A65E4 B0 7E 06 0A */ sth r3, 0x60a(r30)
lbl_805A65E8:
/* 805A65E8 C0 1C 05 C8 */ lfs f0, 0x5c8(r28)
/* 805A65EC D0 1E 06 1C */ stfs f0, 0x61c(r30)
/* 805A65F0 C0 1C 05 CC */ lfs f0, 0x5cc(r28)
/* 805A65F4 D0 1E 06 20 */ stfs f0, 0x620(r30)
/* 805A65F8 C0 1C 05 D0 */ lfs f0, 0x5d0(r28)
/* 805A65FC D0 1E 06 24 */ stfs f0, 0x624(r30)
/* 805A6600 48 00 03 20 */ b lbl_805A6920
lbl_805A6604:
/* 805A6604 A0 1C 00 F8 */ lhz r0, 0xf8(r28)
/* 805A6608 28 00 00 01 */ cmplwi r0, 1
/* 805A660C 40 82 01 F8 */ bne lbl_805A6804
/* 805A6610 28 03 00 02 */ cmplwi r3, 2
/* 805A6614 40 82 00 BC */ bne lbl_805A66D0
/* 805A6618 38 60 00 00 */ li r3, 0
/* 805A661C 80 1D 08 94 */ lwz r0, 0x894(r29)
/* 805A6620 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 805A6624 40 82 00 20 */ bne lbl_805A6644
/* 805A6628 88 1D 08 4E */ lbz r0, 0x84e(r29)
/* 805A662C 28 00 00 03 */ cmplwi r0, 3
/* 805A6630 41 82 00 14 */ beq lbl_805A6644
/* 805A6634 28 00 00 04 */ cmplwi r0, 4
/* 805A6638 41 82 00 0C */ beq lbl_805A6644
/* 805A663C 28 00 00 02 */ cmplwi r0, 2
/* 805A6640 40 82 00 08 */ bne lbl_805A6648
lbl_805A6644:
/* 805A6644 38 60 00 01 */ li r3, 1
lbl_805A6648:
/* 805A6648 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 805A664C 41 82 00 50 */ beq lbl_805A669C
/* 805A6650 38 80 00 00 */ li r4, 0
/* 805A6654 A0 1D 05 E4 */ lhz r0, 0x5e4(r29)
/* 805A6658 28 00 02 1C */ cmplwi r0, 0x21c
/* 805A665C 40 82 00 38 */ bne lbl_805A6694
/* 805A6660 80 7D 05 78 */ lwz r3, 0x578(r29)
/* 805A6664 38 A0 00 01 */ li r5, 1
/* 805A6668 88 03 00 11 */ lbz r0, 0x11(r3)
/* 805A666C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 805A6670 40 82 00 18 */ bne lbl_805A6688
/* 805A6674 C0 3F 00 14 */ lfs f1, 0x14(r31)
/* 805A6678 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 805A667C FC 01 00 00 */ fcmpu cr0, f1, f0
/* 805A6680 41 82 00 08 */ beq lbl_805A6688
/* 805A6684 7C 85 23 78 */ mr r5, r4
lbl_805A6688:
/* 805A6688 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 805A668C 41 82 00 08 */ beq lbl_805A6694
/* 805A6690 38 80 00 01 */ li r4, 1
lbl_805A6694:
/* 805A6694 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 805A6698 41 82 02 88 */ beq lbl_805A6920
lbl_805A669C:
/* 805A669C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A66A0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A66A4 38 63 4E C8 */ addi r3, r3, 0x4ec8
/* 805A66A8 7F 84 E3 78 */ mr r4, r28
/* 805A66AC 4B A9 BE 6D */ bl reset__14dEvt_control_cFPv
/* 805A66B0 7F 83 E3 78 */ mr r3, r28
/* 805A66B4 38 80 04 00 */ li r4, 0x400
/* 805A66B8 38 A0 01 4F */ li r5, 0x14f
/* 805A66BC 38 C0 00 01 */ li r6, 1
/* 805A66C0 4B A7 52 49 */ bl fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs
/* 805A66C4 38 00 00 03 */ li r0, 3
/* 805A66C8 B0 1C 05 6E */ sth r0, 0x56e(r28)
/* 805A66CC 48 00 02 54 */ b lbl_805A6920
lbl_805A66D0:
/* 805A66D0 38 00 00 00 */ li r0, 0
/* 805A66D4 88 9D 08 4E */ lbz r4, 0x84e(r29)
/* 805A66D8 28 04 00 02 */ cmplwi r4, 2
/* 805A66DC 41 82 00 0C */ beq lbl_805A66E8
/* 805A66E0 28 04 00 01 */ cmplwi r4, 1
/* 805A66E4 40 82 00 08 */ bne lbl_805A66EC
lbl_805A66E8:
/* 805A66E8 38 00 00 01 */ li r0, 1
lbl_805A66EC:
/* 805A66EC 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 805A66F0 40 82 02 30 */ bne lbl_805A6920
/* 805A66F4 28 03 00 00 */ cmplwi r3, 0
/* 805A66F8 40 82 00 68 */ bne lbl_805A6760
/* 805A66FC 38 7C 05 74 */ addi r3, r28, 0x574
/* 805A6700 7F 84 E3 78 */ mr r4, r28
/* 805A6704 A8 1C 04 E8 */ lha r0, 0x4e8(r28)
/* 805A6708 54 05 04 3E */ clrlwi r5, r0, 0x10
/* 805A670C 38 C0 00 00 */ li r6, 0
/* 805A6710 38 E0 00 00 */ li r7, 0
/* 805A6714 4B CA 38 7D */ bl init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c
/* 805A6718 38 00 00 10 */ li r0, 0x10
/* 805A671C 90 01 00 10 */ stw r0, 0x10(r1)
/* 805A6720 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 805A6724 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 805A6728 80 63 00 00 */ lwz r3, 0(r3)
/* 805A672C 38 81 00 10 */ addi r4, r1, 0x10
/* 805A6730 38 A0 00 00 */ li r5, 0
/* 805A6734 38 C0 00 00 */ li r6, 0
/* 805A6738 38 E0 00 00 */ li r7, 0
/* 805A673C C0 3F 00 08 */ lfs f1, 8(r31)
/* 805A6740 FC 40 08 90 */ fmr f2, f1
/* 805A6744 C0 7F 00 0C */ lfs f3, 0xc(r31)
/* 805A6748 FC 80 18 90 */ fmr f4, f3
/* 805A674C 39 00 00 00 */ li r8, 0
/* 805A6750 4B D0 52 35 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
/* 805A6754 38 00 00 01 */ li r0, 1
/* 805A6758 B0 1C 05 6E */ sth r0, 0x56e(r28)
/* 805A675C 48 00 01 C4 */ b lbl_805A6920
lbl_805A6760:
/* 805A6760 38 7C 05 74 */ addi r3, r28, 0x574
/* 805A6764 7F 84 E3 78 */ mr r4, r28
/* 805A6768 38 A0 00 00 */ li r5, 0
/* 805A676C 38 C0 00 00 */ li r6, 0
/* 805A6770 4B CA 3B 69 */ bl doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci
/* 805A6774 2C 03 00 00 */ cmpwi r3, 0
/* 805A6778 41 82 01 A8 */ beq lbl_805A6920
/* 805A677C 38 00 00 02 */ li r0, 2
/* 805A6780 B0 1C 05 6E */ sth r0, 0x56e(r28)
/* 805A6784 38 00 00 11 */ li r0, 0x11
/* 805A6788 90 01 00 0C */ stw r0, 0xc(r1)
/* 805A678C 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 805A6790 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 805A6794 80 63 00 00 */ lwz r3, 0(r3)
/* 805A6798 38 81 00 0C */ addi r4, r1, 0xc
/* 805A679C 38 A0 00 00 */ li r5, 0
/* 805A67A0 38 C0 00 00 */ li r6, 0
/* 805A67A4 38 E0 00 00 */ li r7, 0
/* 805A67A8 C0 3F 00 08 */ lfs f1, 8(r31)
/* 805A67AC FC 40 08 90 */ fmr f2, f1
/* 805A67B0 C0 7F 00 0C */ lfs f3, 0xc(r31)
/* 805A67B4 FC 80 18 90 */ fmr f4, f3
/* 805A67B8 39 00 00 00 */ li r8, 0
/* 805A67BC 4B D0 51 C9 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
/* 805A67C0 38 60 00 00 */ li r3, 0
/* 805A67C4 80 1D 08 94 */ lwz r0, 0x894(r29)
/* 805A67C8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 805A67CC 40 82 00 20 */ bne lbl_805A67EC
/* 805A67D0 88 1D 08 4E */ lbz r0, 0x84e(r29)
/* 805A67D4 28 00 00 03 */ cmplwi r0, 3
/* 805A67D8 41 82 00 14 */ beq lbl_805A67EC
/* 805A67DC 28 00 00 04 */ cmplwi r0, 4
/* 805A67E0 41 82 00 0C */ beq lbl_805A67EC
/* 805A67E4 28 00 00 02 */ cmplwi r0, 2
/* 805A67E8 40 82 00 08 */ bne lbl_805A67F0
lbl_805A67EC:
/* 805A67EC 38 60 00 01 */ li r3, 1
lbl_805A67F0:
/* 805A67F0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 805A67F4 41 82 01 2C */ beq lbl_805A6920
/* 805A67F8 38 00 00 04 */ li r0, 4
/* 805A67FC 98 1D 08 4E */ stb r0, 0x84e(r29)
/* 805A6800 48 00 01 20 */ b lbl_805A6920
lbl_805A6804:
/* 805A6804 88 9C 05 69 */ lbz r4, 0x569(r28)
/* 805A6808 28 04 00 FF */ cmplwi r4, 0xff
/* 805A680C 41 82 00 20 */ beq lbl_805A682C
/* 805A6810 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A6814 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A6818 88 1C 04 BA */ lbz r0, 0x4ba(r28)
/* 805A681C 7C 05 07 74 */ extsb r5, r0
/* 805A6820 4B A8 EB 41 */ bl isSwitch__10dSv_info_cCFii
/* 805A6824 2C 03 00 00 */ cmpwi r3, 0
/* 805A6828 40 82 00 38 */ bne lbl_805A6860
lbl_805A682C:
/* 805A682C A0 1C 05 72 */ lhz r0, 0x572(r28)
/* 805A6830 28 00 FF FF */ cmplwi r0, 0xffff
/* 805A6834 41 82 00 3C */ beq lbl_805A6870
/* 805A6838 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A683C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A6840 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 805A6844 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e
/* 805A6848 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 805A684C 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 805A6850 7C 84 02 2E */ lhzx r4, r4, r0
/* 805A6854 4B A8 E1 69 */ bl isEventBit__11dSv_event_cCFUs
/* 805A6858 2C 03 00 00 */ cmpwi r3, 0
/* 805A685C 41 82 00 14 */ beq lbl_805A6870
lbl_805A6860:
/* 805A6860 7F 83 E3 78 */ mr r3, r28
/* 805A6864 4B A7 34 19 */ bl fopAcM_delete__FP10fopAc_ac_c
/* 805A6868 38 60 00 01 */ li r3, 1
/* 805A686C 48 00 00 B8 */ b lbl_805A6924
lbl_805A6870:
/* 805A6870 88 9C 05 68 */ lbz r4, 0x568(r28)
/* 805A6874 28 04 00 FF */ cmplwi r4, 0xff
/* 805A6878 41 82 00 20 */ beq lbl_805A6898
/* 805A687C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A6880 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A6884 88 1C 04 BA */ lbz r0, 0x4ba(r28)
/* 805A6888 7C 05 07 74 */ extsb r5, r0
/* 805A688C 4B A8 EA D5 */ bl isSwitch__10dSv_info_cCFii
/* 805A6890 2C 03 00 00 */ cmpwi r3, 0
/* 805A6894 41 82 00 38 */ beq lbl_805A68CC
lbl_805A6898:
/* 805A6898 A0 1C 05 70 */ lhz r0, 0x570(r28)
/* 805A689C 28 00 FF FF */ cmplwi r0, 0xffff
/* 805A68A0 41 82 00 34 */ beq lbl_805A68D4
/* 805A68A4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A68A8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A68AC 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 805A68B0 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e
/* 805A68B4 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 805A68B8 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 805A68BC 7C 84 02 2E */ lhzx r4, r4, r0
/* 805A68C0 4B A8 E0 FD */ bl isEventBit__11dSv_event_cCFUs
/* 805A68C4 2C 03 00 00 */ cmpwi r3, 0
/* 805A68C8 40 82 00 0C */ bne lbl_805A68D4
lbl_805A68CC:
/* 805A68CC 38 60 00 01 */ li r3, 1
/* 805A68D0 48 00 00 54 */ b lbl_805A6924
lbl_805A68D4:
/* 805A68D4 C0 1C 04 D4 */ lfs f0, 0x4d4(r28)
/* 805A68D8 C0 3E 04 D4 */ lfs f1, 0x4d4(r30)
/* 805A68DC FC 00 08 40 */ fcmpo cr0, f0, f1
/* 805A68E0 4C 40 13 82 */ cror 2, 0, 2
/* 805A68E4 40 82 00 3C */ bne lbl_805A6920
/* 805A68E8 C0 1C 05 C4 */ lfs f0, 0x5c4(r28)
/* 805A68EC FC 00 08 40 */ fcmpo cr0, f0, f1
/* 805A68F0 4C 41 13 82 */ cror 2, 1, 2
/* 805A68F4 40 82 00 2C */ bne lbl_805A6920
/* 805A68F8 7F 83 E3 78 */ mr r3, r28
/* 805A68FC 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805A6900 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805A6904 80 84 5D AC */ lwz r4, 0x5dac(r4)
/* 805A6908 4B A7 41 8D */ bl fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c
/* 805A690C C0 1C 05 C0 */ lfs f0, 0x5c0(r28)
/* 805A6910 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 805A6914 40 80 00 0C */ bge lbl_805A6920
/* 805A6918 7F 83 E3 78 */ mr r3, r28
/* 805A691C 4B FF FA A9 */ bl eventOrder__12daTagMstop_cFv
lbl_805A6920:
/* 805A6920 38 60 00 01 */ li r3, 1
lbl_805A6924:
/* 805A6924 39 61 00 30 */ addi r11, r1, 0x30
/* 805A6928 4B DB B8 FD */ bl _restgpr_28
/* 805A692C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 805A6930 7C 08 03 A6 */ mtlr r0
/* 805A6934 38 21 00 30 */ addi r1, r1, 0x30
/* 805A6938 4E 80 00 20 */ blr
+1 -1
View File
@@ -4,6 +4,6 @@
class fopAc_ac_c;
void CheckFieldItemCreateHeap(fopAc_ac_c* actor);
int CheckFieldItemCreateHeap(fopAc_ac_c* actor);
#endif /* D_A_D_A_ITEMBASE_STATIC_H */
+1 -1
View File
@@ -533,8 +533,8 @@ public:
BOOL checkCopyRodThrowAfter() const { return checkNoResetFlg3(FLG3_COPY_ROD_THROW_AFTER); }
BOOL checkRide() const { return checkHorseRide() || checkBoarRide() || checkSpinnerRide() || checkCanoeRide() || checkBoardRide(); }
const cXyz& getRightHandPos() const { return mRightHandPos; }
const cXyz* getItemPos() const { return &mItemPos; }
const cXyz* getLeftHandPos() const { return &mLeftHandPos; }
const cXyz getItemPos() const { return mItemPos; }
virtual cXyz* getMidnaAtnPos() const;
virtual void setMidnaMsgNum(fopAc_ac_c*, u16);
+32 -4
View File
@@ -1152,7 +1152,35 @@ inline void dComIfGs_onRegionBit(int i_region) {
}
inline void dComIfGs_onSvZoneSwitch(int i_zoneNo, int i_swBit) {
g_dComIfG_gameInfo.info.getZone(i_zoneNo).getZoneBit().onSwitch(i_swBit);
g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().onSwitch(i_swBit);
}
inline void dComIfGs_offSvZoneSwitch(int i_zoneNo, int i_swBit) {
g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().offSwitch(i_swBit);
}
inline BOOL dComIfGs_isSvZoneSwitch(int i_zoneNo, int i_swBit) {
return g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().isSwitch(i_swBit);
}
inline void dComIfGs_onSvOneZoneSwitch(int i_zoneNo, int i_swBit) {
g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().onOneSwitch(i_swBit);
}
inline void dComIfGs_offSvOneZoneSwitch(int i_zoneNo, int i_swBit) {
g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().offOneSwitch(i_swBit);
}
inline BOOL dComIfGs_isSvOneZoneSwitch(int i_zoneNo, int i_swBit) {
return g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().isOneSwitch(i_swBit);
}
inline BOOL dComIfGs_isSvZoneItem(int i_zoneNo, int i_swBit) {
return g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().isItem(i_swBit);
}
inline BOOL dComIfGs_isSvOneZoneItem(int i_zoneNo, int i_swBit) {
return g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().isOneItem(i_swBit);
}
inline s32 dComIfGs_isDungeonItemMap() {
@@ -1607,11 +1635,11 @@ inline void dComIfGs_setStartPoint(s16 i_point) {
}
inline void dComIfGs_clearRoomSwitch(int i_zoneNo) {
g_dComIfG_gameInfo.info.getZone(i_zoneNo).getZoneBit().clearRoomSwitch();
g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().clearRoomSwitch();
}
inline void dComIfGs_clearRoomItem(int i_zoneNo) {
g_dComIfG_gameInfo.info.getZone(i_zoneNo).getZoneBit().clearRoomItem();
g_dComIfG_gameInfo.info.getZone(i_zoneNo).getBit().clearRoomItem();
}
inline void dComIfGs_removeZone(int i_zoneNo) {
@@ -3027,7 +3055,7 @@ inline s32 dComIfGp_roomControl_getStayNo() {
}
inline s32 dComIfGp_roomControl_getZoneNo(int i_roomNo) {
return dStage_roomControl_c::getZoneNo(i_roomNo);
return g_dComIfG_gameInfo.play.getRoomControl()->getZoneNo(i_roomNo);
}
inline void dComIfGp_roomControl_initZone() {
-1
View File
@@ -37,7 +37,6 @@ public:
/* 0x88 */ dDemo_ambient_c* mpAmbient;
/* 0x8C */ dDemo_light_c* mpLights[8];
/* 0xAC */ dDemo_fog_c* mpFog;
/* 0xB0 */ dDemo_camera_c* mpEditorCamera;
};
class dDemo_prm_c {
+1 -1
View File
@@ -797,7 +797,7 @@ public:
dStage_roomControl_c() {}
void init(void);
static int getZoneNo(int room);
static int getZoneNo(int i_roomNo) { return mStatus[i_roomNo].getZoneNo(); }
/* 80024338 */ void initZone();
/* 80024384 */ dStage_roomStatus_c* getStatusRoomDt(int);
/* 800243B0 */ static JKRExpHeap* getMemoryBlock(int);
+1 -1
View File
@@ -502,7 +502,7 @@ public:
/* 0x12EC */ dKy_pol_sound_struct* mResPolSound;
/* 0x12F0 */ dKy_pol_arg_struct* mResPolArg;
/* 0x12F4 */ dKy_color_data_struct* mResColorDataTbl;
/* 0x12F8 */ s8 mFogDensity;
/* 0x12F8 */ u8 mFogDensity;
/* 0x12F9 */ u8 field_0x12f9;
/* 0x12FA */ u8 mIsBlure;
/* 0x12FB */ u8 field_0x12fb;
+1 -1
View File
@@ -994,7 +994,7 @@ public:
dSv_zone_c() { mRoomNo = -1; }
void init(int i_roomNo);
dSv_zoneBit_c& getZoneBit() { return mBit; }
dSv_zoneBit_c& getBit() { return mBit; }
const dSv_zoneBit_c& getBit() const { return mBit; }
dSv_zoneActor_c& getActor() { return mActor; }
const dSv_zoneActor_c& getActor() const { return mActor; }
+3 -3
View File
@@ -378,7 +378,7 @@ inline BOOL fopAcM_CULLSIZE_IS_BOX(int i_culltype) {
return (i_culltype >= 0 && i_culltype < 14) || i_culltype == 14;
}
inline Vec fopAcM_getCullSizeSphereCenter(const fopAc_ac_c* i_actor) {
inline const Vec& fopAcM_getCullSizeSphereCenter(const fopAc_ac_c* i_actor) {
return i_actor->cull.sphere.center;
}
@@ -399,8 +399,8 @@ inline void fopAcM_offSwitch(const fopAc_ac_c* pActor, int sw) {
return dComIfGs_offSwitch(sw, fopAcM_GetHomeRoomNo(pActor));
}
inline BOOL fopAcM_isSwitch(const fopAc_ac_c* item, int sw) {
return dComIfGs_isSwitch(sw, fopAcM_GetHomeRoomNo(item));
inline BOOL fopAcM_isSwitch(const fopAc_ac_c* pActor, int sw) {
return dComIfGs_isSwitch(sw, fopAcM_GetHomeRoomNo(pActor));
}
inline fopAc_ac_c* fopAcM_SearchByName(s16 proc_id) {
+11 -45
View File
@@ -1,36 +1,13 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_andsw2
//
/**
* d_a_andsw2.cpp
*
*/
#include "rel/d/a/d_a_andsw2/d_a_andsw2.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_lib.h"
#include "d/d_procname.h"
//
// Forward References:
//
extern "C" void getEventNo__10daAndsw2_cFv();
extern "C" void getSwbit__10daAndsw2_cFv();
extern "C" void getType__10daAndsw2_cFv();
extern "C" void chkAllSw2__10daAndsw2_cFv();
extern "C" void chkSwStatus__10daAndsw2_cFv();
//
// External References:
//
extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs();
extern "C" void dLib_getEventSwitchNo__Fi();
extern "C" void onSwitch__10dSv_info_cFii();
extern "C" void offSwitch__10dSv_info_cFii();
extern "C" void isSwitch__10dSv_info_cCFii();
//
// Declarations:
//
/* 804D5DF8-804D5E04 000078 000C+00 2/2 0/0 0/0 .text getEventNo__10daAndsw2_cFv */
u8 daAndsw2_c::getEventNo() {
return home.angle.x & 0xFF;
@@ -272,8 +249,6 @@ static int daAndsw2_actionTimer(daAndsw2_c* i_this) {
}
/* 804D6704-804D68A4 000984 01A0+00 1/0 0/0 0/0 .text daAndsw2_actionOrder__FP10daAndsw2_c */
// missing mr / out of order instruction
#ifdef NONMATCHING
static int daAndsw2_actionOrder(daAndsw2_c* i_this) {
if (i_this->eventInfo.i_checkCommandDemoAccrpt()) {
i_this->setActio(daAndsw2_c::ACT_EVENT_e);
@@ -285,11 +260,12 @@ static int daAndsw2_actionOrder(daAndsw2_c* i_this) {
{
i_this->setActio(daAndsw2_c::ACT_ON_ALL_e);
} else {
if (i_this->getType() == 5 &&
fopAcM_isSwitch(i_this, dLib_getEventSwitchNo(i_this->getEventNo())))
{
dComIfGs_onSwitch(i_this->getSwbit(), fopAcM_GetRoomNo(i_this));
i_this->setActio(daAndsw2_c::ACT_OFF_e);
if (i_this->getType() == 5) {
u8 switch_no = dLib_getEventSwitchNo(i_this->getEventNo());
if (fopAcM_isSwitch(i_this, switch_no)) {
dComIfGs_onSwitch(i_this->getSwbit(), fopAcM_GetRoomNo(i_this));
i_this->setActio(daAndsw2_c::ACT_OFF_e);
}
}
fopAcM_orderOtherEventId(i_this, i_this->mEventIdx, i_this->getEventNo(), 0xFFFF, 0, 1);
@@ -297,16 +273,6 @@ static int daAndsw2_actionOrder(daAndsw2_c* i_this) {
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm int daAndsw2_actionOrder(daAndsw2_c* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_andsw2/d_a_andsw2/daAndsw2_actionOrder__FP10daAndsw2_c.s"
}
#pragma pop
#endif
/* 804D68A4-804D6960 000B24 00BC+00 1/0 0/0 0/0 .text daAndsw2_actionEvent__FP10daAndsw2_c */
static int daAndsw2_actionEvent(daAndsw2_c* i_this) {
+10 -8
View File
@@ -4,8 +4,10 @@
//
#include "rel/d/a/obj/d_a_obj_ice_l/d_a_obj_ice_l.h"
#include "SSystem/SComponent/c_math.h"
#include "d/bg/d_bg_w.h"
#include "d/com/d_com_inf_game.h"
#include "d/a/d_a_player.h"
#include "d/d_procname.h"
#include "dol2asm.h"
@@ -254,16 +256,16 @@ COMPILER_STRIP_GATE(0x80C207D0, &lit_3844);
/* 80C1FD5C-80C20034 0003DC 02D8+00 1/1 0/0 0/0 .text
* rideCallBack__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c */
// instruction out of order
// matches with literals
#ifdef NONMATCHING
static void rideCallBack(dBgW* param_0, fopAc_ac_c* param_1, fopAc_ac_c* param_2) {
daObjIce_l_c* ice_p = static_cast<daObjIce_l_c*>(param_1);
daPy_py_c* player_p = daPy_getPlayerActorClass();
cXyz* ball_pos = player_p->getIronBallCenterPos();
cXyz& player_pos = fopAcM_GetPosition(player_p);
daObjIce_l_c* ice_p = static_cast<daObjIce_l_c*>(param_1);
// fake match?
if ((u8)(fopAcM_GetName(param_2) == 0) == PROC_ALINK) {
//!@bug Missing parentheses causes this comparison to always evaluate to false
if (!fopAcM_GetName(param_2) == PROC_ALINK) {
ice_p->field_0x5f4 = 0x100;
ice_p->field_0x5a4 = -1.0f;
ice_p->field_0x5ac = 0x500;
@@ -271,9 +273,9 @@ static void rideCallBack(dBgW* param_0, fopAc_ac_c* param_1, fopAc_ac_c* param_2
ice_p->Check_RideOn(player_pos);
}
cXyz* actor_pos = &fopAcM_GetPosition(param_2);
if (ball_pos != NULL && actor_pos != NULL &&
actor_pos->absXZ(*ball_pos) < ice_p->field_0x5b4.x * 600.0f)
cXyz* ice_pos = &fopAcM_GetPosition(ice_p);
if (ball_pos != NULL && ice_pos != NULL &&
ice_pos->absXZ(*ball_pos) < ice_p->field_0x5b4.x * 600.0f)
{
ice_p->field_0x5f4 = 0x400;
ice_p->field_0x5a4 = -6.0f;
@@ -598,7 +600,7 @@ int daObjIce_l_c::Execute(Mtx** param_0) {
0.1f, 15.0f, 0.1f);
cLib_addCalcAngleS(&shape_angle.x,
field_0x5d8.x +
(field_0x5ac * 0.5f * cM_ssin(0x2000 + (field_0x5d4 + field_0x5e4))),
(field_0x5ac * 0.5f * cM_ssin(0x2000 + field_0x5d4 + field_0x5e4)),
2, 0x100, 1);
cLib_addCalcAngleS(&shape_angle.z,
field_0x5d8.z + (field_0x5ac * 0.5f * cM_ssin(field_0x5d6 + field_0x5e4)), 2,
@@ -9,68 +9,6 @@
#include "d/com/d_com_inf_game.h"
#include "d/a/d_a_player.h"
#include "d/d_procname.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" void setBaseMtx__13daZraFreeze_cFv();
extern "C" void chkActorInScreen__13daZraFreeze_cFv();
extern "C" static void createSolidHeap__FP10fopAc_ac_c();
extern "C" void Create__13daZraFreeze_cFv();
extern "C" void CreateHeap__13daZraFreeze_cFv();
extern "C" void setHitodamaPrtcl__13daZraFreeze_cFv();
extern "C" void Execute__13daZraFreeze_cFv();
extern "C" void Draw__13daZraFreeze_cFv();
extern "C" void Delete__13daZraFreeze_cFv();
extern "C" static void daZraFreeze_Draw__FP13daZraFreeze_c();
extern "C" static void daZraFreeze_Execute__FP13daZraFreeze_c();
extern "C" static bool daZraFreeze_IsDelete__FP13daZraFreeze_c();
extern "C" static void daZraFreeze_Delete__FP13daZraFreeze_c();
extern "C" static void daZraFreeze_create__FP10fopAc_ac_c();
extern "C" extern char const* const d_a_obj_zra_freeze__stringBase0;
//
// External References:
//
extern "C" void transM__14mDoMtx_stack_cFfff();
extern "C" void XYZrotM__14mDoMtx_stack_cFRC5csXyz();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void mDoLib_project__FP3VecP3Vec();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
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 dComIfGs_sense_type_change_Set__FSc();
extern "C" void dComIfGs_wolfeye_effect_check__Fv();
extern "C" void onSwitch__10dSv_info_cFii();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci();
extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc();
extern "C" void getEmitter__Q213dPa_control_c7level_cFUl();
extern "C" void
set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void checkNowWolfEyeUp__9daPy_py_cFv();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void dKy_darkworld_check__Fv();
extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void cM_rndF__Ff();
extern "C" void _savegpr_24();
extern "C" void _savegpr_29();
extern "C" void _restgpr_24();
extern "C" void _restgpr_29();
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 sincosTable___5JMath[65536];
//
// Declarations:
//
/* 80D44BC4-80D44BC8 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
static char* l_arcName = "zrF";
@@ -161,42 +99,8 @@ int daZraFreeze_c::CreateHeap() {
return 1;
}
/* 80D44B60-80D44B64 000018 0004+00 0/1 0/0 0/0 .rodata id$3856 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const id[4] = {
0x84,
0x97,
0x84,
0x98,
};
COMPILER_STRIP_GATE(0x80D44B60, &id);
#pragma pop
/* 80D44B64-80D44B68 00001C 0004+00 0/1 0/0 0/0 .rodata @3917 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3917 = 8.0f;
COMPILER_STRIP_GATE(0x80D44B64, &lit_3917);
#pragma pop
/* 80D44B68-80D44B6C 000020 0004+00 0/1 0/0 0/0 .rodata @3918 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3918 = 4.0f;
COMPILER_STRIP_GATE(0x80D44B68, &lit_3918);
#pragma pop
/* 80D44B6C-80D44B70 000024 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(0x80D44B6C, &lit_3919);
#pragma pop
/* 80D444C0-80D44698 000480 01D8+00 1/1 0/0 0/0 .text setHitodamaPrtcl__13daZraFreeze_cFv
*/
#ifdef NONMATCHING
void daZraFreeze_c::setHitodamaPrtcl() {
cXyz pos = current.pos;
field_0x5dc = (u16)(field_0x5de << 1);
@@ -219,16 +123,6 @@ void daZraFreeze_c::setHitodamaPrtcl() {
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daZraFreeze_c::setHitodamaPrtcl() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zra_freeze/d_a_obj_zra_freeze/setHitodamaPrtcl__13daZraFreeze_cFv.s"
}
#pragma pop
#endif
/* 80D44698-80D449E0 000658 0348+00 1/1 0/0 0/0 .text Execute__13daZraFreeze_cFv */
int daZraFreeze_c::Execute() {
+22 -27
View File
@@ -526,15 +526,14 @@ void daTagTWGate_c::initDemoFilone1() {
}
/* 80D5297C-80D52AF4 0003FC 0178+00 1/0 0/0 0/0 .text executeDemoFilone1__13daTagTWGate_cFv */
// swapped r30 / r31
#ifdef NONMATCHING
void daTagTWGate_c::executeDemoFilone1() {
int staffId = dComIfGp_evmng_getMyStaffId(l_myName, NULL, 0);
dEvent_manager_c& event_manager = dComIfGp_getEventManager();
int staffId = event_manager.getMyStaffId(l_myName, NULL, 0);
if (staffId != -1) {
int* cutName = (int*)dComIfGp_getEventManager().getMyNowCutName(staffId);
int* cutName = (int*)event_manager.getMyNowCutName(staffId);
if (dComIfGp_evmng_getIsAddvance(staffId)) {
if (event_manager.getIsAddvance(staffId)) {
switch (*cutName) {
case 0x30303031:
dComIfGp_getEvent().setSkipProc(this, dEv_noFinishSkipProc, 0);
@@ -550,27 +549,18 @@ void daTagTWGate_c::executeDemoFilone1() {
mAction = ActionTable[mActionID];
(this->**mAction)();
}
dComIfGp_evmng_cutEnd(staffId);
event_manager.cutEnd(staffId);
}
if (eventInfo.i_checkCommandDemoAccrpt() && mEventID != -1 &&
dComIfGp_evmng_endCheck(mEventID)) {
event_manager.endCheck(mEventID))
{
mActionID = ACT_DEMO_FILONE_2;
mAction = ActionTable[mActionID];
(this->**mAction)();
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagTWGate_c::executeDemoFilone1() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_TWgate/d_a_tag_TWgate/executeDemoFilone1__13daTagTWGate_cFv.s"
}
#pragma pop
#endif
/* 80D52AF4-80D52BF0 000574 00FC+00 1/0 0/0 0/0 .text initDemoFilone2__13daTagTWGate_cFv
*/
@@ -582,7 +572,7 @@ void daTagTWGate_c::initDemoFilone2() {
mEventID =
dComIfGp_getEventManager().getEventIdx(this, l_zevParamTbl[mType].mTalkEventName, -1);
if (g_dComIfG_gameInfo.play.mEvent.mEventStatus != 0) {
if (dComIfGp_event_runCheck()) {
dComIfGp_getEvent().reset(this);
fopAcM_orderChangeEventId(this, mEventID, 1, -1);
} else {
@@ -1068,19 +1058,24 @@ int daTagTWGate_c::createHeapCallBack(fopAc_ac_c* i_actor) {
/* 80D55180-80D55288 002C00 0108+00 1/1 0/0 0/0 .text CreateHeap__13daTagTWGate_cFv */
#ifdef NONMATCHING
bool daTagTWGate_c::CreateHeap() {
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("TWGate_Md", 7);
mpMorf = new mDoExt_McaMorfSO(modelData, NULL, NULL,
(J3DAnmTransform*)dComIfG_getObjectRes("TWGate_Md", 4), 0, 0.0f,
0, -1, NULL, 0, 0x11000084);
// matches with literals
int daTagTWGate_c::CreateHeap() {
J3DModelData* modelData = static_cast<J3DModelData*>(dComIfG_getObjectRes("TWGate_Md", 7));
mpMorf =
new mDoExt_McaMorfSO(modelData, NULL, NULL,
static_cast<J3DAnmTransform*>(dComIfG_getObjectRes("TWGate_Md", 4)),
0, 0.0f, 0, -1, NULL, 0, 0x11000084);
mDoExt_McaMorfSO* morf = mpMorf;
if (morf != NULL && morf->getModel() == NULL) {
morf->stopZelAnime();
if (mpMorf != NULL && mpMorf->getModel() == NULL) {
mpMorf->stopZelAnime();
mpMorf = NULL;
}
return mpMorf != NULL;
if (mpMorf == NULL) {
return 0;
} else {
return 1;
}
}
#else
#pragma push
+8 -116
View File
@@ -1,70 +1,14 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_mhint
//
/**
* d_a_tag_mhint.cpp
* Tag - Midna Hint
*/
#include "rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint.h"
#include "rel/d/a/d_a_midna/d_a_midna.h"
#include "d/com/d_com_inf_game.h"
#include "d/a/d_a_player.h"
#include "d/d_procname.h"
#include "d/meter/d_meter2_info.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" void create__12daTagMhint_cFv();
extern "C" static void daTagMhint_Create__FP10fopAc_ac_c();
extern "C" void __dt__12daTagMhint_cFv();
extern "C" static void daTagMhint_Delete__FP12daTagMhint_c();
extern "C" void eventOrder__12daTagMhint_cFv();
extern "C" void execute__12daTagMhint_cFv();
extern "C" static void daTagMhint_Execute__FP12daTagMhint_c();
extern "C" static bool daTagMhint_Draw__FP12daTagMhint_c();
extern "C" extern char const* const d_a_tag_mhint__stringBase0;
// extern "C" extern void* g_profile_Tag_Mhint[12];
//
// External References:
//
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" void fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" void fopAcM_orderSpeakEvent__FP10fopAc_ac_cUsUs();
extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs();
extern "C" void dComIfGp_getRoomCamera__Fi();
extern "C" void dComIfGp_getRoomArrow__Fi();
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_cUc();
extern "C" void endCheck__16dEvent_manager_cFs();
extern "C" void request__10dAttHint_cFP10fopAc_ac_ci();
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 getEventId__10dMsgFlow_cFPi();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void __dl__FPv();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" u8 m_midnaActor__9daPy_py_c[4];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
// Declarations:
//
/* ############################################################################################## */
/* 805A6034-805A6038 000000 0004+00 2/2 0/0 0/0 .rodata @3741 */
SECTION_RODATA static f32 const lit_3741 = 10.0f;
COMPILER_STRIP_GATE(0x805A6034, &lit_3741);
/* 805A56B8-805A58C8 000078 0210+00 1/1 0/0 0/0 .text create__12daTagMhint_cFv */
int daTagMhint_c::create() {
@@ -96,8 +40,8 @@ int daTagMhint_c::create() {
mEventID = dComIfGp_getEventManager().getEventIdx(this, mToolEventID);
if ((fopAcM_GetParam(this) >> 0x1E) & 1) {
scale.x *= FLOAT_LABEL(lit_3741);
scale.y *= FLOAT_LABEL(lit_3741);
scale.x *= 10.0f;
scale.y *= 10.0f;
}
field_0x5cc = scale.x * (scale.x * 10000.0f);
@@ -134,24 +78,7 @@ static int daTagMhint_Delete(daTagMhint_c* i_this) {
return 1;
}
/* ############################################################################################## */
/* 805A6040-805A6044 00000C 0004+00 1/2 0/0 0/0 .rodata @3803 */
SECTION_RODATA static f32 const lit_3803 = 1.0f;
COMPILER_STRIP_GATE(0x805A6040, &lit_3803);
/* 805A6044-805A6048 000010 0004+00 1/2 0/0 0/0 .rodata @3804 */
SECTION_RODATA static f32 const lit_3804 = -1.0f;
COMPILER_STRIP_GATE(0x805A6044, &lit_3804);
/* 805A604C-805A604C 000018 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_805A604C = "D_MN04B";
#pragma pop
/* 805A5974-805A5AE4 000334 0170+00 1/1 0/0 0/0 .text eventOrder__12daTagMhint_cFv */
// literals / player ptr re-loads
#ifdef NONMATCHING
void daTagMhint_c::eventOrder() {
if (!dComIfGp_event_runCheck()) {
eventInfo.i_onCondition(dEvtCnd_CANTALK_e);
@@ -182,33 +109,8 @@ void daTagMhint_c::eventOrder() {
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagMhint_c::eventOrder() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/eventOrder__12daTagMhint_cFv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 805A6048-805A604C 000014 0004+00 0/1 0/0 0/0 .rodata @3956 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3956[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x805A6048, &lit_3956);
#pragma pop
/* 805A5AE4-805A6004 0004A4 0520+00 1/1 0/0 0/0 .text execute__12daTagMhint_cFv */
// should match with literals, mDoExt_morf_c::isStop has optimization issues
#ifdef NONMATCHING
int daTagMhint_c::execute() {
daMidna_c* midna_p = daPy_py_c::getMidnaActor();
if (midna_p == NULL) {
@@ -323,16 +225,6 @@ int daTagMhint_c::execute() {
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daTagMhint_c::execute() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint/execute__12daTagMhint_cFv.s"
}
#pragma pop
#endif
/* 805A6004-805A6024 0009C4 0020+00 1/0 0/0 0/0 .text daTagMhint_Execute__FP12daTagMhint_c */
static int daTagMhint_Execute(daTagMhint_c* i_this) {
+5 -122
View File
@@ -4,73 +4,12 @@
*/
#include "rel/d/a/tag/d_a_tag_mstop/d_a_tag_mstop.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "rel/d/a/d_a_midna/d_a_midna.h"
#include "d/a/d_a_player.h"
#include "d/a/d_a_npc.h"
#include "f_op/f_op_actor_mng.h"
//
// Forward References:
//
extern "C" void create__12daTagMstop_cFv();
extern "C" static void daTagMstop_Create__FP10fopAc_ac_c();
extern "C" void __dt__12daTagMstop_cFv();
extern "C" static void daTagMstop_Delete__FP12daTagMstop_c();
extern "C" void eventOrder__12daTagMstop_cFv();
extern "C" void execute__12daTagMstop_cFv();
extern "C" static void daTagMstop_Execute__FP12daTagMstop_c();
extern "C" static bool daTagMstop_Draw__FP12daTagMstop_c();
//
// External References:
//
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" void fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" void fopAcM_orderSpeakEvent__FP10fopAc_ac_cUsUs();
extern "C" void fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs();
extern "C" void dComIfGp_getReverb__Fi();
extern "C" void dComIfGp_getRoomCamera__Fi();
extern "C" void dComIfGp_getRoomArrow__Fi();
extern "C" void isEventBit__11dSv_event_cCFUs();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void reset__14dEvt_control_cFv();
extern "C" void reset__14dEvt_control_cFPv();
extern "C" void daNpcF_getPlayerInfoFromPlayerList__FiiR4cXyzR5csXyz();
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 seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void __dl__FPv();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" u8 m_midnaActor__9daPy_py_c[4];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
// Declarations:
//
/* ############################################################################################## */
/* 805A696C-805A6970 000000 0004+00 2/2 0/0 0/0 .rodata @3863 */
SECTION_RODATA static f32 const lit_3863 = 10000.0f;
COMPILER_STRIP_GATE(0x805A696C, &lit_3863);
/* 805A6970-805A6974 000004 0004+00 1/1 0/0 0/0 .rodata @3864 */
SECTION_RODATA static f32 const lit_3864 = 100.0f;
COMPILER_STRIP_GATE(0x805A6970, &lit_3864);
/* 805A6138-805A6318 000078 01E0+00 1/1 0/0 0/0 .text create__12daTagMstop_cFv */
#ifdef NONMATCHING
// matches with literals
int daTagMstop_c::create() {
fopAcM_SetupActor(this, daTagMstop_c);
@@ -95,7 +34,7 @@ int daTagMstop_c::create() {
field_0x572 = shape_angle.y;
} else {
field_0x568 = shape_angle.x;
mSwitch = (shape_angle.x >> 8) & 0xFF; // matches but may not be right
mSwitch = (shape_angle.x >> 8) & 0xFF;
field_0x570 = 0xFFFF;
field_0x572 = 0xFFFF;
}
@@ -116,7 +55,7 @@ int daTagMstop_c::create() {
if (!checkNoAttention()) {
s32 room = fopAcM_GetRoomNo(this);
cXyz* pos = &dComIfGp_getRoomArrow(room)
->mEntries[dComIfGp_getRoomCamera(room)->field_0x4[idx].field_0x10]
->mEntries[dComIfGp_getRoomCamera(room)->mEntries[idx].field_0x10]
.mPosition;
eyePos.set(pos->x, pos->y, pos->z);
@@ -126,16 +65,6 @@ int daTagMstop_c::create() {
shape_angle.y = fopAcM_searchPlayerAngleY(this);
return cPhs_COMPLEATE_e;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daTagMstop_c::create() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_mstop/d_a_tag_mstop/create__12daTagMstop_cFv.s"
}
#pragma pop
#endif
/* 805A6318-805A6338 000258 0020+00 1/0 0/0 0/0 .text daTagMstop_Create__FP10fopAc_ac_c
*/
@@ -159,43 +88,7 @@ void daTagMstop_c::eventOrder() {
fopAcM_orderSpeakEvent(this, 0, 0);
}
/* ############################################################################################## */
/* 805A6974-805A6978 000008 0004+00 0/1 0/0 0/0 .rodata @4056 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4056 = 1.0f;
COMPILER_STRIP_GATE(0x805A6974, &lit_4056);
#pragma pop
/* 805A6978-805A697C 00000C 0004+00 0/1 0/0 0/0 .rodata @4057 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4057 = -1.0f;
COMPILER_STRIP_GATE(0x805A6978, &lit_4057);
#pragma pop
/* 805A697C-805A6980 000010 0004+00 0/1 0/0 0/0 .rodata @4058 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4058 = 2500.0f;
COMPILER_STRIP_GATE(0x805A697C, &lit_4058);
#pragma pop
/* 805A6980-805A6984 000014 0004+00 0/1 0/0 0/0 .rodata @4059 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4059[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x805A6980, &lit_4059);
#pragma pop
/* 805A63F8-805A693C 000338 0544+00 1/1 0/0 0/0 .text execute__12daTagMstop_cFv */
// one small block with issues
#ifdef NONMATCHING
int daTagMstop_c::execute() {
if (field_0x56c) {
fopAcM_seStartCurrentLevel(this, Z2SE_OBJ_DARK_GATE, 0);
@@ -276,16 +169,6 @@ int daTagMstop_c::execute() {
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daTagMstop_c::execute() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_mstop/d_a_tag_mstop/execute__12daTagMstop_cFv.s"
}
#pragma pop
#endif
/* 805A693C-805A695C 00087C 0020+00 1/0 0/0 0/0 .text daTagMstop_Execute__FP12daTagMstop_c */
static int daTagMstop_Execute(daTagMstop_c* i_this) {
+14 -10
View File
@@ -43,25 +43,29 @@ u8 daItemBase_c::chkDead() {
/* 80037B0C-80037B78 03244C 006C+00 0/0 0/0 1/1 .text CheckItemCreateHeap__FP10fopAc_ac_c
*/
void CheckItemCreateHeap(fopAc_ac_c* actor) {
int CheckItemCreateHeap(fopAc_ac_c* actor) {
daItemBase_c* item = static_cast<daItemBase_c*>(actor);
u8 item_no = item->getItemNo();
item->CreateItemHeap(dItem_data::getArcName(item_no), dItem_data::getBmdName(item_no),
dItem_data::getBtkName(item_no), dItem_data::getBpkName(item_no),
dItem_data::getBckName(item_no), dItem_data::getBxaName(item_no),
dItem_data::getBrkName(item_no), dItem_data::getBtpName(item_no));
return item->CreateItemHeap(
dItem_data::getArcName(item_no), dItem_data::getBmdName(item_no),
dItem_data::getBtkName(item_no), dItem_data::getBpkName(item_no),
dItem_data::getBckName(item_no), dItem_data::getBxaName(item_no),
dItem_data::getBrkName(item_no), dItem_data::getBtpName(item_no)
);
}
/* 80037B78-80037BE0 0324B8 0068+00 0/0 1/1 7/7 .text CheckFieldItemCreateHeap__FP10fopAc_ac_c */
void CheckFieldItemCreateHeap(fopAc_ac_c* actor) {
int CheckFieldItemCreateHeap(fopAc_ac_c* actor) {
daItemBase_c* item = static_cast<daItemBase_c*>(actor);
u8 item_no = item->getItemNo();
item->CreateItemHeap(dItem_data::getFieldArc(item_no), dItem_data::getItemBmdName(item_no),
dItem_data::getItemBtkName(item_no), dItem_data::getItemBpkName(item_no),
dItem_data::getItemBckName(item_no), dItem_data::getItemBxaName(item_no),
dItem_data::getItemBrkName(item_no), dItem_data::getItemBtpName(item_no));
return item->CreateItemHeap(
dItem_data::getFieldArc(item_no), dItem_data::getItemBmdName(item_no),
dItem_data::getItemBtkName(item_no), dItem_data::getItemBpkName(item_no),
dItem_data::getItemBckName(item_no), dItem_data::getItemBxaName(item_no),
dItem_data::getItemBrkName(item_no), dItem_data::getItemBtpName(item_no)
);
}
/* ############################################################################################## */
+1 -12
View File
@@ -1860,7 +1860,6 @@ static s32 const a_jntNumTbl[13][2] = {
};
/* 80158FF0-801590FC 153930 010C+00 0/0 0/0 4/4 .text drawObj__10daNpcCd2_cFiP8J3DModelf */
#ifdef NONMATCHING // rlwinm loading wrong value
int daNpcCd2_c::drawObj(int idx, J3DModel* i_model, f32 i_scale) {
if (i_model == NULL) {
return 0;
@@ -1868,7 +1867,7 @@ int daNpcCd2_c::drawObj(int idx, J3DModel* i_model, f32 i_scale) {
if (field_0xac6 && !daPy_py_c::checkNowWolfEyeUp()) {
return 0;
}
u32 x = !isM_();
int x = isM_() ? 0 : 1;
s32 jntNum = a_jntNumTbl[idx][x];
if (i_model && jntNum >= 0) {
g_env_light.setLightTevColorType_MAJI(i_model, &tevStr);
@@ -1879,16 +1878,6 @@ int daNpcCd2_c::drawObj(int idx, J3DModel* i_model, f32 i_scale) {
}
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daNpcCd2_c::drawObj(int param_0, J3DModel* param_1, f32 param_2) {
nofralloc
#include "asm/a/npc/d_a_npc_cd2/drawObj__10daNpcCd2_cFiP8J3DModelf.s"
}
#pragma pop
#endif
/* 801590FC-80159258 153A3C 015C+00 0/0 0/0 4/4 .text drawNpc__10daNpcCd2_cFv */
int daNpcCd2_c::drawNpc() {
+14 -46
View File
@@ -631,56 +631,24 @@ void daPy_py_c::setMidnaFaceNum(int i_faceNum) {
}
/* 8015F97C-8015FA2C 15A2BC 00B0+00 0/0 7/7 2/2 .text daPy_addCalcShort__FPsssss */
// 1 instruction in wrong place
#ifdef NONMATCHING
int daPy_addCalcShort(s16* param_0, s16 param_1, s16 param_2, s16 param_3, s16 param_4) {
s16 temp_r0;
s16 temp_r0_2;
s16 temp_r8;
s16 temp_r9;
s32 temp_r10;
s32 temp_r4;
s32 temp_r5;
s32 phi_r4;
int daPy_addCalcShort(s16* i_value, s16 i_target, s16 i_scale, s16 i_maxStep, s16 i_minStep) {
int delta = i_target - *i_value;
temp_r8 = *param_0;
temp_r9 = (s16)param_1;
temp_r10 = temp_r9 - temp_r8;
if (temp_r8 != temp_r9) {
temp_r5 = temp_r10 / param_2;
temp_r0 = (s16)param_4;
if (temp_r5 > temp_r0 || temp_r5 < -temp_r0) {
temp_r0_2 = param_3;
temp_r4 = -temp_r0_2;
phi_r4 = temp_r4;
if (temp_r5 < temp_r4) {
phi_r4 = temp_r5;
} else if (temp_r5 > temp_r0_2) {
phi_r4 = temp_r0_2;
}
*param_0 += phi_r4;
} else if (temp_r10 >= 0) {
*param_0 = temp_r8 + param_4;
if (temp_r9 - *param_0 <= 0) {
*param_0 = param_1;
if (*i_value != i_target) {
int step = delta / i_scale;
if (step > i_minStep || step < -i_minStep) {
*i_value += cLib_minMaxLimit<int>(step, -i_maxStep, i_maxStep);
} else if (delta >= 0) {
*i_value += i_minStep;
if (i_target - *i_value <= 0) {
*i_value = i_target;
}
} else {
*param_0 = temp_r8 - param_4;
if (temp_r9 - *param_0 >= 0) {
*param_0 = param_1;
*i_value -= i_minStep;
if (i_target - *i_value >= 0) {
*i_value = i_target;
}
}
}
return temp_r9 - *param_0;
return i_target - *i_value;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int daPy_addCalcShort(s16* param_0, s16 param_1, s16 param_2, s16 param_3, s16 param_4) {
nofralloc
#include "asm/d/a/d_a_player/daPy_addCalcShort__FPsssss.s"
}
#pragma pop
#endif
+1 -1
View File
@@ -498,7 +498,7 @@ void dCcS::ProcAtTgHitmark(bool i_setAt, bool i_setTg, cCcD_Obj* param_2, cCcD_O
{
if ((i_atObjInf->GetAtType() &
(AT_TYPE_WOLF_ATTACK | AT_TYPE_WOLF_CUT_TURN | AT_TYPE_10000000 | AT_TYPE_MIDNA_LOCK |
AT_TYPE_HOOKSHOT | AT_TYPE_SHIELD_ATTACK | AT_TYPE_NORMAL_SWORD)) == 0 ||
AT_TYPE_HOOKSHOT | AT_TYPE_SHIELD_ATTACK | AT_TYPE_NORMAL_SWORD)) != 0 &&
i_tgObjInf->GetTgSpl() == 1)
{
return;
+100 -419
View File
@@ -1,7 +1,7 @@
//
// Generated By: dol2asm
// Translation Unit: d/com/d_com_inf_game
//
/**
* d_com_inf_game.cpp
* Game Information
*/
#include "d/com/d_com_inf_game.h"
#include "JSystem/JKernel/JKRAramArchive.h"
@@ -18,351 +18,6 @@
#include "m_Do/m_Do_graphic.h"
#include "stdio.h"
//
// Forward References:
//
extern "C" void ct__14dComIfG_play_cFv();
extern "C" void init__14dComIfG_play_cFv();
extern "C" void dComIfGp_checkItemGet__FUci();
extern "C" void itemInit__14dComIfG_play_cFv();
extern "C" void setItemBombNumCount__14dComIfG_play_cFUcs();
extern "C" void getItemBombNumCount__14dComIfG_play_cFUc();
extern "C" void clearItemBombNumCount__14dComIfG_play_cFUc();
extern "C" void setNowVibration__14dComIfG_play_cFUc();
extern "C" void getNowVibration__14dComIfG_play_cFv();
extern "C" void setStartStage__14dComIfG_play_cFP19dStage_startStage_c();
extern "C" void dComIfG_get_timelayer__FPi();
extern "C" void getLayerNo_common_common__14dComIfG_play_cFPCcii();
extern "C" void getLayerNo_common__14dComIfG_play_cFPCcii();
extern "C" void getLayerNo__14dComIfG_play_cFi();
extern "C" void createParticle__14dComIfG_play_cFv();
extern "C" void createSimpleModel__14dComIfG_play_cFv();
extern "C" void deleteSimpleModel__14dComIfG_play_cFv();
extern "C" void drawSimpleModel__14dComIfG_play_cFv();
extern "C" void addSimpleModel__14dComIfG_play_cFP12J3DModelDataiUc();
extern "C" void removeSimpleModel__14dComIfG_play_cFP12J3DModelDatai();
extern "C" void entrySimpleModel__14dComIfG_play_cFP8J3DModeli();
extern "C" void setTimerNowTimeMs__14dComIfG_play_cFi();
extern "C" void getTimerNowTimeMs__14dComIfG_play_cFv();
extern "C" void setTimerLimitTimeMs__14dComIfG_play_cFi();
extern "C" void getTimerLimitTimeMs__14dComIfG_play_cFv();
extern "C" void setTimerMode__14dComIfG_play_cFi();
extern "C" void getTimerMode__14dComIfG_play_cFv();
extern "C" void setTimerType__14dComIfG_play_cFUc();
extern "C" void getTimerType__14dComIfG_play_cFv();
extern "C" void setTimerPtr__14dComIfG_play_cFP8dTimer_c();
extern "C" void getTimerPtr__14dComIfG_play_cFv();
extern "C" void ct__13dComIfG_inf_cFv();
extern "C" void dComIfG_changeOpeningScene__FP11scene_classs();
extern "C" void dComIfG_resetToOpening__FP11scene_class();
extern "C" static void phase_1__FPc();
extern "C" static void phase_2__FPc();
extern "C" static s32 phase_3__FPc();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" static void phase_01__FP12phaseParam_c();
extern "C" static void phase_02__FP12phaseParam_c();
extern "C" static bool phase_03__FP12phaseParam_c();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCcP7JKRHeap();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void dComIfGp_getReverb__Fi();
extern "C" void dComIfGd_setSimpleShadow__FP4cXyzffR13cBgS_PolyInfosfP9_GXTexObj();
extern "C" void dComIfGp_getMapTrans__FiPfPfPs();
extern "C" void dComIfGp_getRoomCamera__Fi();
extern "C" void dComIfGp_getRoomArrow__Fi();
extern "C" void dComIfGp_setNextStage__FPCcsScScfUliScsii();
extern "C" void dComIfGp_setNextStage__FPCcsScSc();
extern "C" void dComIfGs_isStageTbox__Fii();
extern "C" void dComIfGs_onStageSwitch__Fii();
extern "C" void dComIfGs_offStageSwitch__Fii();
extern "C" void dComIfGs_isStageSwitch__Fii();
extern "C" void dComIfGs_onStageBossEnemy__Fi();
extern "C" void dComIfGs_isDungeonItemWarp__Fi();
extern "C" void dComIfGs_BossLife_public_Set__FSc();
extern "C" void dComIfGs_BossLife_public_Get__Fv();
extern "C" void dComIfGs_sense_type_change_Set__FSc();
extern "C" void dComIfGs_sense_type_change_Get__Fv();
extern "C" void dComIfGs_onZoneSwitch__Fii();
extern "C" void getZoneNo__20dStage_roomControl_cFi();
extern "C" void dComIfGs_offZoneSwitch__Fii();
extern "C" void dComIfGs_isZoneSwitch__Fii();
extern "C" void dComIfGs_onOneZoneSwitch__Fii();
extern "C" void dComIfGs_offOneZoneSwitch__Fii();
extern "C" void dComIfGs_isOneZoneSwitch__Fii();
extern "C" void dComIfGs_isZoneItem__Fii();
extern "C" void dComIfGs_isOneZoneItem__Fii();
extern "C" void dComIfGs_getMaxLifeGauge__Fv();
extern "C" void dComIfGs_setSelectItemIndex__FiUc();
extern "C" void dComIfGs_setMixItemIndex__FiUc();
extern "C" void dComIfGs_getSelectMixItemNoArrowIndex__Fi();
extern "C" void dComIfGs_getMixItemIndex__Fi();
extern "C" void dComIfGp_setSelectItem__Fi(int);
extern "C" void dComIfGp_getSelectItem__Fi();
extern "C" void dComIfGp_mapShow__Fv();
extern "C" void dComIfGp_mapHide__Fv();
extern "C" void dComIfGp_checkMapShow__Fv();
extern "C" void dComIfGp_setHeapLockFlag__FUc();
extern "C" s32 dComIfGp_offHeapLockFlag__Fi(int);
extern "C" static void dComIfGp_createSubExpHeap2D__Fv();
extern "C" static void dComIfGp_destroySubExpHeap2D__Fv();
extern "C" static int dComIfGp_checkEmptySubHeap2D__Fv();
extern "C" static int dComIfGp_searchUseSubHeap2D__Fi(int);
extern "C" void dComIfGp_getSubHeap2D__Fi();
extern "C" void dComIfGs_checkGetInsectNum__Fv();
extern "C" static u8 dComIfGs_checkGetItem__FUc(u8);
extern "C" s32 dComIfGs_getBottleMax__Fv();
extern "C" void dComIfGp_getSelectItemNum__Fi();
extern "C" void dComIfGp_getSelectItemMaxNum__Fi();
extern "C" void dComIfGp_setSelectItemNum__Fis();
extern "C" void dComIfGp_addSelectItemNum__Fis();
extern "C" void
dComIfGd_setShadow__FUlScP8J3DModelP4cXyzffffR13cBgS_PolyInfoP12dKy_tevstr_csfP9_GXTexObj();
extern "C" void dComIfGs_gameStart__Fv();
extern "C" void dComIfG_getTrigA__FUl();
extern "C" void dComIfGp_calcNowRegion__Fv();
extern "C" static void dComIfG_getNowCalcRegion__Fv();
extern "C" void dComIfGp_isLightDropMapVisible__Fv();
extern "C" void dComIfGp_getNowLevel__Fv();
extern "C" void dComIfGs_setSelectEquipClothes__FUc();
extern "C" void dComIfGs_setSelectEquipSword__FUc();
extern "C" void dComIfGs_setSelectEquipShield__FUc();
extern "C" void dComIfGs_setKeyNum__FiUc();
extern "C" static void dComIfGs_setWarpItemData__FiPCc4cXyzsScUcUc();
extern "C" void setWarpItemData__14dComIfG_play_cFPCc4cXyzsScUcUc();
extern "C" void dComIfGs_setWarpItemData__FPCc4cXyzsScUcUc();
extern "C" static void dComIfGs_setLastWarpMarkItemData__FPCc4cXyzsScUcUc(const char*, cXyz, s16,
s8, u8, u8);
extern "C" void dComIfGs_getWarpStageName__Fv();
extern "C" void dComIfGs_getWarpPlayerPos__Fv();
extern "C" void dComIfGs_getWarpPlayerAngleY__Fv();
extern "C" void dComIfGs_getWarpRoomNo__Fv();
extern "C" void dComIfGs_getWarpMarkFlag__Fv();
extern "C" void dComIfGs_setWarpMarkFlag__FUc();
extern "C" void __ct__19dComIfG_resLoader_cFv();
extern "C" void __dt__19dComIfG_resLoader_cFv();
extern "C" void load__19dComIfG_resLoader_cFPPCcP7JKRHeap();
extern "C" void dComIfG_getStageRes__FPCc();
extern "C" void dComIfG_getOldStageRes__FPCc();
extern "C" void dComIfG_getRoomArcName__Fi();
extern "C" void dComIfGp_ret_wp_set__FSc();
extern "C" void dComIfGp_world_dark_set__FUc();
extern "C" void dComIfGp_world_dark_get__Fv();
extern "C" void dComIfG_TimerStart__Fis();
extern "C" void dComIfG_TimerStop__Fi();
extern "C" void dComIfG_TimerReStart__Fi();
extern "C" void dComIfG_TimerEnd__Fii();
extern "C" void dComIfG_TimerDeleteCheck__Fi();
extern "C" void dComIfG_TimerDeleteRequest__Fi();
extern "C" void dComIfGs_Wolf_Change_Check__Fv();
extern "C" void dComIfGs_PolyDamageOff_Set__FSc();
extern "C" void dComIfGs_PolyDamageOff_Check__Fv();
extern "C" void dComIfGs_shake_kandelaar__Fv();
extern "C" void dComIfGs_shake_kandelaar_check__Fv();
extern "C" void dComIfGs_wolfeye_effect_check__Fv();
extern "C" void dComIfGs_Grass_hide_Set__FSc();
extern "C" void dComIfGp_TargetWarpPt_set__FUc();
extern "C" void dComIfGp_SelectWarpPt_set__FUc();
extern "C" void dComIfGp_TargetWarpPt_get__Fv();
extern "C" void dComIfGp_SelectWarpPt_get__Fv();
extern "C" void dComIfGp_TransportWarp_check__Fv();
extern "C" void dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv();
extern "C" void dComIfGs_onVisitedRoom__Fi();
extern "C" void dComIfGs_offVisitedRoom__Fi();
extern "C" void dComIfGs_isVisitedRoom__Fi();
extern "C" void dComIfGs_staffroll_next_go__Fv();
extern "C" void dComIfGs_staffroll_next_go_check__Fv();
extern "C" void __sinit_d_com_inf_game_cpp();
extern "C" void __dt__13dComIfG_inf_cFv();
extern "C" void __dt__14dComIfG_play_cFv();
extern "C" void __dt__11cBgS_ChkElmFv();
extern "C" void __dt__4dCcSFv();
extern "C" void __dt__12dCcMassS_ObjFv();
extern "C" void __dt__12dEvt_order_cFv();
extern "C" void __dt__11dEvDtBase_cFv();
extern "C" void __dt__14dDlst_window_cFv();
extern "C" void __dt__25dComIfG_camera_info_classFv();
extern "C" void __ct__13dComIfG_inf_cFv();
extern "C" void __ct__25dComIfG_camera_info_classFv();
extern "C" void __ct__14dDlst_window_cFv();
extern "C" void __dt__10dAttList_cFv();
extern "C" void __ct__10dAttList_cFv();
extern "C" void __dt__7cSAngleFv();
extern "C" void __dt__10dAttDraw_cFv();
extern "C" void __dt__13mDoExt_bckAnmFv();
extern "C" void __dt__13mDoExt_bpkAnmFv();
extern "C" void __dt__13mDoExt_brkAnmFv();
extern "C" void __dt__13mDoExt_btkAnmFv();
extern "C" void __ct__10dAttDraw_cFv();
extern "C" void __ct__13mDoExt_btkAnmFv();
extern "C" void __ct__13mDoExt_brkAnmFv();
extern "C" void __ct__13mDoExt_bpkAnmFv();
extern "C" void __ct__13mDoExt_bckAnmFv();
extern "C" void __dt__12dCcMassS_MngFv();
extern "C" void __dt__4cCcSFv();
extern "C" void __dt__4dBgSFv();
extern "C" void __dt__4cBgSFv();
extern "C" void __ct__11cBgS_ChkElmFv();
extern "C" void __ct__10dSv_zone_cFv();
extern "C" void __ct__13dSv_memory2_cFv();
extern "C" void __ct__12dSv_memory_cFv();
extern "C" void __dt__15cCcD_DivideAreaFv();
extern "C" void __dt__8cM3dGCylFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void __dt__15cCcD_DivideInfoFv();
extern "C" extern char const* const d_com_d_com_inf_game__stringBase0;
extern "C" extern GXColor g_saftyWhiteColor;
//
// External References:
//
extern "C" void mDoAud_setSceneName__FPCcll();
extern "C" void mDoAud_resetProcess__Fv();
extern "C" void mDoExt_destroyExpHeap__FP10JKRExpHeap();
extern "C" void fopScnM_ChangeReq__FP11scene_classssUs();
extern "C" void fopScnM_ReRequest__FsUl();
extern "C" void set__18dStage_nextStage_cFPCcScsScScUc();
extern "C" void initZone__20dStage_roomControl_cFv();
extern "C" void getStatusRoomDt__20dStage_roomControl_cFi();
extern "C" u8 dStage_roomRead_dt_c_GetReverbStage__FR14roomRead_classi(roomRead_class&, int);
extern "C" void setSelectItemIndex__21dSv_player_status_a_cFiUc();
extern "C" void getSelectItemIndex__21dSv_player_status_a_cCFi();
extern "C" void setMixItemIndex__21dSv_player_status_a_cFiUc();
extern "C" void getMixItemIndex__21dSv_player_status_a_cCFi();
extern "C" void isDarkClearLV__21dSv_player_status_b_cCFi();
extern "C" void isTransformLV__21dSv_player_status_b_cCFi();
extern "C" void set__33dSv_player_field_last_stay_info_cFPCcRC4cXyzsScUc();
extern "C" void onRegionBit__33dSv_player_field_last_stay_info_cFi();
extern "C" void isRegionBit__33dSv_player_field_last_stay_info_cCFi();
extern "C" void setWarpItemData__27dSv_player_last_mark_info_cFPCcRC4cXyzsScUcUc();
extern "C" void getItem__17dSv_player_item_cCFib();
extern "C" void isFirstBit__21dSv_player_get_item_cCFUc();
extern "C" void setBombNum__24dSv_player_item_record_cFUcUc();
extern "C" void getBombNum__24dSv_player_item_record_cCFUc();
extern "C" void setBottleNum__24dSv_player_item_record_cFUcUc();
extern "C" void addBottleNum__24dSv_player_item_record_cFUcs();
extern "C" void getBottleNum__24dSv_player_item_record_cCFUc();
extern "C" void getBombNum__21dSv_player_item_max_cCFUc();
extern "C" void setCollect__20dSv_player_collect_cFiUc();
extern "C" void getLightDropNum__16dSv_light_drop_cCFUc();
extern "C" void isLightDropGetFlag__16dSv_light_drop_cCFUc();
extern "C" void getVibration__19dSv_player_config_cFv();
extern "C" void isTbox__12dSv_memBit_cCFi();
extern "C" void onSwitch__12dSv_memBit_cFi();
extern "C" void offSwitch__12dSv_memBit_cFi();
extern "C" void isSwitch__12dSv_memBit_cCFi();
extern "C" void onDungeonItem__12dSv_memBit_cFi();
extern "C" void isDungeonItem__12dSv_memBit_cCFi();
extern "C" void onEventBit__11dSv_event_cFUs();
extern "C" void offEventBit__11dSv_event_cFUs();
extern "C" void isEventBit__11dSv_event_cCFUs();
extern "C" void init__12dSv_memory_cFv();
extern "C" void init__13dSv_memory2_cFv();
extern "C" void onVisitedRoom__13dSv_memory2_cFi();
extern "C" void offVisitedRoom__13dSv_memory2_cFi();
extern "C" void isVisitedRoom__13dSv_memory2_cFi();
extern "C" void onSwitch__13dSv_zoneBit_cFi();
extern "C" void offSwitch__13dSv_zoneBit_cFi();
extern "C" void isSwitch__13dSv_zoneBit_cCFi();
extern "C" void onOneSwitch__13dSv_zoneBit_cFi();
extern "C" void offOneSwitch__13dSv_zoneBit_cFi();
extern "C" void isOneSwitch__13dSv_zoneBit_cCFi();
extern "C" void isItem__13dSv_zoneBit_cCFi();
extern "C" void isOneItem__13dSv_zoneBit_cCFi();
extern "C" void getSave2__10dSv_save_cFi();
extern "C" void onSwitch__10dSv_info_cFii();
extern "C" void offSwitch__10dSv_info_cFii();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void __ct__11dRes_info_cFv();
extern "C" void __dt__11dRes_info_cFv();
extern "C" void __dt__14dRes_control_cFv();
extern "C" void setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap();
extern "C" void syncRes__14dRes_control_cFPCcP11dRes_info_ci();
extern "C" void deleteRes__14dRes_control_cFPCcP11dRes_info_ci();
extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci();
extern "C" void getMapPlayerPos__10dMapInfo_nFv();
extern "C" void __ct__14dEvt_control_cFv();
extern "C" void __ct__16dEvent_manager_cFv();
extern "C" void __ct__15dSmplMdl_draw_cFv();
extern "C" void draw__15dSmplMdl_draw_cFv();
extern "C" void entry__15dSmplMdl_draw_cFP8J3DModeli();
extern "C" void addModel__15dSmplMdl_draw_cFP12J3DModelDataiUc();
extern "C" void removeModel__15dSmplMdl_draw_cFP12J3DModelDatai();
extern "C" void __ct__13dPa_control_cFv();
extern "C" void setReal__21dDlst_shadowControl_cFUlScP8J3DModelP4cXyzffP12dKy_tevstr_c();
extern "C" void setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj();
extern "C" void __ct__12dDlst_list_cFv();
extern "C" void __dt__12dDlst_list_cFv();
extern "C" void __dt__12dAttention_cFv();
extern "C" void Init__11cBgS_ChkElmFv();
extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla();
extern "C" void __ct__12dCcMassS_MngFv();
extern "C" int checkItemGet__FUci(u8, int);
extern "C" void setLastSceneMode__9daAlink_cFPUl();
extern "C" int dKy_daynight_check__Fv();
extern "C" void dKy_darkworld_stage_check__FPCci();
extern "C" void dMenuFmap_getStartStageName__FPv();
extern "C" void init__13dMeter2Info_cFv();
extern "C" void setSaveStageName__13dMeter2Info_cFPCc();
extern "C" void deleteCheck__8dTimer_cFv();
extern "C" void start__8dTimer_cFi();
extern "C" void start__8dTimer_cFis();
extern "C" void stop__8dTimer_cFUc();
extern "C" void restart__8dTimer_cFUc();
extern "C" void end__8dTimer_cFi();
extern "C" void deleteRequest__8dTimer_cFv();
extern "C" void __ct__4cCcSFv();
extern "C" void cPhs_Handler__FP30request_of_phase_process_classPPFPv_iPv();
extern "C" void ChkSetInfo__13cBgS_PolyInfoCFv();
extern "C" void __dt__8cM3dGCpsFv();
extern "C" void bgmStop__8Z2SeqMgrFUll();
extern "C" void getTotalFreeSize__7JKRHeapFv();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void create__10JKRExpHeapFUlP7JKRHeapb();
extern "C" void init__12J3DFrameCtrlFs();
extern "C" void __register_global_object();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void __cvt_fp2unsigned();
extern "C" void _savegpr_21();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_21();
extern "C" void _restgpr_25();
extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__12J3DFrameCtrl[3];
extern "C" extern void* __vt__8cM3dGPla[3];
extern "C" extern void* __vt__16dStage_stageDt_c[93];
extern "C" extern void* __vt__11dStage_dt_c[93];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern void* __vt__19dAttDraw_CallBack_c[3];
extern "C" extern void* __vt__11dAttParam_c[3 + 1 /* padding */];
extern "C" extern void* __vt__4dBgS[5];
extern "C" extern void* __vt__4cBgS[5];
extern "C" extern void* __vt__11cBgS_ChkElm[4];
extern "C" extern void* __vt__4dCcS[13];
extern "C" extern void* __vt__12cCcD_CylAttr[25];
extern "C" extern void* __vt__12cCcD_CpsAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__4cCcS[12];
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
extern "C" u8 mStatus__20dStage_roomControl_c[65792];
extern "C" extern dScnKy_env_light_c g_env_light;
extern "C" u8 mFader__13mDoGph_gInf_c[4];
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
// Declarations:
//
void dComIfG_play_c::ct() {
mWindowNum = 0;
mParticle = NULL;
@@ -1656,106 +1311,132 @@ s8 dComIfGs_sense_type_change_Get() {
}
/* 8002D94C-8002D9B0 02828C 0064+00 0/0 1/1 17/17 .text dComIfGs_onZoneSwitch__Fii */
// matches debug but not retail :/
#ifdef NONMATCHING
void dComIfGs_onZoneSwitch(int i_swBit, int i_roomNo) {
int zone_no;
int room_no;
if (i_roomNo >= 0) {
room_no = i_roomNo;
} else {
room_no = dComIfGp_roomControl_getStayNo();
if (room_no < 0) {
return;
}
}
if (room_no >= 0) {
zone_no = dComIfGp_roomControl_getZoneNo(room_no);
dComIfGs_onSvZoneSwitch(zone_no, i_swBit);
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dComIfGs_onZoneSwitch(int swBit, int roomNo) {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_onZoneSwitch__Fii.s"
}
#pragma pop
#endif
int dStage_roomControl_c::getZoneNo(int i_roomNo) {
return mStatus[i_roomNo].getZoneNo();
int zone_no = dComIfGp_roomControl_getZoneNo(room_no);
dComIfGs_onSvZoneSwitch(zone_no, i_swBit);
}
/* 8002D9CC-8002DA30 02830C 0064+00 0/0 1/1 1/1 .text dComIfGs_offZoneSwitch__Fii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dComIfGs_offZoneSwitch(int param_0, int param_1) {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_offZoneSwitch__Fii.s"
void dComIfGs_offZoneSwitch(int i_swBit, int i_roomNo) {
int room_no;
if (i_roomNo >= 0) {
room_no = i_roomNo;
} else {
room_no = dComIfGp_roomControl_getStayNo();
if (room_no < 0) {
return;
}
}
int zone_no = dComIfGp_roomControl_getZoneNo(room_no);
dComIfGs_offSvZoneSwitch(zone_no, i_swBit);
}
#pragma pop
/* 8002DA30-8002DA9C 028370 006C+00 0/0 1/1 10/10 .text dComIfGs_isZoneSwitch__Fii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL dComIfGs_isZoneSwitch(int param_0, int param_1) {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_isZoneSwitch__Fii.s"
BOOL dComIfGs_isZoneSwitch(int i_swBit, int i_roomNo) {
int room_no;
if (i_roomNo >= 0) {
room_no = i_roomNo;
} else {
room_no = dComIfGp_roomControl_getStayNo();
if (room_no < 0) {
return false;
}
}
int zone_no = dComIfGp_roomControl_getZoneNo(room_no);
return dComIfGs_isSvZoneSwitch(zone_no, i_swBit);
}
#pragma pop
/* 8002DA9C-8002DB00 0283DC 0064+00 0/0 1/1 51/51 .text dComIfGs_onOneZoneSwitch__Fii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dComIfGs_onOneZoneSwitch(int param_0, int param_1) {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_onOneZoneSwitch__Fii.s"
void dComIfGs_onOneZoneSwitch(int i_swBit, int i_roomNo) {
int room_no;
if (i_roomNo >= 0) {
room_no = i_roomNo;
} else {
room_no = dComIfGp_roomControl_getStayNo();
if (room_no < 0) {
return;
}
}
int zone_no = dComIfGp_roomControl_getZoneNo(room_no);
dComIfGs_onSvOneZoneSwitch(zone_no, i_swBit);
}
#pragma pop
/* 8002DB00-8002DB64 028440 0064+00 0/0 1/1 17/17 .text dComIfGs_offOneZoneSwitch__Fii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dComIfGs_offOneZoneSwitch(int param_0, int param_1) {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_offOneZoneSwitch__Fii.s"
void dComIfGs_offOneZoneSwitch(int i_swBit, int i_roomNo) {
int room_no;
if (i_roomNo >= 0) {
room_no = i_roomNo;
} else {
room_no = dComIfGp_roomControl_getStayNo();
if (room_no < 0) {
return;
}
}
int zone_no = dComIfGp_roomControl_getZoneNo(room_no);
dComIfGs_offSvOneZoneSwitch(zone_no, i_swBit);
}
#pragma pop
/* 8002DB64-8002DBD0 0284A4 006C+00 0/0 5/5 13/13 .text dComIfGs_isOneZoneSwitch__Fii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL dComIfGs_isOneZoneSwitch(int param_0, int param_1) {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_isOneZoneSwitch__Fii.s"
BOOL dComIfGs_isOneZoneSwitch(int i_swBit, int i_roomNo) {
int room_no;
if (i_roomNo >= 0) {
room_no = i_roomNo;
} else {
room_no = dComIfGp_roomControl_getStayNo();
if (room_no < 0) {
return false;
}
}
int zone_no = dComIfGp_roomControl_getZoneNo(room_no);
return dComIfGs_isSvOneZoneSwitch(zone_no, i_swBit);
}
#pragma pop
/* 8002DBD0-8002DC3C 028510 006C+00 0/0 1/1 0/0 .text dComIfGs_isZoneItem__Fii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL dComIfGs_isZoneItem(int param_0, int param_1) {
nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_isZoneItem__Fii.s"
BOOL dComIfGs_isZoneItem(int i_swBit, int i_roomNo) {
int room_no;
if (i_roomNo >= 0) {
room_no = i_roomNo;
} else {
room_no = dComIfGp_roomControl_getStayNo();
if (room_no < 0) {
return false;
}
}
int zone_no = dComIfGp_roomControl_getZoneNo(room_no);
return dComIfGs_isSvZoneItem(zone_no, i_swBit);
}
#pragma pop
/* 8002DC3C-8002DCA8 02857C 006C+00 0/0 1/1 0/0 .text dComIfGs_isOneZoneItem__Fii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm BOOL dComIfGs_isOneZoneItem(int param_0, int param_1){nofralloc
#include "asm/d/com/d_com_inf_game/dComIfGs_isOneZoneItem__Fii.s"
BOOL dComIfGs_isOneZoneItem(int i_swBit, int i_roomNo) {
int room_no;
if (i_roomNo >= 0) {
room_no = i_roomNo;
} else {
room_no = dComIfGp_roomControl_getStayNo();
if (room_no < 0) {
return false;
}
}
int zone_no = dComIfGp_roomControl_getZoneNo(room_no);
return dComIfGs_isSvOneZoneItem(zone_no, i_swBit);
}
#pragma pop
u16 dComIfGs_getMaxLifeGauge() {
return (dComIfGs_getMaxLife() / 5) * 4;
+5 -3
View File
@@ -782,7 +782,7 @@ int dDemo_setDemoData(fopAc_ac_c* param_0, u8 param_1, mDoExt_McaMorf* param_2,
return 0;
}
u32 flags = demo_actor->checkEnable(param_1);
u8 flags = demo_actor->checkEnable(param_1);
if (flags & 2) {
param_0->current.pos = demo_actor->getTrans();
param_0->old.pos = param_0->current.pos;
@@ -793,7 +793,7 @@ int dDemo_setDemoData(fopAc_ac_c* param_0, u8 param_1, mDoExt_McaMorf* param_2,
}
if (flags & 4) {
param_0->mScale = demo_actor->getScale();
param_0->scale = demo_actor->getScale();
}
if (flags & 0x80) {
@@ -1428,18 +1428,20 @@ SECTION_SDATA2 static f64 lit_5123 = 1.0 / 29.999998435378155;
/* 80039678-80039910 033FB8 0298+00 0/0 1/1 0/0 .text create__7dDemo_cFv */
#ifdef NONMATCHING
// matches with data
void dDemo_c::create() {
m_system = new dDemo_system_c();
m_control = new JStudio::TControl();
m_mesgControl = new jmessage_tControl();
m_stage = new JStudio_JStage::TCreateObject(m_system);
m_audio = new JStudio_JAudio2::TCreateObject(Z2GetSoundStarter(), m_system);
m_audio->mPermit_onExit_notEnd = true;
m_particle = new dDemo_particle_c(dPa_control_c::getEmitterManager(), m_system);
m_message = new jstudio_tCreateObject_message();
m_factory = new JStudio::TFactory();
m_object = new dDemo_object_c();
m_control->setSecondPerFrame(1.0 / 29.999998435378155);
m_control->setSecondPerFrame(1.0f / 30.0f);
m_control->setFactory(m_factory);
m_factory->appendCreateObject(m_stage);
m_factory->appendCreateObject(m_audio);
+14 -90
View File
@@ -1,7 +1,7 @@
//
// Generated By: dol2asm
// Translation Unit: d/d_lib
//
/**
* d_lib.cpp
* Utility Functions
*/
#include "d/d_lib.h"
#include "d/event/d_event.h"
@@ -9,58 +9,9 @@
#include "JSystem/JKernel/JKRAramArchive.h"
#include "JSystem/JKernel/JKRAram.h"
#include "JSystem/JKernel/JKRDecomp.h"
#include "dol2asm.h"
#include "f_op/f_op_actor.h"
#include "m_Do/m_Do_controller_pad.h"
//
// Forward References:
//
extern "C" void __ct__9STControlFssssffss();
extern "C" void setWaitParm__9STControlFssssffss();
extern "C" void init__9STControlFv();
extern "C" void Xinit__9STControlFv();
extern "C" void Yinit__9STControlFv();
extern "C" void getValueStick__9STControlFv();
extern "C" void getAngleStick__9STControlFv();
extern "C" void getValueStick__10CSTControlFv();
extern "C" void getAngleStick__10CSTControlFv();
extern "C" void checkTrigger__9STControlFv();
extern "C" void checkLeftTrigger__9STControlFv();
extern "C" void checkRightTrigger__9STControlFv();
extern "C" void checkUpTrigger__9STControlFv();
extern "C" void checkDownTrigger__9STControlFv();
extern "C" void dLib_getEventSwitchNo__Fi();
extern "C" void dLib_checkActorInRectangle__FP10fopAc_ac_cP10fopAc_ac_cPC4cXyzPC4cXyz();
extern "C" void dLib_getExpandSizeFromAramArchive__FP14JKRAramArchivePCc();
extern "C" void getTime__11dLib_time_cFv();
extern "C" void stopTime__11dLib_time_cFv();
extern "C" void startTime__11dLib_time_cFv();
extern "C" u8 m_diffTime__11dLib_time_c[4];
extern "C" u8 m_stopTime__11dLib_time_c[4];
extern "C" extern u8 struct_80450DF0[8];
//
// External References:
//
extern "C" void mDoMtx_YrotS__FPA4_fs();
extern "C" void searchMapEventData__14dEvt_control_cFUc();
extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void aramToMainRam__7JKRAramFUlPUcUl15JKRExpandSwitchUlP7JKRHeapiPUl();
extern "C" void findFsResource__10JKRArchiveCFPCcUl();
extern "C" void getAramAddress__14JKRAramArchiveFPCc();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
extern "C" u8 now__14mDoMtx_stack_c[48];
//
// Declarations:
//
/* ############################################################################################## */
/* 803A7240-803A7250 004360 0010+00 0/0 0/0 6/6 .data ZeroQuat */
Quaternion ZeroQuat = {
0.0f,
@@ -69,22 +20,6 @@ Quaternion ZeroQuat = {
1.0f
};
/* 803A7250-803A7260 004370 0010+00 0/0 1/1 0/0 .data __vt__10CSTControl */
SECTION_DATA extern void* __vt__10CSTControl[4] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)getValueStick__10CSTControlFv,
(void*)getAngleStick__10CSTControlFv,
};
/* 803A7260-803A7270 004380 0010+00 1/1 1/1 0/0 .data __vt__9STControl */
SECTION_DATA extern void* __vt__9STControl[4] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)getValueStick__9STControlFv,
(void*)getAngleStick__9STControlFv,
};
STControl::STControl(s16 delayY, s16 delayX, s16 param_2, s16 param_3, f32 threshold, f32 param_5,
s16 param_6, s16 param_7) {
setWaitParm(delayY, delayX, param_2, param_3, threshold, param_5, param_6, param_7);
@@ -152,7 +87,6 @@ s16 CSTControl::getAngleStick() {
}
/* 8003219C-8003242C 02CADC 0290+00 0/0 24/24 0/0 .text checkTrigger__9STControlFv */
#ifdef NONMATCHING
u8 STControl::checkTrigger() {
field_0x0d = mDirectionTrig;
f32 stickValue = getValueStick();
@@ -161,21 +95,21 @@ u8 STControl::checkTrigger() {
s16 temp_r7 = 0x2000 - field_0x26 >> 1;
if (!cM3d_IsZero(stickValue)) {
if (stickAngle < field_0x22 + temp_r7 - 0x7000) {
if (stickAngle < field_0x22 - 0x7000 + temp_r7) {
var_r6 |= TRIG_UP;
} else if (stickAngle < (field_0x22 - 0x5000) - temp_r7) {
} else if (stickAngle < field_0x22 - 0x5000 - temp_r7) {
var_r6 |= TRIG_UP_LEFT;
} else if (stickAngle < field_0x22 + temp_r7 - 0x3000) {
} else if (stickAngle < field_0x22 - 0x3000 + temp_r7) {
var_r6 |= TRIG_LEFT;
} else if (stickAngle < (field_0x22 - 0x1000) - temp_r7) {
} else if (stickAngle < field_0x22 - 0x1000 - temp_r7) {
var_r6 |= TRIG_DOWN_LEFT;
} else if (stickAngle < field_0x22 + temp_r7 + 0x1000) {
} else if (stickAngle < field_0x22 + 0x1000 + temp_r7) {
var_r6 |= TRIG_DOWN;
} else if (stickAngle < (field_0x22 + 0x3000) - temp_r7) {
} else if (stickAngle < field_0x22 + 0x3000 - temp_r7) {
var_r6 |= TRIG_DOWN_RIGHT;
} else if (stickAngle < field_0x22 + temp_r7 + 0x5000) {
} else if (stickAngle < field_0x22 + 0x5000 + temp_r7) {
var_r6 |= TRIG_RIGHT;
} else if (stickAngle < (field_0x22 + 0x7000) - temp_r7) {
} else if (stickAngle < field_0x22 + 0x7000 - temp_r7) {
var_r6 |= TRIG_UP_RIGHT;
} else {
var_r6 |= TRIG_UP;
@@ -222,16 +156,6 @@ u8 STControl::checkTrigger() {
return mDirectionTrig;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm u8 STControl::checkTrigger() {
nofralloc
#include "asm/d/d_lib/checkTrigger__9STControlFv.s"
}
#pragma pop
#endif
bool STControl::checkLeftTrigger() {
if (field_0x0e == 0 && mDirectionTrig & TRIG_LEFT) {
@@ -334,7 +258,8 @@ u32 dLib_getExpandSizeFromAramArchive(JKRAramArchive* i_aramArchive, char const*
if (address == 0) {
return 0;
}
u8* readAddress = JKRAramToMainRam(address, header, 0x20, EXPAND_SWITCH_UNKNOWN0, 0, 0, 0xffffffff, 0);
u8* readAddress = JKRAramToMainRam(address, header, 0x20, EXPAND_SWITCH_UNKNOWN0,
0, 0, 0xffffffff, 0);
JUT_ASSERT(1260, readAddress == header);
JKRArchive::SDIFileEntry* entry = i_aramArchive->findFsResource(param_2, 0);
JUT_ASSERT(1263, entry != 0);
@@ -346,7 +271,6 @@ u32 dLib_getExpandSizeFromAramArchive(JKRAramArchive* i_aramArchive, char const*
return uVar5;
}
/* ############################################################################################## */
/* 80450DD8-80450DDC 0002D8 0004+00 2/2 0/0 0/0 .sbss m_diffTime__11dLib_time_c */
OSTime dLib_time_c::m_diffTime;
+6 -4
View File
@@ -5,6 +5,8 @@
#include "d/d_resorce.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
#include "JSystem/J3DGraphLoader/J3DModelLoader.h"
#include "JSystem/JKernel/JKRMemArchive.h"
#include "JSystem/JKernel/JKRSolidHeap.h"
#include "d/com/d_com_inf_game.h"
@@ -393,7 +395,7 @@ J3DModelData* dRes_info_c::loaderBasicBmd(u32 i_type, void* i_data) {
flags ^= 0x60020;
}
modelData = (J3DModelData*)J3DModelLoaderDataBase::load(i_data, flags);
modelData = J3DModelLoaderDataBase::load(i_data, flags);
if (modelData == NULL) {
return NULL;
}
@@ -447,11 +449,11 @@ J3DModelData* dRes_info_c::loaderBasicBmd(u32 i_type, void* i_data) {
}
if (i_type == 'BMDR' || i_type == 'BMWR') {
if (modelData->newSharedDisplayList(0x40000) == 0) {
if (modelData->newSharedDisplayList(0x40000) != 0) {
return NULL;
} else {
modelData->simpleCalcMaterial(0, (MtxP)j3dDefaultMtx);
modelData->makeSharedDL();
} else {
modelData = NULL;
}
}
+3 -6
View File
@@ -28,7 +28,7 @@ SECTION_SDATA2 static f64 lit_3632 = 4503601774854144.0 /* cast s32 to float */;
/* 80097878-80097904 0921B8 008C+00 0/0 7/7 0/0 .text Init__14d2DBSplinePathFll */
#ifdef NONMATCHING
// regalloc
// matches with literals
void d2DBSplinePath::Init(s32 param_0, s32 param_1) {
s32 tmp;
s32 tmp2;
@@ -38,11 +38,8 @@ void d2DBSplinePath::Init(s32 param_0, s32 param_1) {
field_0x08 = 1;
field_0x0c = param_1;
if (field_0x0c != 0) {
tmp2 = field_0x0c - 1;
}
field_0x04 < 2 ? tmp = 1 : tmp = field_0x04 - 2;
tmp2 = field_0x0c != 0 ? field_0x0c - 1 : 1;
tmp = field_0x04 < 2 ? 1 : field_0x04 - 2;
field_0x10 = (f32)tmp / (f32)tmp2;
field_0x2c = 0;
+10 -46
View File
@@ -6,6 +6,7 @@
#include "d/d_stage.h"
#include "JSystem/JKernel/JKRAramArchive.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "d/d_path.h"
#include "stdio.h"
#include "SSystem/SComponent/c_malloc.h"
#include "d/com/d_com_inf_game.h"
@@ -1626,37 +1627,25 @@ SECTION_DEAD static char const* const stringBase_80378AF0 =
/* 80024954-80024A34 01F294 00E0+00 0/0 2/2 0/2 .text resetArchiveBank__20dStage_roomControl_cFi
*/
// regalloc
#ifdef NONMATCHING
bool dStage_roomControl_c::resetArchiveBank(int i_bank) {
for (; i_bank < 32; i_bank++) {
char* bank = getArcBank(i_bank);
for (int i = i_bank; i < 32; i++) {
char* bank = getArcBank(i);
if (strcmp(bank, "")) {
s32 syncStatus = dComIfG_syncObjectRes(bank);
if (syncStatus < 0) {
OSReport_Error("Bank[%d] : %s.arc Sync Read Error !!\n", i_bank, bank);
OSReport_Error("Bank[%d] : %s.arc Sync Read Error !!\n", i, bank);
} else {
if (syncStatus > 0) {
return 0;
}
dComIfG_deleteObjectResMain(bank);
setArcBank(i_bank, "");
setArcBank(i, "");
}
}
}
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool dStage_roomControl_c::resetArchiveBank(int param_0) {
nofralloc
#include "asm/d/d_stage/resetArchiveBank__20dStage_roomControl_cFi.s"
}
#pragma pop
#endif
/* 80024A34-80024ABC 01F374 0088+00 1/1 0/0 0/2 .text
* create__Q220dStage_roomControl_c9roomDzs_cFUc */
@@ -2366,8 +2355,6 @@ static int dStage_doorInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum,
}
/* 80025DA8-80025E40 0206E8 0098+00 2/0 0/0 0/0 .text dStage_roomReadInit__FP11dStage_dt_cPviPv */
// close
#ifdef NONMATCHING
static int dStage_roomReadInit(dStage_dt_c* param_0, void* i_data, int param_2, void* param_3) {
roomRead_class* p_node = (roomRead_class*)((int*)i_data + 1);
roomRead_data_class** rtbl = p_node->field_0x4;
@@ -2376,24 +2363,13 @@ static int dStage_roomReadInit(dStage_dt_c* param_0, void* i_data, int param_2,
for (int i = 0; i < p_node->field_0x0; i++) {
if ((int)rtbl[i] < 0x80000000) {
rtbl[i] += (int)param_3;
rtbl[i]->field_0x4 += (int)param_3;
rtbl[i] = (roomRead_data_class*)((int)rtbl[i] + (int)param_3);
rtbl[i]->field_0x4 = (u8*)((int)rtbl[i]->field_0x4 + (int)param_3);
}
}
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm int dStage_roomReadInit(dStage_dt_c* param_0, void* param_1, int param_2,
void* param_3) {
nofralloc
#include "asm/d/d_stage/dStage_roomReadInit__FP11dStage_dt_cPviPv.s"
}
#pragma pop
#endif
/* 80025E40-80025E70 020780 0030+00 0/0 1/1 0/0 .text
* dStage_roomRead_dt_c_GetReverbStage__FR14roomRead_classi */
@@ -2412,8 +2388,6 @@ static int dStage_ppntInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum,
}
/* 80025EA4-80025F44 0207E4 00A0+00 1/0 0/0 0/0 .text dStage_pathInfoInit__FP11dStage_dt_cPviPv */
// close
#ifdef NONMATCHING
static int dStage_pathInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
dStage_dPath_c* path_c = (dStage_dPath_c*)((char*)i_data + 4);
dPath* path = path_c->m_path;
@@ -2422,24 +2396,14 @@ static int dStage_pathInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum,
for (int i = 0; i < path_c->m_num; i++) {
if ((u32)path->m_points < 0x80000000) {
path->m_points += (int)stageDt->getPntInf();
// fake match?
path->m_points = (dStage_dPnt_c*)((int)path->m_points + *(int*)&stageDt->getPntInf()->m_position);
}
path++;
}
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm int dStage_pathInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
void* param_3) {
nofralloc
#include "asm/d/d_stage/dStage_pathInfoInit__FP11dStage_dt_cPviPv.s"
}
#pragma pop
#endif
/* 80025F44-80025F78 020884 0034+00 2/0 0/0 0/0 .text dStage_rppnInfoInit__FP11dStage_dt_cPviPv */
static int dStage_rppnInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
@@ -3157,7 +3121,7 @@ int dStage_changeScene4Event(int i_exitId, s8 room_no, int i_wipe, bool param_3,
}
dComIfGp_setNextStage(scls_info->mStage, scls_info->mStart, (s8)scls_info->mRoom, (s8)layer,
speed, mode, 1, wipe == 15 ? 0 : wipe, angle, param_3 != false,
speed, mode, 1, wipe == 15 ? 0 : wipe, angle, param_3 ? 1 : 0,
wipe_time);
return 1;
}
+19 -14
View File
@@ -9,6 +9,8 @@
#include "d/file/d_file_select.h"
#include "d/file/d_file_sel_info.h"
#include "JSystem/J2DGraph/J2DAnmLoader.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
#include "d/meter/d_meter2_info.h"
#include "f_op/f_op_msg_mng.h"
#include "dol2asm.h"
@@ -441,7 +443,7 @@ SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
};
/* 803BA854-803BA860 017974 000C+00 3/3 0/0 0/0 .data SelStartFrameTbl */
SECTION_DATA static u32 SelStartFrameTbl[3] = {
SECTION_DATA static s32 SelStartFrameTbl[3] = {
0x0000003B,
0x00000063,
0x0000008B,
@@ -455,14 +457,14 @@ SECTION_DATA static s32 SelEndFrameTbl[3] = {
};
/* 803BA86C-803BA878 01798C 000C+00 7/7 0/0 0/0 .data SelOpenStartFrameTbl */
SECTION_DATA static u32 SelOpenStartFrameTbl[3] = {
SECTION_DATA static s32 SelOpenStartFrameTbl[3] = {
0x000000F8,
0x000001C0,
0x00000288,
};
/* 803BA878-803BA884 017998 000C+00 7/7 0/0 0/0 .data SelOpenEndFrameTbl */
SECTION_DATA static u32 SelOpenEndFrameTbl[3] = {
SECTION_DATA static s32 SelOpenEndFrameTbl[3] = {
0x00000103,
0x000001CC,
0x00000293,
@@ -2693,14 +2695,14 @@ asm void dFile_select_c::dataSelectAnmSet() {
/* 80185DE0-80186088 180720 02A8+00 1/0 0/0 0/0 .text dataSelectMoveAnime__14dFile_select_cFv */
#ifdef NONMATCHING
// still alot wrong
// matches with literals
void dFile_select_c::dataSelectMoveAnime() {
int iVar7 = 1;
int iVar6 = 1;
bool iVar7 = true;
bool iVar6 = true;
bool bVar1 = true;
if (mLastSelectNum != 0xff) {
field_0x0188[mLastSelectNum]->alphaAnime(g_fsHIO.field_0x0006,0xff,0,1);
selectWakuAlpahAnm(mLastSelectNum);
iVar7 = field_0x0188[mLastSelectNum]->alphaAnime(g_fsHIO.field_0x0006,0xff,0,1);
iVar6 = selectWakuAlpahAnm(mLastSelectNum);
if (field_0x00e0[mLastSelectNum] != SelStartFrameTbl[mLastSelectNum]) {
field_0x00e0[mLastSelectNum] = field_0x00e0[mLastSelectNum] - 2;
@@ -2714,16 +2716,16 @@ void dFile_select_c::dataSelectMoveAnime() {
}
}
int iVar5 = 1;
bool iVar5 = true;
bool bVar2 = true;
if (mSelectNum != 0xff) {
field_0x0188[mSelectNum]->alphaAnime(g_fsHIO.field_0x0006,0,0xff,1);
iVar5 = field_0x0188[mSelectNum]->alphaAnime(g_fsHIO.field_0x0006,0,0xff,1);
if (field_0x00e0[mSelectNum] != SelEndFrameTbl[mSelectNum]) {
field_0x00e0[mSelectNum] = field_0x00e0[mSelectNum] + 2;
if (SelEndFrameTbl[mSelectNum] < field_0x00e0[mSelectNum])
if (field_0x00e0[mSelectNum] > SelEndFrameTbl[mSelectNum])
field_0x00e0[mSelectNum] = SelEndFrameTbl[mSelectNum];
field_0x0084->setFrame(field_0x00e0[mSelectNum]);
@@ -2732,7 +2734,7 @@ void dFile_select_c::dataSelectMoveAnime() {
}
}
if (iVar7 == 1 && iVar6 == 1 && bVar1 && (iVar5 == 1 && !bVar2)) {
if (iVar7 == true && iVar6 == true && bVar1 == true && iVar5 == true && bVar2 == true) {
if (mSelectNum != 0xff) {
field_0x00bc[mSelectNum]->getPanePtr()->setAnimation((J2DAnmTransform*)0);
selFileCursorShow();
@@ -5719,9 +5721,10 @@ asm void dDlst_FileSelCp_c::draw() {
/* 8018E0C0-8018E0F8 188A00 0038+00 1/0 0/0 0/0 .text draw__17dDlst_FileSelYn_cFv */
#ifdef NONMATCHING
// matches with literals
void dDlst_FileSelYn_c::draw() {
J2DGrafContext* graf = dComIfGp_getCurrentGrafPort();
mpScreen->draw(0.0f, 0.0f, graf);
ScrYn->draw(0.0f, 0.0f, graf);
}
#else
#pragma push
@@ -5736,9 +5739,10 @@ asm void dDlst_FileSelYn_c::draw() {
/* 8018E0F8-8018E130 188A38 0038+00 1/0 0/0 0/0 .text draw__17dDlst_FileSel3m_cFv */
#ifdef NONMATCHING
// matches with literals
void dDlst_FileSel3m_c::draw() {
J2DGrafContext* graf = dComIfGp_getCurrentGrafPort();
mpScreen->draw(0.0f, 0.0f, graf);
Scr3m->draw(0.0f, 0.0f, graf);
}
#else
#pragma push
@@ -6603,6 +6607,7 @@ bool dFile_select_c::fileRecScaleAnm() {
/* 8018FE64-8018FEF4 18A7A4 0090+00 2/2 0/0 0/0 .text fileRecScaleAnmInitSet2__14dFile_select_cFff
*/
#ifdef NONMATCHING
// matches with literals
void dFile_select_c::fileRecScaleAnmInitSet2(f32 param_1, f32 param_2) {
for (int i = 0; (int)i < 3; i++) {
field_0x00c8[i] = param_1;
+295 -313
View File
@@ -6,10 +6,13 @@
#include "d/kankyo/d_kankyo.h"
#include "JSystem/J3DGraphBase/J3DMaterial.h"
#include "SSystem/SComponent/c_counter.h"
#include "SSystem/SComponent/c_math.h"
#include "d/a/d_a_player.h"
#include "d/meter/d_meter2_info.h"
#include "dol2asm.h"
#include "m_Do/m_Do_graphic.h"
#include "rel/d/a/kytag/d_a_kytag08/d_a_kytag08.h"
#include "d/kankyo/d_kankyo_rain.h"
#include "d/kankyo/d_kankyo_static.h"
#include "string.h"
@@ -995,60 +998,62 @@ SECTION_SDATA2 static f32 lit_4509 = 4.0f;
SECTION_SDATA2 static f32 lit_4510 = -2.0f;
/* 8019D2C4-8019D44C 197C04 0188+00 3/2 0/0 0/0 .text dKy_GXInitLightSpot__FP12J3DLightInfofUc */
// should be equivalent, but storing floats in psq registers?
// matches with literals
#ifdef NONMATCHING
static void dKy_GXInitLightSpot(J3DLightInfo* param_0, f32 param_1, u8 param_2) {
if (param_1 <= 0.0f || param_1 > 90.0f) {
param_2 = 0;
}
f32 temp_f1;
f32 var_f4 = cosf((param_1 * M_PI) / 180.0f);
Vec var_f6;
f32 x, y, z;
switch (param_2) {
case 1:
var_f6.x = var_f4 * -1000.0f;
var_f6.y = 1000.0f;
var_f6.z = 0.0f;
x = var_f4 * -1000.0f;
y = 1000.0f;
z = 0.0f;
break;
case 2:
var_f6.x = -var_f4 / (1.0f - var_f4);
var_f6.y = 1.0f / (1.0f - var_f4);
var_f6.z = 0.0f;
x = -var_f4 / (1.0f - var_f4);
y = 1.0f / (1.0f - var_f4);
z = 0.0f;
break;
case 3:
var_f6.x = 0.0f;
var_f6.y = -var_f4 / (1.0f - var_f4);
var_f6.z = 1.0f / (1.0f - var_f4);
x = 0.0f;
y = -var_f4 / (1.0f - var_f4);
z = 1.0f / (1.0f - var_f4);
break;
case 4:
f32 temp_f1 = ((1.0f - var_f4) * (1.0f - var_f4));
var_f6.x = (var_f4 * (var_f4 - 2.0f)) / temp_f1;
var_f6.y = 2.0f / temp_f1;
var_f6.z = -1.0f / temp_f1;
temp_f1 = ((1.0f - var_f4) * (1.0f - var_f4));
x = (var_f4 * (var_f4 - 2.0f)) / temp_f1;
y = 2.0f / temp_f1;
z = -1.0f / temp_f1;
break;
case 5:
f32 temp_f1_2 = ((1.0f - var_f4) * (1.0f - var_f4));
var_f6.x = (var_f4 * -4.0f) / temp_f1_2;
var_f6.y = ((var_f4 + 1.0f) * 4.0f) / temp_f1_2;
var_f6.z = -4.0f / temp_f1_2;
temp_f1 = ((1.0f - var_f4) * (1.0f - var_f4));
x = (var_f4 * -4.0f) / temp_f1;
y = ((var_f4 + 1.0f) * 4.0f) / temp_f1;
z = -4.0f / temp_f1;
break;
case 6:
f32 temp_f1_3 = ((1.0f - var_f4) * (1.0f - var_f4));
var_f6.x = 1.0f - (var_f4 * 2.0f * var_f4) / temp_f1_3;
var_f6.y = (var_f4 * 4.0f) / temp_f1_3;
var_f6.z = -2.0f / temp_f1_3;
temp_f1 = ((1.0f - var_f4) * (1.0f - var_f4));
x = 1.0f - (var_f4 * 2.0f * var_f4) / temp_f1;
y = (var_f4 * 4.0f) / temp_f1;
z = -2.0f / temp_f1;
break;
case 0:
var_f6.x = 1.0f;
var_f6.y = 0.0f;
var_f6.z = 0.0f;
default:
x = 1.0f;
y = 0.0f;
z = 0.0f;
break;
}
param_0->mCosAtten.x = var_f6.x;
param_0->mCosAtten.y = var_f6.y;
param_0->mCosAtten.z = var_f6.z;
param_0->mCosAtten.x = x;
param_0->mCosAtten.y = y;
param_0->mCosAtten.z = z;
}
#else
#pragma push
@@ -1204,9 +1209,8 @@ static s16 kankyo_color_ratio_set(u8 i_b0A, u8 i_b0B, f32 i_blendAB0, u8 i_b1A,
s16 a = s16_data_ratio_set(i_b0A, i_b0B, i_blendAB0);
s16 b = s16_data_ratio_set(i_b1A, i_b1B, i_blendAB0);
s16 tmp = s16_data_ratio_set(a, b, i_blendAB1);
s16 rt = tmp + i_add;
s16 rt = dKy_getEnvlight()->mColAllcolRatio * i_mul * (s16)(tmp + i_add);
rt *= g_env_light.mColAllcolRatio * i_mul;
if (rt < 0) {
rt = 0;
}
@@ -1425,22 +1429,24 @@ SECTION_SDATA2 static f32 lit_4852[1 + 1 /* padding */] = {
};
/* 8019DD6C-8019E13C 1986AC 03D0+00 3/3 0/0 0/0 .text dKy_light_influence_id__F4cXyzi */
// regalloc, but equivalent?
// matches with literals
#ifdef NONMATCHING
static int dKy_light_influence_id(cXyz param_0, int param_1) {
f32 var_f31 = 1000000.0f;
int var_r28 = -1;
int var_r27 = -1;
int j;
int var_r25 = -1;
int i;
f32 var_f30 = 800.0f;
if (strcmp(dComIfGp_getStartStageName(), "D_MN09") == 0) {
var_f30 = 250.0f;
}
for (int i = 0; i <= param_1; i++) {
for (int j = 0; j < 100; j++) {
for (i = 0; i <= param_1; i++) {
for (j = 0; j < 100; j++) {
if (g_env_light.mPointLight[j] != NULL && (i == 0 || j != var_r28) &&
g_env_light.mPointLight[j]->mPow > 0.01f)
{
@@ -1493,12 +1499,11 @@ static int dKy_light_influence_id(cXyz param_0, int param_1) {
var_f31 = 1000000.0f;
}
int ret = var_r27;
if (param_1 == 0) {
ret = var_r28;
return var_r28;
} else {
return var_r27;
}
return ret;
}
#else
#pragma push
@@ -1513,16 +1518,17 @@ static asm int dKy_light_influence_id(cXyz param_0, int param_1) {
/* 8019E13C-8019E404 198A7C 02C8+00 2/2 0/0 0/0 .text dKy_eflight_influence_id__F4cXyzi
*/
// regalloc, but equivalent?
// matches with literals
#ifdef NONMATCHING
static int dKy_eflight_influence_id(cXyz param_0, int param_1) {
f32 var_f31 = 1000000.0f;
int var_r28 = -1;
int var_r27 = -1;
int j, i;
for (int i = 0; i <= param_1; i++) {
for (int j = 0; j < 5; j++) {
for (i = 0; i <= param_1; i++) {
for (j = 0; j < 5; j++) {
if (g_env_light.mEfPLight[j] != NULL && (i == 0 || j != var_r28)) {
if (var_f31 > param_0.abs(g_env_light.mEfPLight[j]->mPosition) &&
g_env_light.mEfPLight[j]->mPow > 0.01f)
@@ -1540,12 +1546,11 @@ static int dKy_eflight_influence_id(cXyz param_0, int param_1) {
var_f31 = 1000000.0f;
}
int ret = var_r27;
if (param_1 == 0) {
ret = var_r28;
return var_r28;
} else {
return var_r27;
}
return ret;
}
#else
#pragma push
@@ -2642,13 +2647,14 @@ SECTION_SDATA2 static f32 lit_5840 = 1.0f / 15.0f;
/* 8019FBD4-801A0340 19A514 076C+00 5/3 0/0 0/0 .text
* setLight_palno_get__18dScnKy_env_light_cFPUcPUcPUcPUcPUcPUcPUcPUcPfPiPiPfPUc */
// problems with the loop. most issues should fix with a loop fix
// matches with literals
#ifdef NONMATCHING
void dScnKy_env_light_c::setLight_palno_get(u8* i_envrSel0, u8* i_envrSel1, u8* i_pSelIdx0,
u8* i_pSelIdx1, u8* i_palIdx0A, u8* i_palIdx0B,
u8* i_palIdx1A, u8* i_palIdx1B, f32* i_blendPalAB,
int* i_pSelPalIdx0, int* i_pSelPalIdx1,
f32* i_blendPal01, u8* i_initTimer) {
stage_envr_info_class* envr_p;
u8 psel_idx = 0;
if (*i_initTimer != 0) {
@@ -2668,231 +2674,231 @@ void dScnKy_env_light_c::setLight_palno_get(u8* i_envrSel0, u8* i_envrSel1, u8*
}
}
dKyd_lightSchejule* schedule_p;
for (int i = 0; i < 11; i++) {
schedule_p = &mpSchedule[i];
if (!(mDaytime >= mpSchedule[i].startTime && mDaytime <= mpSchedule[i].endTime)) {
continue;
}
if (mDaytime >= schedule_p->startTime && mDaytime <= schedule_p->endTime) {
*i_pSelPalIdx0 = mpSchedule[i].startTimeLight;
*i_pSelPalIdx1 = mpSchedule[i].endTimeLight;
*i_blendPalAB = get_parcent(mpSchedule[i].endTime, mpSchedule[i].startTime, mDaytime);
envr_p = &g_env_light.mpDmEnvr[*i_envrSel0];
switch (*i_pSelIdx0) {
case 0:
psel_idx = envr_p->m_pselectID[0];
break;
case 1:
psel_idx = envr_p->m_pselectID[1];
break;
case 2:
psel_idx = envr_p->m_pselectID[2];
break;
case 3:
psel_idx = envr_p->m_pselectID[3];
break;
case 4:
psel_idx = envr_p->m_pselectID[4];
break;
case 5:
psel_idx = envr_p->m_pselectID[5];
break;
case 6:
psel_idx = envr_p->m_pselectID[6];
break;
case 7:
psel_idx = envr_p->m_pselectID[7];
break;
default:
if (*i_pSelIdx0 > 7 && *i_pSelIdx0 < 64) {
psel_idx = envr_p->m_pselectID[*i_pSelIdx0];
}
break;
}
}
*i_pSelPalIdx0 = schedule_p->startTimeLight;
*i_pSelPalIdx1 = schedule_p->endTimeLight;
*i_blendPalAB = get_parcent(schedule_p->endTime, schedule_p->startTime, mDaytime);
stage_envr_info_class* envr_p = &g_env_light.mpDmEnvr[*i_envrSel0];
switch (*i_pSelIdx0) {
case 0:
psel_idx = envr_p->m_pselectID[0];
break;
case 1:
psel_idx = envr_p->m_pselectID[1];
break;
case 2:
psel_idx = envr_p->m_pselectID[2];
break;
case 3:
psel_idx = envr_p->m_pselectID[3];
break;
case 4:
psel_idx = envr_p->m_pselectID[4];
break;
case 5:
psel_idx = envr_p->m_pselectID[5];
break;
case 6:
psel_idx = envr_p->m_pselectID[6];
break;
case 7:
psel_idx = envr_p->m_pselectID[7];
break;
default:
if (*i_pSelIdx0 > 7 && *i_pSelIdx0 < 64) {
psel_idx = envr_p->m_pselectID[*i_pSelIdx0];
}
break;
}
if (g_env_light.mCameraInWater != 0 && strcmp(dComIfGp_getStartStageName(), "D_MN08D") != 0 &&
strcmp(dComIfGp_getStartStageName(), "D_MN01A") != 0)
{
if (g_env_light.mColPatCurr == 0) {
psel_idx = envr_p->m_pselectID[8];
} else {
psel_idx = envr_p->m_pselectID[9];
}
} else if (strcmp(dComIfGp_getStartStageName(), "R_SP127") == 0) {
camera_class* camera_p = dComIfGp_getCamera(0);
if (camera_p != NULL && camera_p->mLookat.mEye.y < 0.0f) {
psel_idx = envr_p->m_pselectID[10];
}
}
if (psel_idx > 250) {
psel_idx = 0;
}
stage_pselect_info_class* pselect_p = &g_env_light.mpDmPselect[psel_idx];
switch (*i_pSelPalIdx0) {
case 0:
*i_palIdx0A = pselect_p->mPalIdx[0];
break;
case 1:
*i_palIdx0A = pselect_p->mPalIdx[1];
break;
case 2:
*i_palIdx0A = pselect_p->mPalIdx[2];
break;
case 3:
*i_palIdx0A = pselect_p->mPalIdx[3];
break;
case 4:
*i_palIdx0A = pselect_p->mPalIdx[4];
break;
case 5:
*i_palIdx0A = pselect_p->mPalIdx[5];
break;
}
switch (*i_pSelPalIdx1) {
case 0:
*i_palIdx0B = pselect_p->mPalIdx[0];
break;
case 1:
*i_palIdx0B = pselect_p->mPalIdx[1];
break;
case 2:
*i_palIdx0B = pselect_p->mPalIdx[2];
break;
case 3:
*i_palIdx0B = pselect_p->mPalIdx[3];
break;
case 4:
*i_palIdx0B = pselect_p->mPalIdx[4];
break;
case 5:
*i_palIdx0B = pselect_p->mPalIdx[5];
break;
}
envr_p = &g_env_light.mpDmEnvr[*i_envrSel1];
switch (*i_pSelIdx1) {
case 0:
psel_idx = envr_p->m_pselectID[0];
break;
case 1:
psel_idx = envr_p->m_pselectID[1];
break;
case 2:
psel_idx = envr_p->m_pselectID[2];
break;
case 3:
psel_idx = envr_p->m_pselectID[3];
break;
case 4:
psel_idx = envr_p->m_pselectID[4];
break;
case 5:
psel_idx = envr_p->m_pselectID[5];
break;
case 6:
psel_idx = envr_p->m_pselectID[6];
break;
case 7:
psel_idx = envr_p->m_pselectID[7];
break;
default:
if (*i_pSelIdx1 > 7 && *i_pSelIdx1 < 64) {
psel_idx = envr_p->m_pselectID[*i_pSelIdx1];
}
break;
}
if (psel_idx > 250) {
psel_idx = 0;
}
pselect_p = &g_env_light.mpDmPselect[psel_idx];
if (*i_envrSel0 != *i_envrSel1 || *i_pSelIdx0 != *i_pSelIdx1) {
if (pselect_p->mChangeRate < 0.033333335f) {
pselect_p->mChangeRate = 0.033333335f;
}
if (g_env_light.mColPatMode == 0) {
if (pselect_p->mChangeRate > 0.0f) {
*i_blendPal01 += 0.033333335f / pselect_p->mChangeRate;
if (g_env_light.mCameraInWater != 0 && strcmp(dComIfGp_getStartStageName(), "D_MN08D") != 0
&& strcmp(dComIfGp_getStartStageName(), "D_MN01A") != 0)
{
if (g_env_light.mColPatCurr == 0) {
psel_idx = envr_p->m_pselectID[8];
} else {
psel_idx = envr_p->m_pselectID[9];
}
} else if (strcmp(dComIfGp_getStartStageName(), "R_SP127") == 0) {
camera_class* camera_p = dComIfGp_getCamera(0);
if (strcmp(dComIfGp_getStartStageName(), "F_SP121") == 0 && *i_pSelIdx0 == *i_pSelIdx1)
{
*i_blendPal01 += 0.06666667f;
}
if (*i_blendPal01 >= 1.0f) {
*i_envrSel0 = *i_envrSel1;
*i_pSelIdx0 = *i_pSelIdx1;
*i_blendPal01 = 1.0f;
if (camera_p != NULL && camera_p->mLookat.mEye.y < 0.0f) {
psel_idx = envr_p->m_pselectID[10];
}
}
}
if (g_env_light.mCameraInWater != 0 && strcmp(dComIfGp_getStartStageName(), "D_MN08D") != 0 &&
strcmp(dComIfGp_getStartStageName(), "D_MN01A") != 0)
{
if (g_env_light.mColPatCurr == 0) {
pselect_p = &g_env_light.mpDmPselect[envr_p->m_pselectID[8]];
} else {
pselect_p = &g_env_light.mpDmPselect[envr_p->m_pselectID[9]];
if (psel_idx > 250) {
psel_idx = 0;
}
} else if (strcmp(dComIfGp_getStartStageName(), "R_SP127") == 0) {
camera_class* camera_p = dComIfGp_getCamera(0);
if (camera_p != NULL && camera_p->mLookat.mEye.y < 0.0f) {
pselect_p = &g_env_light.mpDmPselect[envr_p->m_pselectID[10]];
stage_pselect_info_class* pselect_p = &g_env_light.mpDmPselect[psel_idx];
switch (*i_pSelPalIdx0) {
case 0:
*i_palIdx0A = pselect_p->mPalIdx[0];
break;
case 1:
*i_palIdx0A = pselect_p->mPalIdx[1];
break;
case 2:
*i_palIdx0A = pselect_p->mPalIdx[2];
break;
case 3:
*i_palIdx0A = pselect_p->mPalIdx[3];
break;
case 4:
*i_palIdx0A = pselect_p->mPalIdx[4];
break;
case 5:
*i_palIdx0A = pselect_p->mPalIdx[5];
break;
}
}
switch (*i_pSelPalIdx0) {
case 0:
*i_palIdx1A = pselect_p->mPalIdx[0];
break;
case 1:
*i_palIdx1A = pselect_p->mPalIdx[1];
break;
case 2:
*i_palIdx1A = pselect_p->mPalIdx[2];
break;
case 3:
*i_palIdx1A = pselect_p->mPalIdx[3];
break;
case 4:
*i_palIdx1A = pselect_p->mPalIdx[4];
break;
case 5:
*i_palIdx1A = pselect_p->mPalIdx[5];
break;
}
switch (*i_pSelPalIdx1) {
case 0:
*i_palIdx0B = pselect_p->mPalIdx[0];
break;
case 1:
*i_palIdx0B = pselect_p->mPalIdx[1];
break;
case 2:
*i_palIdx0B = pselect_p->mPalIdx[2];
break;
case 3:
*i_palIdx0B = pselect_p->mPalIdx[3];
break;
case 4:
*i_palIdx0B = pselect_p->mPalIdx[4];
break;
case 5:
*i_palIdx0B = pselect_p->mPalIdx[5];
break;
}
envr_p = &g_env_light.mpDmEnvr[*i_envrSel1];
switch (*i_pSelIdx1) {
case 0:
psel_idx = envr_p->m_pselectID[0];
break;
case 1:
psel_idx = envr_p->m_pselectID[1];
break;
case 2:
psel_idx = envr_p->m_pselectID[2];
break;
case 3:
psel_idx = envr_p->m_pselectID[3];
break;
case 4:
psel_idx = envr_p->m_pselectID[4];
break;
case 5:
psel_idx = envr_p->m_pselectID[5];
break;
case 6:
psel_idx = envr_p->m_pselectID[6];
break;
case 7:
psel_idx = envr_p->m_pselectID[7];
break;
default:
if (*i_pSelIdx1 > 7 && *i_pSelIdx1 < 64) {
psel_idx = envr_p->m_pselectID[*i_pSelIdx1];
}
break;
}
if (psel_idx > 250) {
psel_idx = 0;
}
pselect_p = &g_env_light.mpDmPselect[psel_idx];
if (*i_envrSel0 != *i_envrSel1 || *i_pSelIdx0 != *i_pSelIdx1) {
if (pselect_p->mChangeRate < 0.033333335f) {
pselect_p->mChangeRate = 0.033333335f;
}
if (g_env_light.mColPatMode == 0) {
if (pselect_p->mChangeRate > 0.0f) {
*i_blendPal01 += 0.033333335f / pselect_p->mChangeRate;
}
if (strcmp(dComIfGp_getStartStageName(), "F_SP121") == 0
&& *i_pSelIdx0 == *i_pSelIdx1)
{
*i_blendPal01 += 0.06666667f;
}
if (*i_blendPal01 >= 1.0f) {
*i_envrSel0 = *i_envrSel1;
*i_pSelIdx0 = *i_pSelIdx1;
*i_blendPal01 = 1.0f;
}
}
}
if (g_env_light.mCameraInWater != 0 && strcmp(dComIfGp_getStartStageName(), "D_MN08D") != 0
&& strcmp(dComIfGp_getStartStageName(), "D_MN01A") != 0)
{
if (g_env_light.mColPatCurr == 0) {
pselect_p = &g_env_light.mpDmPselect[envr_p->m_pselectID[8]];
} else {
pselect_p = &g_env_light.mpDmPselect[envr_p->m_pselectID[9]];
}
} else if (strcmp(dComIfGp_getStartStageName(), "R_SP127") == 0) {
camera_class* camera_p = dComIfGp_getCamera(0);
if (camera_p != NULL && camera_p->mLookat.mEye.y < 0.0f) {
pselect_p = &g_env_light.mpDmPselect[envr_p->m_pselectID[10]];
}
}
switch (*i_pSelPalIdx0) {
case 0:
*i_palIdx1A = pselect_p->mPalIdx[0];
break;
case 1:
*i_palIdx1A = pselect_p->mPalIdx[1];
break;
case 2:
*i_palIdx1A = pselect_p->mPalIdx[2];
break;
case 3:
*i_palIdx1A = pselect_p->mPalIdx[3];
break;
case 4:
*i_palIdx1A = pselect_p->mPalIdx[4];
break;
case 5:
*i_palIdx1A = pselect_p->mPalIdx[5];
break;
}
switch (*i_pSelPalIdx1) {
case 0:
*i_palIdx1B = pselect_p->mPalIdx[0];
break;
case 1:
*i_palIdx1B = pselect_p->mPalIdx[1];
break;
case 2:
*i_palIdx1B = pselect_p->mPalIdx[2];
break;
case 3:
*i_palIdx1B = pselect_p->mPalIdx[3];
break;
case 4:
*i_palIdx1B = pselect_p->mPalIdx[4];
break;
case 5:
*i_palIdx1B = pselect_p->mPalIdx[5];
break;
}
switch (*i_pSelPalIdx1) {
case 0:
*i_palIdx1B = pselect_p->mPalIdx[0];
break;
case 1:
*i_palIdx1B = pselect_p->mPalIdx[1];
break;
case 2:
*i_palIdx1B = pselect_p->mPalIdx[2];
break;
case 3:
*i_palIdx1B = pselect_p->mPalIdx[3];
break;
case 4:
*i_palIdx1B = pselect_p->mPalIdx[4];
break;
case 5:
*i_palIdx1B = pselect_p->mPalIdx[5];
break;
}
@@ -2986,7 +2992,7 @@ inline bool checkZoraWearFlg() {
}
/* 801A040C-801A133C 19AD4C 0F30+00 1/1 0/0 0/0 .text setLight__18dScnKy_env_light_cFv */
// mostly done, a lot of regalloc but should be equivalent or near?
// matches with literals
#ifdef NONMATCHING
void dScnKy_env_light_c::setLight() {
u8* init_timer = &g_env_light.mInitAnmTimer;
@@ -3077,12 +3083,11 @@ void dScnKy_env_light_c::setLight() {
pale0_p->mBgAmbColor3A, pale1_p->mBgAmbColor3A, blendAB, pale2_p->mBgAmbColor3A,
pale3_p->mBgAmbColor3A, g_env_light.mColPatBlend, 0, 1.0f);
mPaletteTerrainLightEffect =
kankyo_color_ratio_set(
pale0_p->mTerrainLightInfluence, pale1_p->mTerrainLightInfluence, blendAB,
pale2_p->mTerrainLightInfluence, pale3_p->mTerrainLightInfluence,
g_env_light.mColPatBlend, 0, 1.0f) *
0.01f;
s16 tmp = kankyo_color_ratio_set(
pale0_p->mTerrainLightInfluence, pale1_p->mTerrainLightInfluence, blendAB,
pale2_p->mTerrainLightInfluence, pale3_p->mTerrainLightInfluence,
g_env_light.mColPatBlend, 0, 1.0f);
mPaletteTerrainLightEffect = tmp * 0.01f;
if (mPaletteTerrainLightEffect > 2.0f) {
mPaletteTerrainLightEffect = 1.0f;
}
@@ -3092,7 +3097,7 @@ void dScnKy_env_light_c::setLight() {
pale2_p->mCloudShadowDensity, pale3_p->mCloudShadowDensity,
g_env_light.mColPatBlend, 0, 1.0f);
if (daPy_py_c::checkNowWolfPowerUp()) {
mFogDensity = 0xFF;
mFogDensity = -1;
}
for (int i = 0; i < 6; i++) {
@@ -3144,8 +3149,8 @@ void dScnKy_env_light_c::setLight() {
f32 temp_f31;
if (g_env_light.field_0x12fc >= 0) {
bloomIdx3 = g_env_light.field_0x12fc;
bloomIdx1 = g_env_light.field_0x12fc;
bloomIdx3 = g_env_light.field_0x12fc;
temp_f31 = blendAB;
blendAB = g_env_light.field_0x1278;
}
@@ -3427,8 +3432,6 @@ asm void dScnKy_env_light_c::setLight() {
/* 801A133C-801A16C0 19BC7C 0384+00 2/2 0/0 0/0 .text
* setLight_bg__18dScnKy_env_light_cFP12dKy_tevstr_cP11_GXColorS10P11_GXColorS10PfPf */
// regalloc, but equivalent i think
#ifdef NONMATCHING
void dScnKy_env_light_c::setLight_bg(dKy_tevstr_c* i_tevstr, GXColorS10* param_1,
GXColorS10* param_2, f32* i_fogStartZ, f32* i_fogEndZ) {
i_tevstr->mColpatPrev = g_env_light.mColPatPrev;
@@ -3445,6 +3448,7 @@ void dScnKy_env_light_c::setLight_bg(dKy_tevstr_c* i_tevstr, GXColorS10* param_1
f32 blendAB;
int palIdx0;
int palIdx1;
int i;
setLight_palno_get(&i_tevstr->mEnvrIdxPrev, &i_tevstr->mEnvrIdxCurr, &i_tevstr->mColpatPrev,
&i_tevstr->mColpatCurr, &pale0, &pale1, &pale2, &pale3, &blendAB, &palIdx0,
&palIdx1, &i_tevstr->mColpatBlend, &i_tevstr->mInitTimer);
@@ -3477,7 +3481,7 @@ void dScnKy_env_light_c::setLight_bg(dKy_tevstr_c* i_tevstr, GXColorS10* param_1
param_1[0].a = 255;
GXColorS10 sp50[6];
for (int i = 0; i < 6; i++) {
for (i = 0; i < 6; i++) {
dKy_calc_color_set(&sp50[i], &pale0_p->mPlightColor[i], &pale2_p->mPlightColor[i],
&pale1_p->mPlightColor[i], &pale3_p->mPlightColor[i], blendAB,
i_tevstr->mColpatBlend, mBgAddColAmb, g_env_light.mColBgColRatio);
@@ -3518,17 +3522,6 @@ void dScnKy_env_light_c::setLight_bg(dKy_tevstr_c* i_tevstr, GXColorS10* param_1
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dScnKy_env_light_c::setLight_bg(dKy_tevstr_c* param_0, _GXColorS10* param_1,
_GXColorS10* param_2, f32* param_3, f32* param_4) {
nofralloc
#include "asm/d/kankyo/d_kankyo/setLight_bg__18dScnKy_env_light_cFP12dKy_tevstr_cP11_GXColorS10P11_GXColorS10PfPf.s"
}
#pragma pop
#endif
/* 801A16C0-801A1D64 19C000 06A4+00 1/1 0/0 0/0 .text
* setLight_actor__18dScnKy_env_light_cFP12dKy_tevstr_cP11_GXColorS10PfPf */
@@ -3543,6 +3536,7 @@ void dScnKy_env_light_c::setLight_actor(dKy_tevstr_c* i_tevstr, GXColorS10* i_fo
f32 blendAB;
int palIdx0;
int palIdx1;
int i;
i_tevstr->mColpatPrev = g_env_light.mColPatPrev;
i_tevstr->mColpatCurr = g_env_light.mColPatCurr;
@@ -3590,7 +3584,7 @@ void dScnKy_env_light_c::setLight_actor(dKy_tevstr_c* i_tevstr, GXColorS10* i_fo
}
GXColorS10 sp88[6];
for (int i = 0; i < 6; i++) {
for (i = 0; i < 6; i++) {
J3DLightInfo& light_info = i_tevstr->mLights[i].getLightInfo();
if (i == 0) {
@@ -3819,36 +3813,25 @@ asm void dScnKy_env_light_c::settingTevStruct_colget_player(dKy_tevstr_c* param_
#endif
/* 801A2090-801A2128 19C9D0 0098+00 1/1 0/0 0/0 .text cLib_addCalcU8__FPUcUcss */
// regalloc / extra clrlwis
#ifdef NONMATCHING
static void cLib_addCalcU8(u8* i_value, u8 param_1, s16 param_2, s16 param_3) {
u8 temp_r30 = *i_value;
static void cLib_addCalcU8(u8* i_value, u8 i_target, s16 i_scale, s16 i_maxStep) {
s16 step, value;
value = *i_value;
s16 var_r31 = param_1 - *i_value;
if (abs(var_r31) >= param_2) {
var_r31 /= param_2;
step = i_target - value;
if (abs(step) >= i_scale) {
step /= i_scale;
}
if (var_r31 > param_3) {
temp_r30 += param_3;
} else if (var_r31 < -param_3) {
temp_r30 -= param_3;
if (step > i_maxStep) {
value += i_maxStep;
} else if (step < -i_maxStep) {
value -= i_maxStep;
} else {
temp_r30 += var_r31;
value += step;
}
*i_value = temp_r30;
*i_value = value;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void cLib_addCalcU8(u8* param_0, u8 param_1, s16 param_2, s16 param_3) {
nofralloc
#include "asm/d/kankyo/d_kankyo/cLib_addCalcU8__FPUcUcss.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 80453D14-80453D18 002314 0004+00 1/1 0/0 0/0 .sdata2 @6761 */
@@ -4033,7 +4016,7 @@ void dScnKy_env_light_c::settingTevStruct(int i_tevstrType, cXyz* param_1, dKy_t
dKyr_get_vectle_calc(&spA4, &temp_r30->mLookat.mEye, &sp98);
for (int i = 0; i < 6; i++) {
J3DLightInfo& light_info = i_tevstr->field_0x074[i].getLightInfo();
J3DLightInfo& light_info = i_tevstr->mLights[i].getLightInfo();
if (i == 0) {
if (!dKy_darkworld_check()) {
@@ -4151,7 +4134,7 @@ void dScnKy_env_light_c::settingTevStruct(int i_tevstrType, cXyz* param_1, dKy_t
fog_z_end = 30000.0f;
for (int i = 0; i < 6; i++) {
J3DLightInfo& temp_r31 = i_tevstr->field_0x074[i].getLightInfo();
J3DLightInfo& temp_r31 = i_tevstr->mLights[i].getLightInfo();
if (i == 0) {
if (i_tevstrType == 12) {
@@ -4376,8 +4359,7 @@ void dScnKy_env_light_c::settingTevStruct(int i_tevstrType, cXyz* param_1, dKy_t
light_info.mDistAtten.z = 0.0f;
}
i_tevstr->mLightPosWorld = g_env_light.mBaseLightInfluence.mPosition;
// i_tevstr->mLightPosWorld = env_light->mBaseLightInfluence.mPosition;
i_tevstr->mLightPosWorld = env_light->mBaseLightInfluence.mPosition;
}
field_0x10f0.a = 255;
@@ -4560,7 +4542,7 @@ asm void dScnKy_env_light_c::SetBaseLight() {
/* 801A5288-801A56DC 19FBC8 0454+00 1/1 0/0 0/0 .text exeKankyo__18dScnKy_env_light_cFv
*/
// regalloc
// one instruction swap
#ifdef NONMATCHING
void dScnKy_env_light_c::exeKankyo() {
for (int i = 0; i < 6; i++) {
@@ -4569,13 +4551,13 @@ void dScnKy_env_light_c::exeKankyo() {
if (field_0x0d58[i].field_0x26 != 0) {
field_0x0d58[i].field_0x26 = 0;
dKy_BossLight_set(&field_0x0d58[i].mPos, &field_0x0d58[i].mColor,
field_0x0d58[i].field_0x10, 0);
field_0x0d58[i].mRefDistance, 0);
}
}
g_env_light.mColPatMode = g_env_light.mColPatModeGather;
if (!dComIfGp_event_runCheck() && g_env_light.mColPatModeGather != 0) {
if (dComIfGp_event_runCheck() == false && g_env_light.mColPatModeGather != 0) {
if (g_env_light.mColPatModeGather >= 3) {
g_env_light.mColPatModeGather = 0;
} else {
@@ -4616,7 +4598,7 @@ void dScnKy_env_light_c::exeKankyo() {
if (g_env_light.mColpatCurrGather != 0xFF) {
g_env_light.mColPatCurr = g_env_light.mColpatCurrGather;
g_env_light.mColpatCurrGather = 0xFF;
g_env_light.mColpatWeather = g_env_light.mColpatCurrGather;
g_env_light.mColpatWeather = g_env_light.mColPatCurr;
}
if (g_env_light.mColPatBlendGather >= 0.0f) {
@@ -4673,7 +4655,7 @@ void dScnKy_env_light_c::exeKankyo() {
}
if (strcmp(dComIfGp_getStartStageName(), "R_SP127") == 0) {
if ((dCam_getBody()->mCurMode == 4 || dCam_getBody()->mCurMode == 7) &&
if ((dCam_getBody()->Mode() == 4 || dCam_getBody()->Mode() == 7) &&
dComIfGp_event_runCheck())
{
cLib_addCalc(&g_env_light.mDemoAttentionPoint, 0.0f, 0.5f, 0.1f, 1E-05f);
@@ -5572,7 +5554,7 @@ void dKy_tevstr_init(dKy_tevstr_c* p_tevstr, s8 roomNo, u8 param_2) {
p_tevstr->mLightObj.mInfo.mDistAtten.z = 0.0f;
for (int i = 0; i < 6; i++) {
J3DLightObj* tev_light_p = &p_tevstr->field_0x074[i];
J3DLightObj* tev_light_p = &p_tevstr->mLights[i];
LightStatus* light_data_p = &lightStatusData[i];
tev_light_p->mInfo.mLightPosition = light_data_p->field_0x0;
+63 -622
View File
@@ -1,7 +1,7 @@
//
// Generated By: dol2asm
// Translation Unit: d/kankyo/d_kankyo_wether
//
/**
* d_kankyo_wether.cpp
* Weather Effects
*/
#include "d/kankyo/d_kankyo_wether.h"
#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
@@ -9,221 +9,11 @@
#include "d/com/d_com_inf_game.h"
#include "d/kankyo/d_kankyo.h"
#include "d/kankyo/d_kankyo_rain.h"
#include "dol2asm.h"
#include "string.h"
#include "m_Do/m_Do_audio.h"
//
// Forward References:
//
extern "C" static void dKyw_setDrawPacketList__FP9J3DPacketi();
extern "C" static void dKyw_setDrawPacketListIndScreen__FP9J3DPacketi();
extern "C" static void dKyw_setDrawPacketListSky__FP9J3DPacketi();
extern "C" static void dKyw_setDrawPacketListXluBg__FP9J3DPacketi();
extern "C" void draw__18dKankyo_sun_PacketFv();
extern "C" void draw__22dKankyo_sunlenz_PacketFv();
extern "C" void __dt__8RAIN_EFFFv();
extern "C" void __ct__8RAIN_EFFFv();
extern "C" void draw__19dKankyo_rain_PacketFv();
extern "C" void __dt__8SNOW_EFFFv();
extern "C" void __ct__8SNOW_EFFFv();
extern "C" void draw__19dKankyo_snow_PacketFv();
extern "C" void __dt__8STAR_EFFFv();
extern "C" void __ct__8STAR_EFFFv();
extern "C" void draw__19dKankyo_star_PacketFv();
extern "C" void __dt__9CLOUD_EFFFv();
extern "C" void __ct__9CLOUD_EFFFv();
extern "C" void draw__20dKankyo_cloud_PacketFv();
extern "C" void __dt__9HOUSI_EFFFv();
extern "C" void __ct__9HOUSI_EFFFv();
extern "C" void draw__20dKankyo_housi_PacketFv();
extern "C" void __dt__10VRKUMO_EFFFv();
extern "C" void __ct__10VRKUMO_EFFFv();
extern "C" void draw__21dKankyo_vrkumo_PacketFv();
extern "C" void __dt__12EF_ODOUR_EFFFv();
extern "C" void __ct__12EF_ODOUR_EFFFv();
extern "C" void draw__20dKankyo_odour_PacketFv();
extern "C" void __dt__10EF_MUD_EFFFv();
extern "C" void __ct__10EF_MUD_EFFFv();
extern "C" void draw__18dKankyo_mud_PacketFv();
extern "C" void __dt__11EF_EVIL_EFFFv();
extern "C" void __ct__11EF_EVIL_EFFFv();
extern "C" void draw__19dKankyo_evil_PacketFv();
extern "C" static void dKyw_drawSun__Fi();
extern "C" static void dKyw_Sun_Draw__Fv();
extern "C" static void dKyw_drawSunlenz__Fi();
extern "C" static void dKyw_Sunlenz_Draw__Fv();
extern "C" static void dKyw_drawRain__Fi();
extern "C" static void dKyw_Rain_Draw__Fv();
extern "C" static void dKyw_drawSnow__Fi();
extern "C" static void dKyw_Snow_Draw__Fv();
extern "C" static void dKyw_drawStar__Fi();
extern "C" static void dKyw_Star_Draw__Fv();
extern "C" static void dKyw_drawHousi__Fi();
extern "C" static void dKyw_Housi_Draw__Fv();
extern "C" static void dKyw_drawCloud__Fi();
extern "C" static void dKyw_Cloud_Draw__Fv();
extern "C" static void dKyw_drawVrkumo__Fi();
extern "C" static void dKyw_Vrkumo_Draw__Fv();
extern "C" static void dKyw_shstar_packet__Fi();
extern "C" static void dKyw_shstar_Draw__Fv();
extern "C" static void dKyw_odour_packet__Fi();
extern "C" static void dKyw_Odour_Draw__Fv();
extern "C" static void dKyw_mud_packet__Fi();
extern "C" static void dKyw_mud_Draw__Fv();
extern "C" static void dKyw_evil_packet__Fi();
extern "C" static void dKyw_evil_Draw__Fv();
extern "C" void dKyw_wether_init__Fv();
extern "C" void dKyw_wether_init2__Fv();
extern "C" void dKyw_wether_delete__Fv();
extern "C" void __dt__19dKankyo_evil_PacketFv();
extern "C" void __dt__18dKankyo_mud_PacketFv();
extern "C" void __dt__20dKankyo_odour_PacketFv();
extern "C" void __dt__20dKankyo_cloud_PacketFv();
extern "C" void __dt__20dKankyo_housi_PacketFv();
extern "C" void __dt__19dKankyo_star_PacketFv();
extern "C" void __dt__19dKankyo_snow_PacketFv();
extern "C" void __dt__19dKankyo_rain_PacketFv();
extern "C" void __dt__22dKankyo_sunlenz_PacketFv();
extern "C" void __dt__18dKankyo_sun_PacketFv();
extern "C" void dKyw_wether_delete2__Fv();
extern "C" void __dt__21dKankyo_vrkumo_PacketFv();
extern "C" static void wether_move_thunder__Fv();
extern "C" void dKyw_wether_move__Fv();
extern "C" static void wether_move_sun__Fv();
extern "C" static void wether_move_rain__Fv();
extern "C" static void wether_move_snow__Fv();
extern "C" static void wether_move_star__Fv();
extern "C" static void wether_move_housi__Fv();
extern "C" static void wether_move_odour__Fv();
extern "C" static void wether_move_moya__Fv();
extern "C" static void wether_move_vrkumo__Fv();
extern "C" static void wether_move_mud__Fv();
extern "C" static void wether_move_evil__Fv();
extern "C" void dKyw_wether_move_draw__Fv();
extern "C" void dKyw_wether_move_draw2__Fv();
extern "C" void dKyw_wether_draw__Fv();
extern "C" void dKyw_wether_draw2__Fv();
extern "C" void dKyw_wether_proc__Fv();
extern "C" static void dKyw_wind_init__Fv();
extern "C" void dKyw_wind_set__Fv();
extern "C" void dKyw_get_wind_vec__Fv();
extern "C" void dKyw_get_wind_pow__Fv();
extern "C" void dKyw_get_wind_vecpow__Fv();
extern "C" void dKyw_plight_collision_set__FP4cXyzssfffff();
extern "C" static void squal_proc__Fv();
extern "C" static void dKyw_pntwind_init__Fv();
extern "C" static void pntwind_set__FP14WIND_INFLUENCE();
extern "C" void dKyw_pntwind_set__FP14WIND_INFLUENCE();
extern "C" static void dKyw_pntlight_set__FP14WIND_INFLUENCE();
extern "C" void dKyw_pntwind_cut__FP14WIND_INFLUENCE();
extern "C" static void pntwind_get_info__FP4cXyzP4cXyzPfUc();
extern "C" static void dKyw_pntwind_get_info__FP4cXyzP4cXyzPf();
extern "C" void dKyw_pntlight_collision_get_info__FP4cXyzP4cXyzPf();
extern "C" void dKyw_pntwind_get_vecpow__FP4cXyz();
extern "C" void dKyw_get_AllWind_vec__FP4cXyzP4cXyzPf();
extern "C" void dKyw_get_AllWind_vecpow__FP4cXyz();
extern "C" void dKyw_custom_windpower__Ff();
extern "C" void dKyw_evt_wind_set__Fss();
extern "C" void dKyw_evt_wind_set_go__Fv();
extern "C" void dKyw_rain_set__Fi();
extern "C" extern char const* const d_kankyo_d_kankyo_wether__stringBase0;
//
// External References:
//
extern "C" void __dt__4cXyzFv();
extern "C" void __ct__4cXyzFv();
extern "C" void getStatusRoomDt__20dStage_roomControl_cFi();
extern "C" void getLayerNo__14dComIfG_play_cFi();
extern "C" void dComIfGp_getReverb__Fi();
extern "C" void dComIfG_getStageRes__FPCc();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz();
extern "C" void dKyr_lenzflare_move__Fv();
extern "C" void dKyr_sun_move__Fv();
extern "C" void dKyr_rain_init__Fv();
extern "C" void dKyr_rain_move__Fv();
extern "C" void dKyr_housi_move__Fv();
extern "C" void dKyr_snow_init__Fv();
extern "C" void dKyr_snow_move__Fv();
extern "C" void dKyr_star_init__Fv();
extern "C" void dKyr_star_move__Fv();
extern "C" void cloud_shadow_move__Fv();
extern "C" void vrkumo_move__Fv();
extern "C" void dKyr_drawSun__FPA4_fP4cXyzR8_GXColorPPUc(f32 (*param_0)[4], cXyz* param_1,
_GXColor& param_2, u8** param_3);
extern "C" void dKyr_drawLenzflare__FPA4_fP4cXyzR8_GXColorPPUc();
extern "C" void dKyr_drawRain__FPA4_fPPUc();
extern "C" void dKyr_drawSibuki__FPA4_fPPUc();
extern "C" void dKyr_drawHousi__FPA4_fPPUc();
extern "C" void dKyr_drawSnow__FPA4_fPPUc();
extern "C" void dKyr_drawStar__FPA4_fPPUc();
extern "C" void drawCloudShadow__FPA4_fPPUc();
extern "C" void drawVrkumo__FPA4_fR8_GXColorPPUc();
extern "C" void dKyr_thunder_init__Fv();
extern "C" void dKyr_thunder_move__Fv();
extern "C" void dKyr_shstar_init__Fv();
extern "C" void dKyr_shstar_move__Fv();
extern "C" void dKyr_odour_init__Fv();
extern "C" void dKyr_odour_move__Fv();
extern "C" void dKyr_odour_draw__FPA4_fPPUc();
extern "C" void dKyr_mud_init__Fv();
extern "C" void dKyr_mud_move__Fv();
extern "C" void dKyr_mud_draw__FPA4_fPPUc();
extern "C" void dKyr_evil_init__Fv();
extern "C" void dKyr_evil_move__Fv();
extern "C" void dKyr_evil_draw__FPA4_fPPUc();
extern "C" void getDaytime__18dScnKy_env_light_cFv();
extern "C" void dKy_undwater_filter_draw__Fv();
extern "C" void dKy_get_dayofweek__Fv();
extern "C" void dKy_darkworld_check__Fv();
extern "C" void __pl__4cXyzCFRC3Vec();
extern "C" void __ml__4cXyzCFf();
extern "C" void normZP__4cXyzCFv();
extern "C" bool __ne__4cXyzCFRC3Vec();
extern "C" void cM_atan2s__Fff();
extern "C" void cLib_addCalc__FPfffff();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void startRainSe__10Z2EnvSeMgrFlSc();
extern "C" void initStrongWindSe__10Z2EnvSeMgrFv();
extern "C" void setWindDirection__10Z2EnvSeMgrFP3Vec();
extern "C" void startStrongWindSe__10Z2EnvSeMgrFSc();
extern "C" void* __nw__FUli();
extern "C" void __dl__FPv();
extern "C" bool entry__9J3DPacketFP13J3DDrawBuffer();
extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs();
extern "C" void __register_global_object();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void _savegpr_24();
extern "C" void _savegpr_25();
extern "C" void _savegpr_26();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_24();
extern "C" void _restgpr_25();
extern "C" void _restgpr_26();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__9J3DPacket[5];
extern "C" extern dScnKy_env_light_c g_env_light;
extern "C" extern Z2EnvSeMgr g_mEnvSeMgr;
extern "C" f32 Zero__4cXyz[3];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u8 data_80450EE0;
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
static void dKyw_pntlight_set(WIND_INFLUENCE* pntwind);
//
// Declarations:
//
/* 80056AA8-80056AF8 0513E8 0050+00 3/3 0/0 0/0 .text dKyw_setDrawPacketList__FP9J3DPacketi */
static J3DPacket* dKyw_setDrawPacketList(J3DPacket* i_packet, int i_type) {
if (i_packet == NULL) {
@@ -504,35 +294,6 @@ static void dKyw_evil_Draw() {
dKyw_evil_packet(J3DSys_XLU_BUFFER_e);
}
/* 804520E0-804520E4 0006E0 0004+00 12/12 0/0 0/0 .sdata2 @4378 */
SECTION_SDATA2 static u8 lit_4378[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 804520E4-804520E8 0006E4 0004+00 11/11 0/0 0/0 .sdata2 @4379 */
SECTION_SDATA2 static f32 lit_4379 = 1.0f;
// remove these once float data is fixed
inline JPABaseEmitter* tmp_dComIfGp_particle_set(u16 param_1, const cXyz* param_2,
const dKy_tevstr_c* param_3, const csXyz* param_4,
const cXyz* param_5, u8 param_6,
dPa_levelEcallBack* param_7, s8 param_8,
const GXColor* param_9, const GXColor* param_10,
const cXyz* param_11) {
return g_dComIfG_gameInfo.play.getParticle()->setNormal(param_1, param_2, param_3, param_4,
param_5, param_6, param_7, param_8,
param_9, param_10, param_11, lit_4379);
}
inline JPABaseEmitter* tmp_dComIfGp_particle_set(u16 param_0, const cXyz* param_1,
const csXyz* param_2, const cXyz* param_3) {
return tmp_dComIfGp_particle_set(param_0, param_1, NULL, param_2, param_3, 0xFF, NULL, -1, NULL,
NULL, NULL);
}
/* 800574E0-800579EC 051E20 050C+00 0/0 1/1 0/0 .text dKyw_wether_init__Fv */
void dKyw_wether_init() {
g_env_light.mSunInitialized = false;
@@ -547,11 +308,10 @@ void dKyw_wether_init() {
g_env_light.field_0xe91 = 0;
g_env_light.mStarInitialized = false;
g_env_light.mStarCount = 0;
f32 tmp0 = FLOAT_LABEL(lit_4378);
g_env_light.mStarDensity = tmp0;
g_env_light.mStarDensity = 0.0f;
g_env_light.mCloudInitialized = 0;
g_env_light.mMoyaCount = 0;
g_env_light.field_0xebc = tmp0;
g_env_light.field_0xebc = 0.0f;
g_env_light.mMoyaMode = 0;
g_env_light.mHousiInitialized = false;
g_env_light.mHousiCount = 0;
@@ -566,7 +326,7 @@ void dKyw_wether_init() {
g_env_light.mEvilInitialized = 0;
g_env_light.field_0x1054 = 0;
g_env_light.field_0x1051 = 0;
g_env_light.field_0xe60 = tmp0;
g_env_light.field_0xe60 = 0.0f;
dKyw_wind_init();
dKyw_pntwind_init();
@@ -576,24 +336,23 @@ void dKyw_wether_init() {
dComIfG_play_c::getLayerNo(0) < 8)
{
cXyz tmp;
f32 tmp0_2 = FLOAT_LABEL(lit_4378);
tmp.z = tmp0_2;
tmp.y = tmp0_2;
tmp.x = tmp0_2;
tmp.z = 0.0f;
tmp.y = 0.0f;
tmp.x = 0.0f;
tmp_dComIfGp_particle_set(0x878F, &tmp, NULL, NULL);
tmp_dComIfGp_particle_set(0x8790, &tmp, NULL, NULL);
tmp_dComIfGp_particle_set(0x8791, &tmp, NULL, NULL);
tmp_dComIfGp_particle_set(0x8792, &tmp, NULL, NULL);
tmp_dComIfGp_particle_set(0x8793, &tmp, NULL, NULL);
tmp_dComIfGp_particle_set(0x8794, &tmp, NULL, NULL);
tmp_dComIfGp_particle_set(0x8795, &tmp, NULL, NULL);
tmp_dComIfGp_particle_set(0x8796, &tmp, NULL, NULL);
tmp_dComIfGp_particle_set(0x8797, &tmp, NULL, NULL);
tmp_dComIfGp_particle_set(0x8798, &tmp, NULL, NULL);
tmp_dComIfGp_particle_set(0x8799, &tmp, NULL, NULL);
tmp_dComIfGp_particle_set(0x879A, &tmp, NULL, NULL);
tmp_dComIfGp_particle_set(0x879B, &tmp, NULL, NULL);
dComIfGp_particle_set(0x878F, &tmp, NULL, NULL);
dComIfGp_particle_set(0x8790, &tmp, NULL, NULL);
dComIfGp_particle_set(0x8791, &tmp, NULL, NULL);
dComIfGp_particle_set(0x8792, &tmp, NULL, NULL);
dComIfGp_particle_set(0x8793, &tmp, NULL, NULL);
dComIfGp_particle_set(0x8794, &tmp, NULL, NULL);
dComIfGp_particle_set(0x8795, &tmp, NULL, NULL);
dComIfGp_particle_set(0x8796, &tmp, NULL, NULL);
dComIfGp_particle_set(0x8797, &tmp, NULL, NULL);
dComIfGp_particle_set(0x8798, &tmp, NULL, NULL);
dComIfGp_particle_set(0x8799, &tmp, NULL, NULL);
dComIfGp_particle_set(0x879A, &tmp, NULL, NULL);
dComIfGp_particle_set(0x879B, &tmp, NULL, NULL);
}
// Stage is City in the Sky
@@ -673,48 +432,18 @@ dKankyo_mud_Packet::~dKankyo_mud_Packet() {}
/* 80057D8C-80057E10 0526CC 0084+00 1/0 0/0 0/0 .text __dt__20dKankyo_odour_PacketFv */
dKankyo_odour_Packet::~dKankyo_odour_Packet() {}
/* ############################################################################################## */
/* 803A9AFC-803A9B10 006C1C 0014+00 2/2 0/0 0/0 .data __vt__21dKankyo_vrkumo_Packet */
SECTION_DATA extern void* __vt__21dKankyo_vrkumo_Packet[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)entry__9J3DPacketFP13J3DDrawBuffer,
(void*)draw__21dKankyo_vrkumo_PacketFv,
(void*)__dt__21dKankyo_vrkumo_PacketFv,
};
/* 80057E10-80057E94 052750 0084+00 1/0 0/0 0/0 .text __dt__20dKankyo_cloud_PacketFv */
dKankyo_cloud_Packet::~dKankyo_cloud_Packet() {}
/* 80057E94-80057F18 0527D4 0084+00 1/0 0/0 0/0 .text __dt__20dKankyo_housi_PacketFv */
dKankyo_housi_Packet::~dKankyo_housi_Packet() {}
/* ############################################################################################## */
/* 803A9B38-803A9B4C 006C58 0014+00 1/1 1/1 0/0 .data __vt__19dKankyo_star_Packet */
SECTION_DATA extern void* __vt__19dKankyo_star_Packet[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)entry__9J3DPacketFP13J3DDrawBuffer,
(void*)draw__19dKankyo_star_PacketFv,
(void*)__dt__19dKankyo_star_PacketFv,
};
/* 80057F18-80057F9C 052858 0084+00 1/0 0/0 0/0 .text __dt__19dKankyo_star_PacketFv */
dKankyo_star_Packet::~dKankyo_star_Packet() {}
/* 80057F9C-80058020 0528DC 0084+00 1/0 0/0 0/0 .text __dt__19dKankyo_snow_PacketFv */
dKankyo_snow_Packet::~dKankyo_snow_Packet() {}
/* ############################################################################################## */
/* 803A9B60-803A9B74 006C80 0014+00 2/2 0/0 0/0 .data __vt__19dKankyo_rain_Packet */
SECTION_DATA extern void* __vt__19dKankyo_rain_Packet[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)entry__9J3DPacketFP13J3DDrawBuffer,
(void*)draw__19dKankyo_rain_PacketFv,
(void*)__dt__19dKankyo_rain_PacketFv,
};
/* 80058020-800580A4 052960 0084+00 1/0 0/0 0/0 .text __dt__19dKankyo_rain_PacketFv */
dKankyo_rain_Packet::~dKankyo_rain_Packet() {}
@@ -755,12 +484,6 @@ void dKyw_wether_move() {
wether_move_thunder();
}
/* 804520E8-804520EC 0006E8 0004+00 1/1 0/0 0/0 .sdata2 @4610 */
SECTION_SDATA2 static f32 lit_4610 = 255.0f;
/* 804520EC-804520F0 0006EC 0004+00 1/1 0/0 0/0 .sdata2 @4611 */
SECTION_SDATA2 static f32 lit_4611 = 1000000000.0f;
/* 80058318-80058894 052C58 057C+00 1/1 0/0 0/0 .text wether_move_sun__Fv */
static void wether_move_sun() {
s32 sunVisible = false;
@@ -814,16 +537,15 @@ static void wether_move_sun() {
}
g_env_light.mpSunPacket->field_0x28 = 0;
g_env_light.mpSunPacket->field_0x29 = 0;
f32 tmp0 = FLOAT_LABEL(lit_4378);
g_env_light.mpSunPacket->mVisibility = tmp0;
g_env_light.mpSunPacket->mSunAlpha = tmp0;
g_env_light.mpSunPacket->field_0x64 = tmp0;
g_env_light.mpSunPacket->field_0x68 = tmp0;
g_env_light.mpSunPacket->mVisibility = 0.0f;
g_env_light.mpSunPacket->mSunAlpha = 0.0f;
g_env_light.mpSunPacket->field_0x64 = 0.0f;
g_env_light.mpSunPacket->field_0x68 = 0.0f;
if (g_env_light.mDaytime < lit_4610) {
g_env_light.mpSunPacket->field_0x6c = lit_4379;
if (g_env_light.mDaytime < 255.0f) {
g_env_light.mpSunPacket->field_0x6c = 1.0f;
} else {
g_env_light.mpSunPacket->field_0x6c = tmp0;
g_env_light.mpSunPacket->field_0x6c = 0.0f;
}
g_env_light.mpSunPacket->field_0x44[0] = 0;
g_env_light.mpSunPacket->field_0x44[1] = 0;
@@ -838,10 +560,9 @@ static void wether_move_sun() {
(u8*)dComIfG_getObjectRes("Always", 0x57);
g_env_light.mpSunLenzPacket->mpResLenz =
(u8*)dComIfG_getObjectRes("Always", 0x5C);
g_env_light.mpSunLenzPacket->field_0x8c = lit_4611;
f32 tmp0_2 = FLOAT_LABEL(lit_4378);
g_env_light.mpSunLenzPacket->field_0x90 = tmp0_2;
g_env_light.mpSunLenzPacket->mDistFalloff = tmp0_2;
g_env_light.mpSunLenzPacket->field_0x8c = 1e9f;
g_env_light.mpSunLenzPacket->field_0x90 = 0.0f;
g_env_light.mpSunLenzPacket->mDistFalloff = 0.0f;
g_env_light.mpSunLenzPacket->mDrawLenzInSky = false;
dKyr_sun_move();
dKyr_lenzflare_move();
@@ -865,25 +586,7 @@ static void wether_move_sun() {
}
}
/* ############################################################################################## */
/* 8037A368-8037A368 0069C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8037A3F1 = "R_SP127";
#pragma pop
/* 804520F0-804520F4 0006F0 0004+00 2/2 0/0 0/0 .sdata2 @4668 */
SECTION_SDATA2 static f32 lit_4668 = -1.0f;
/* 804520F4-804520F8 0006F4 0004+00 1/1 0/0 0/0 .sdata2 @4669 */
SECTION_SDATA2 static f32 lit_4669 = 125.0f;
/* 804520F8-80452100 0006F8 0008+00 2/2 0/0 0/0 .sdata2 @4671 */
SECTION_SDATA2 static f64 lit_4671 = 4503601774854144.0 /* cast s32 to float */;
/* 80058894-80058B00 0531D4 026C+00 1/1 0/0 0/0 .text wether_move_rain__Fv */
// matches with literals
#ifdef NONMATCHING
static void wether_move_rain() {
switch (g_env_light.mRainInitialized) {
case FALSE:
@@ -925,16 +628,6 @@ static void wether_move_rain() {
break;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void wether_move_rain() {
nofralloc
#include "asm/d/kankyo/d_kankyo_wether/wether_move_rain__Fv.s"
}
#pragma pop
#endif
/* 80058B00-80058B8C 053440 008C+00 1/1 0/0 0/0 .text wether_move_snow__Fv */
static void wether_move_snow() {
@@ -954,51 +647,6 @@ static void wether_move_snow() {
}
}
/* ############################################################################################## */
/* 8037A368-8037A368 0069C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8037A3F9 = "F_SP121";
SECTION_DEAD static char const* const stringBase_8037A401 = "F_SP122";
SECTION_DEAD static char const* const stringBase_8037A409 = "F_SP128";
#pragma pop
/* 80452100-80452104 000700 0004+00 1/1 0/0 0/0 .sdata2 @4761 */
SECTION_SDATA2 static f32 lit_4761 = 330.0f;
/* 80452104-80452108 000704 0004+00 1/1 0/0 0/0 .sdata2 @4762 */
SECTION_SDATA2 static f32 lit_4762 = 45.0f;
/* 80452108-8045210C 000708 0004+00 1/1 0/0 0/0 .sdata2 @4763 */
SECTION_SDATA2 static f32 lit_4763 = 285.0f;
/* 8045210C-80452110 00070C 0004+00 1/1 0/0 0/0 .sdata2 @4764 */
SECTION_SDATA2 static f32 lit_4764 = 1.0f / 45.0f;
/* 80452110-80452114 000710 0004+00 2/2 0/0 0/0 .sdata2 @4765 */
SECTION_SDATA2 static f32 lit_4765 = 75.0f;
/* 80452114-80452118 000714 0004+00 1/1 0/0 0/0 .sdata2 @4766 */
SECTION_SDATA2 static f32 lit_4766 = 1.0f / 30.0f;
/* 80452118-8045211C 000718 0004+00 2/2 0/0 0/0 .sdata2 @4767 */
SECTION_SDATA2 static f32 lit_4767 = 0.5f;
/* 8045211C-80452120 00071C 0004+00 2/2 0/0 0/0 .sdata2 @4768 */
SECTION_SDATA2 static f32 lit_4768 = 1.0f / 10.0f;
/* 80452120-80452124 000720 0004+00 3/3 0/0 0/0 .sdata2 @4769 */
SECTION_SDATA2 static f32 lit_4769 = 1.0f / 100.0f;
/* 80452124-80452128 000724 0004+00 2/2 0/0 0/0 .sdata2 @4770 */
SECTION_SDATA2 static f32 lit_4770 = 9.999999974752427e-07f;
/* 80452128-8045212C 000728 0004+00 1/1 0/0 0/0 .sdata2 @4771 */
SECTION_SDATA2 static f32 lit_4771 = 1200.0f;
/* 8045212C-80452130 00072C 0004+00 1/1 0/0 0/0 .sdata2 @4772 */
SECTION_SDATA2 static f32 lit_4772 = 500.0f;
/* 80058B8C-80058F18 0534CC 038C+00 1/1 0/0 0/0 .text wether_move_star__Fv */
static void wether_move_star() {
s32 starsVisible = false;
@@ -1026,40 +674,40 @@ static void wether_move_star() {
if (starsVisible && dKy_darkworld_check() != true) {
f32 density;
f32 time = g_env_light.getDaytime();
if (time >= lit_4761 || time < lit_4762) {
density = lit_4379;
} else if (time > lit_4763) {
density = lit_4379 - lit_4764 * (lit_4761 - time);
if (time >= 330.0f || time < 45.0f) {
density = 1.0f;
} else if (time > 285.0f) {
density = 1.0f - (1.0f / 45.0f) * (330.0f - time);
} else {
if (time < lit_4765) {
density = lit_4766 * (lit_4765 - time);
if (time < 75.0f) {
density = (1.0f / 30.0f) * (75.0f - time);
} else {
density = FLOAT_LABEL(lit_4378);
density = 0.0f;
}
}
if (g_env_light.mColpatWeather != 0) {
density = FLOAT_LABEL(lit_4378);
density = 0.0f;
}
if (g_env_light.mColPatCurr != 0 && g_env_light.mColPatBlend > lit_4767) {
density = FLOAT_LABEL(lit_4378);
if (g_env_light.mColPatCurr != 0 && g_env_light.mColPatBlend > 0.5f) {
density = 0.0f;
}
// Stage is Hero Shade arena
if (!strcmp(dComIfGp_getStartStageName(), "F_SP200")) {
density = lit_4379;
density = 1.0f;
}
cLib_addCalc(&g_env_light.mStarDensity, density, lit_4768, lit_4769, lit_4770);
g_env_light.mStarCount = (s16)(lit_4771 * g_env_light.mStarDensity);
cLib_addCalc(&g_env_light.mStarDensity, density, 0.1f, 0.01f, 0.000001f);
g_env_light.mStarCount = (s16)(1200.0f * g_env_light.mStarDensity);
// Stage is Hyrule Field or Outside Castle Town or Hidden Village
if (!strcmp(dComIfGp_getStartStageName(), "F_SP121") ||
!strcmp(dComIfGp_getStartStageName(), "F_SP122") ||
!strcmp(dComIfGp_getStartStageName(), "F_SP128"))
{
g_env_light.mStarCount = (s16)(lit_4772 * g_env_light.mStarDensity);
g_env_light.mStarCount = (s16)(500.0f * g_env_light.mStarDensity);
}
switch (g_env_light.mStarInitialized) {
@@ -1163,9 +811,8 @@ static void wether_move_housi() {
}
}
f32 tmp0 = FLOAT_LABEL(lit_4378);
g_env_light.mpHousiPacket->field_0x5de8 = tmp0;
g_env_light.mpHousiPacket->field_0x10.set(tmp0, tmp0, tmp0);
g_env_light.mpHousiPacket->field_0x5de8 = 0.0f;
g_env_light.mpHousiPacket->field_0x10.set(0.0f, 0.0f, 0.0f);
for (int i = 0; i < 300; i++) {
g_env_light.mpHousiPacket->mHousiEff[i].mStatus = 0;
}
@@ -1176,7 +823,7 @@ static void wether_move_housi() {
break;
case TRUE:
if (g_env_light.mHousiCount == 0 &&
g_env_light.mpHousiPacket->field_0x5de8 <= FLOAT_LABEL(lit_4378))
g_env_light.mpHousiPacket->field_0x5de8 <= 0.0f)
{
g_env_light.mHousiInitialized = false;
delete g_env_light.mpHousiPacket;
@@ -1262,68 +909,7 @@ static void wether_move_moya() {
}
}
/* ############################################################################################## */
/* 8037A368-8037A368 0069C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8037A469 = "F_SP114";
SECTION_DEAD static char const* const stringBase_8037A471 = "D_MN09B";
SECTION_DEAD static char const* const stringBase_8037A479 = "F_SP104";
SECTION_DEAD static char const* const stringBase_8037A481 = "cloudtx_01.bti";
SECTION_DEAD static char const* const stringBase_8037A490 = "cloudtx_02.bti";
SECTION_DEAD static char const* const stringBase_8037A49F = "cloudtx_03.bti";
#pragma pop
/* 80424938-80424944 051658 000C+00 1/1 0/0 0/0 .bss @4965 */
static u8 lit_4965[12];
/* 80424944-80424950 051664 000C+00 1/1 0/0 0/0 .bss r09o$4964 */
static f32 r09o[3];
/* 80452130-80452134 000730 0004+00 1/1 0/0 0/0 .sdata2 @5181 */
SECTION_SDATA2 static f32 lit_5181 = -180000.0f;
/* 80452134-80452138 000734 0004+00 1/1 0/0 0/0 .sdata2 @5182 */
SECTION_SDATA2 static f32 lit_5182 = 750.0f;
/* 80452138-8045213C 000738 0004+00 1/1 0/0 0/0 .sdata2 @5183 */
SECTION_SDATA2 static f32 lit_5183 = -200000.0f;
/* 8045213C-80452140 00073C 0004+00 1/1 0/0 0/0 .sdata2 @5184 */
SECTION_SDATA2 static f32 lit_5184 = 0.003000000026077032f;
/* 80452140-80452144 000740 0004+00 1/1 0/0 0/0 .sdata2 @5185 */
SECTION_SDATA2 static f32 lit_5185 = 1.0000000116860974e-07f;
/* 80452144-80452148 000744 0004+00 1/1 0/0 0/0 .sdata2 @5186 */
SECTION_SDATA2 static f32 lit_5186 = 2.0f / 25.0f;
/* 80452148-8045214C 000748 0004+00 1/1 0/0 0/0 .sdata2 @5187 */
SECTION_SDATA2 static f32 lit_5187 = 0.0020000000949949026f;
/* 8045214C-80452150 00074C 0004+00 1/1 0/0 0/0 .sdata2 @5188 */
SECTION_SDATA2 static f32 lit_5188 = 9.99999993922529e-09f;
/* 80452150-80452154 000750 0004+00 1/1 0/0 0/0 .sdata2 @5189 */
SECTION_SDATA2 static f32 lit_5189 = 6.0f;
/* 80452154-80452158 000754 0004+00 1/1 0/0 0/0 .sdata2 @5190 */
SECTION_SDATA2 static f32 lit_5190 = 56.0f;
/* 80452158-8045215C 000758 0004+00 2/2 0/0 0/0 .sdata2 @5191 */
SECTION_SDATA2 static f32 lit_5191 = 3.0f / 10.0f;
/* 8045215C-80452160 00075C 0004+00 1/1 0/0 0/0 .sdata2 @5192 */
SECTION_SDATA2 static f32 lit_5192 = 24575.0f;
/* 80452160-80452164 000760 0004+00 1/1 0/0 0/0 .sdata2 @5193 */
SECTION_SDATA2 static f32 lit_5193 = 0.00139999995008111f;
u8 data_80450EE0;
/* 80059728-80059E38 054068 0710+00 1/1 0/0 0/0 .text wether_move_vrkumo__Fv */
// Matches with literals
#ifdef NONMATCHING
static void wether_move_vrkumo() {
BOOL var_r31 = false;
static cXyz r09o(-180000.0f, 750.0f, -200000.0f);
@@ -1454,16 +1040,6 @@ static void wether_move_vrkumo() {
break;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void wether_move_vrkumo() {
nofralloc
#include "asm/d/kankyo/d_kankyo_wether/wether_move_vrkumo__Fv.s"
}
#pragma pop
#endif
/* 80059E38-80059F74 054778 013C+00 1/1 0/0 0/0 .text wether_move_mud__Fv */
static void wether_move_mud() {
@@ -1600,40 +1176,13 @@ void dKyw_wether_draw2() {
}
}
/* ############################################################################################## */
/* 8037A368-8037A368 0069C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8037A4B3 = "F_SP127";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_8037A4BB = "\0\0\0\0";
#pragma pop
/* 80452164-80452168 000764 0004+00 1/1 0/0 0/0 .sdata2 @5361 */
SECTION_SDATA2 static f32 lit_5361 = 120.0f;
/* 80452168-8045216C 000768 0004+00 3/3 0/0 0/0 .sdata2 @5362 */
SECTION_SDATA2 static f32 lit_5362 = 1.0f / 20.0f;
/* 8045216C-80452170 00076C 0004+00 1/1 0/0 0/0 .sdata2 @5363 */
SECTION_SDATA2 static f32 lit_5363 = 0.0024999999441206455f;
/* 80452170-80452178 000770 0004+04 1/1 0/0 0/0 .sdata2 @5364 */
SECTION_SDATA2 static f32 lit_5364[1 + 1 /* padding */] = {
9.999999747378752e-06f,
/* padding */
0.0f,
};
/* 8005A340-8005A57C 054C80 023C+00 0/0 1/1 0/0 .text dKyw_wether_proc__Fv */
// small branch issue
#ifdef NONMATCHING
void dKyw_wether_proc() {
// Stage is Faron Woods or Fishing Pond or Hyrule Field
if (!strcmp(dComIfGp_getStartStageName(), "F_SP108") ||
!strcmp(dComIfGp_getStartStageName(), "F_SP127") ||
(!strcmp(dComIfGp_getStartStageName(), "F_SP121") &&
FLOAT_LABEL(lit_4378) != g_env_light.mDiceWeatherTime))
g_env_light.mDiceWeatherTime != 0.0f))
{
if (!dKy_darkworld_check()) {
// Stage is Hyrule Field
@@ -1645,16 +1194,18 @@ void dKyw_wether_proc() {
g_env_light.mDiceWeatherMode >= 1 && g_env_light.mDiceWeatherMode < 6)
{
dKy_get_dayofweek();
cLib_addCalc(&g_env_light.field_0xebc, lit_4379, lit_5362, lit_5363, lit_4770);
lbl1:
cLib_addCalc(&g_env_light.field_0xebc, 1.0f, 0.05f, 0.0025f, 0.000001f);
g_env_light.mMoyaMode = 7;
g_env_light.mMoyaCount = 49;
} else {
cLib_addCalc(&g_env_light.field_0xebc, FLOAT_LABEL(lit_4378), lit_5362,
lit_5363, lit_5364[0]);
if (g_env_light.field_0xebc <= lit_4769 && g_env_light.mMoyaCount == 49) {
cLib_addCalc(&g_env_light.field_0xebc, 0.0f, 0.05f, 0.0025f, 0.00001f);
if (g_env_light.field_0xebc <= 0.01f && g_env_light.mMoyaCount == 49) {
g_env_light.mMoyaCount = 0;
}
}
} else {
goto lbl1; // maybe fake match
}
}
}
@@ -1672,63 +1223,23 @@ void dKyw_wether_proc() {
}
squal_proc();
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dKyw_wether_proc() {
nofralloc
#include "asm/d/kankyo/d_kankyo_wether/dKyw_wether_proc__Fv.s"
}
#pragma pop
#endif
/* 8005A57C-8005A5C0 054EBC 0044+00 1/1 0/0 0/0 .text dKyw_wind_init__Fv */
static void dKyw_wind_init() {
g_env_light.mWind.vec.x = lit_4668;
f32 tmp_0 = FLOAT_LABEL(lit_4378);
g_env_light.mWind.vec.y = tmp_0;
g_env_light.mWind.vec.z = tmp_0;
g_env_light.mWind.pow = tmp_0;
g_env_light.mWind.vec.x = -1.0f;
g_env_light.mWind.vec.y = 0.0f;
g_env_light.mWind.vec.z = 0.0f;
g_env_light.mWind.pow = 0.0f;
g_env_light.field_0xe6c = 0;
g_env_light.field_0xe64 = 0;
g_env_light.field_0xe66 = 0;
g_env_light.mWind.vec_override = 0;
g_env_light.custom_windpower = tmp_0;
g_env_light.custom_windpower = 0.0f;
g_env_light.mEvtWindSet = 0;
g_env_light.mTeachWindExist = 0;
}
/* ############################################################################################## */
/* 80452178-80452180 000778 0008+00 3/3 0/0 0/0 .sdata2 @5524 */
SECTION_SDATA2 static f64 lit_5524 = 0.5;
/* 80452180-80452188 000780 0008+00 3/3 0/0 0/0 .sdata2 @5525 */
SECTION_SDATA2 static f64 lit_5525 = 3.0;
/* 80452188-80452190 000788 0008+00 3/3 0/0 0/0 .sdata2 @5526 */
SECTION_SDATA2 static u8 lit_5526[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80452190-80452194 000790 0004+00 1/1 0/0 0/0 .sdata2 @5527 */
SECTION_SDATA2 static f32 lit_5527 = 3.0f / 5.0f;
/* 80452194-80452198 000794 0004+00 1/1 0/0 0/0 .sdata2 @5528 */
SECTION_SDATA2 static f32 lit_5528 = 9.0f / 10.0f;
/* 80452198-8045219C 000798 0004+00 1/1 0/0 0/0 .sdata2 @5529 */
SECTION_SDATA2 static f32 lit_5529 = 2.0f;
/* 8045219C-804521A0 00079C 0004+00 2/2 0/0 0/0 .sdata2 @5530 */
SECTION_SDATA2 static f32 lit_5530 = 0.0010000000474974513f;
/* 804521A0-804521A4 0007A0 0004+00 1/1 0/0 0/0 .sdata2 @5531 */
SECTION_SDATA2 static f32 lit_5531 = 0.004999999888241291f;
/* 8005A5C0-8005AAE0 054F00 0520+00 0/0 2/2 0/0 .text dKyw_wind_set__Fv */
// matches with literals
#ifdef NONMATCHING
void dKyw_wind_set() {
s16 var_r30;
s16 var_r29;
@@ -1870,16 +1381,6 @@ void dKyw_wind_set() {
cLib_addCalc(&g_env_light.mWind.pow, strength, 0.05f, 1.0f, 0.005f);
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dKyw_wind_set() {
nofralloc
#include "asm/d/kankyo/d_kankyo_wether/dKyw_wind_set__Fv.s"
}
#pragma pop
#endif
/* 8005AAE0-8005AAF0 055420 0010+00 1/1 6/6 7/7 .text dKyw_get_wind_vec__Fv */
cXyz* dKyw_get_wind_vec() {
@@ -1924,13 +1425,7 @@ void dKyw_plight_collision_set(cXyz* param_0, s16 param_1, s16 param_2, f32 para
}
}
/* ############################################################################################## */
/* 804521A4-804521A8 0007A4 0004+00 1/1 0/0 0/0 .sdata2 @5630 */
SECTION_SDATA2 static f32 lit_5630 = 1.0f / 5.0f;
/* 8005AC30-8005AD44 055570 0114+00 1/1 0/0 0/0 .text squal_proc__Fv */
// matches with literals
#ifdef NONMATCHING
static void squal_proc() {
dScnKy_env_light_c* env_light = dKy_getEnvlight();
WIND_INFLUENCE* influence;
@@ -1963,16 +1458,6 @@ static void squal_proc() {
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void squal_proc() {
nofralloc
#include "asm/d/kankyo/d_kankyo_wether/squal_proc__Fv.s"
}
#pragma pop
#endif
/* 8005AD44-8005AD98 055684 0054+00 1/1 0/0 0/0 .text dKyw_pntwind_init__Fv */
static void dKyw_pntwind_init() {
@@ -2024,8 +1509,6 @@ void dKyw_pntwind_cut(WIND_INFLUENCE* i_pntwind) {
/* 8005AE90-8005B23C 0557D0 03AC+00 2/2 0/0 0/0 .text pntwind_get_info__FP4cXyzP4cXyzPfUc
*/
// matches with literals
#ifdef NONMATCHING
static void pntwind_get_info(cXyz* param_0, cXyz* i_dir, f32* i_power, u8 param_3) {
i_dir->x = 0.0f;
i_dir->y = 0.0f;
@@ -2086,16 +1569,6 @@ static void pntwind_get_info(cXyz* param_0, cXyz* i_dir, f32* i_power, u8 param_
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void pntwind_get_info(cXyz* param_0, cXyz* param_1, f32* param_2, u8 param_3) {
nofralloc
#include "asm/d/kankyo/d_kankyo_wether/pntwind_get_info__FP4cXyzP4cXyzPfUc.s"
}
#pragma pop
#endif
/* 8005B23C-8005B260 055B7C 0024+00 3/3 0/0 0/0 .text dKyw_pntwind_get_info__FP4cXyzP4cXyzPf */
static void dKyw_pntwind_get_info(cXyz* param_0, cXyz* param_1, f32* param_2) {
@@ -2118,20 +1591,10 @@ cXyz dKyw_pntwind_get_vecpow(cXyz* param_0) {
return direction;
}
/* ############################################################################################## */
/* 804521A8-804521B0 0007A8 0004+04 2/2 0/0 0/0 .sdata2 @5855 */
SECTION_SDATA2 static f32 lit_5855[1 + 1 /* padding */] = {
5.0f,
/* padding */
0.0f,
};
/* 8005B2F8-8005B530 055C38 0238+00 0/0 3/3 13/13 .text dKyw_get_AllWind_vec__FP4cXyzP4cXyzPf */
// matches with literals
#ifdef NONMATCHING
void dKyw_get_AllWind_vec(cXyz* i_position, cXyz* i_direction, f32* i_power) {
dScnKy_env_light_c* env_light = dKy_getEnvlight();
dKyw_pntwind_get_info(param_0, i_direction, i_power);
dKyw_pntwind_get_info(i_position, i_direction, i_power);
cXyz sp54;
cXyz sp30;
@@ -2153,20 +1616,8 @@ void dKyw_get_AllWind_vec(cXyz* i_position, cXyz* i_direction, f32* i_power) {
i_direction->z = env_light->mWind.vec.z;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dKyw_get_AllWind_vec(cXyz* param_0, cXyz* param_1, f32* param_2) {
nofralloc
#include "asm/d/kankyo/d_kankyo_wether/dKyw_get_AllWind_vec__FP4cXyzP4cXyzPf.s"
}
#pragma pop
#endif
/* 8005B530-8005B60C 055E70 00DC+00 0/0 0/0 5/5 .text dKyw_get_AllWind_vecpow__FP4cXyz */
// matches with literals
#ifdef NONMATCHING
cXyz dKyw_get_AllWind_vecpow(cXyz* param_0) {
f32 sp8;
cXyz spC;
@@ -2181,16 +1632,6 @@ cXyz dKyw_get_AllWind_vecpow(cXyz* param_0) {
return spC;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dKyw_get_AllWind_vecpow(cXyz* param_0) {
nofralloc
#include "asm/d/kankyo/d_kankyo_wether/dKyw_get_AllWind_vecpow__FP4cXyz.s"
}
#pragma pop
#endif
/* 8005B60C-8005B61C 055F4C 0010+00 0/0 0/0 5/5 .text dKyw_custom_windpower__Ff */
void dKyw_custom_windpower(f32 pow) {
+17 -19
View File
@@ -1529,12 +1529,11 @@ void dSv_info_c::onSwitch(int i_no, int i_roomNo) {
} else if (i_no < (MEMORY_SWITCH + DAN_SWITCH)) {
mDan.onSwitch(i_no - MEMORY_SWITCH);
} else {
int zoneId = dStage_roomControl_c::getZoneNo(i_roomNo);
int zoneId = dComIfGp_roomControl_getZoneNo(i_roomNo);
if (i_no < (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH)) {
mZone[zoneId].getZoneBit().onSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
mZone[zoneId].getBit().onSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
} else {
mZone[zoneId].getZoneBit().onOneSwitch(i_no -
(MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH));
mZone[zoneId].getBit().onOneSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH));
}
}
}
@@ -1550,12 +1549,11 @@ void dSv_info_c::offSwitch(int i_no, int i_roomNo) {
} else if (i_no < (MEMORY_SWITCH + DAN_SWITCH)) {
mDan.offSwitch(i_no - MEMORY_SWITCH);
} else {
int zoneId = dStage_roomControl_c::getZoneNo(i_roomNo);
int zoneId = dComIfGp_roomControl_getZoneNo(i_roomNo);
if (i_no < (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH)) {
mZone[zoneId].getZoneBit().offSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
mZone[zoneId].getBit().offSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
} else {
mZone[zoneId].getZoneBit().offOneSwitch(i_no -
(MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH));
mZone[zoneId].getBit().offOneSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH));
}
}
}
@@ -1571,7 +1569,7 @@ BOOL dSv_info_c::isSwitch(int i_no, int i_roomNo) const {
} else if (i_no < (MEMORY_SWITCH + DAN_SWITCH)) {
return mDan.isSwitch(i_no - MEMORY_SWITCH);
} else {
int zoneId = dStage_roomControl_c::getZoneNo(i_roomNo);
int zoneId = dComIfGp_roomControl_getZoneNo(i_roomNo);
if (zoneId < 0 || zoneId >= ZONE_MAX) {
return FALSE;
} else {
@@ -1596,11 +1594,11 @@ BOOL dSv_info_c::revSwitch(int i_no, int i_roomNo) {
} else if (i_no < (MEMORY_SWITCH + DAN_SWITCH)) {
return mDan.revSwitch(i_no - MEMORY_SWITCH);
} else {
int zoneNo = dStage_roomControl_c::getZoneNo(i_roomNo);
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
if (i_no < (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH)) {
return mZone[zoneNo].getZoneBit().revSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
return mZone[zoneNo].getBit().revSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
} else {
return mZone[zoneNo].getZoneBit().revOneSwitch(
return mZone[zoneNo].getBit().revOneSwitch(
i_no - (MEMORY_SWITCH + DAN_SWITCH + ZONE_SWITCH));
}
}
@@ -1617,11 +1615,11 @@ void dSv_info_c::onItem(int i_no, int i_roomNo) {
} else if (i_no < (MEMORY_ITEM + DAN_ITEM)) {
mMemory.getBit().onItem(i_no - MEMORY_ITEM);
} else {
int zoneNo = dStage_roomControl_c::getZoneNo(i_roomNo);
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
if (i_no < (MEMORY_ITEM + DAN_ITEM + ZONE_ITEM)) {
mZone[zoneNo].getZoneBit().onItem(i_no - (MEMORY_ITEM + DAN_ITEM));
mZone[zoneNo].getBit().onItem(i_no - (MEMORY_ITEM + DAN_ITEM));
} else {
mZone[zoneNo].getZoneBit().onOneItem(i_no - (MEMORY_ITEM + DAN_ITEM + ZONE_ITEM));
mZone[zoneNo].getBit().onOneItem(i_no - (MEMORY_ITEM + DAN_ITEM + ZONE_ITEM));
}
}
}
@@ -1637,7 +1635,7 @@ BOOL dSv_info_c::isItem(int i_no, int i_roomNo) const {
} else if (i_no < (MEMORY_ITEM + DAN_ITEM)) {
return mMemory.getBit().isItem(i_no - MEMORY_ITEM);
} else {
int zoneNo = dStage_roomControl_c::getZoneNo(i_roomNo);
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
if (i_no < (MEMORY_ITEM + DAN_ITEM + ZONE_ITEM)) {
return mZone[zoneNo].getBit().isItem(i_no - (MEMORY_ITEM + DAN_ITEM));
} else {
@@ -1652,7 +1650,7 @@ void dSv_info_c::onActor(int i_id, int i_roomNo) {
return;
}
int zoneNo = dStage_roomControl_c::getZoneNo(i_roomNo);
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
mZone[zoneNo].getActor().on(i_id);
}
@@ -1662,7 +1660,7 @@ void dSv_info_c::offActor(int i_id, int i_roomNo) {
return;
}
int zoneNo = dStage_roomControl_c::getZoneNo(i_roomNo);
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
mZone[zoneNo].getActor().off(i_id);
}
@@ -1672,7 +1670,7 @@ BOOL dSv_info_c::isActor(int i_id, int i_roomNo) const {
return FALSE;
}
int zoneNo = dStage_roomControl_c::getZoneNo(i_roomNo);
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
return mZone[zoneNo].getActor().is(i_id);
}