zramark work, sWallShutter / firewood2 done (#2187)

* obj_zramark done except weaks

* setup fixes

* obj_sWallShutter done

* firewood2 done

* remove asm
This commit is contained in:
TakaRikka
2024-08-07 08:32:04 -07:00
committed by GitHub
parent 106d72032c
commit e7e5453771
55 changed files with 1681 additions and 2957 deletions
+8 -8
View File
@@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
.text | 50.837804% | 1828404 | 3596544
.text | 50.965038% | 1832980 | 3596544
.ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832
Total | 56.018994% | 2252340 | 4020672
Total | 56.132806% | 2256916 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 56.018994% | 2252340 | 4020672
RELs | 39.260076% | 4515036 | 11500324
Total | 43.601429% | 6767376 | 15520996
main.dol | 56.132806% | 2256916 | 4020672
RELs | 39.318510% | 4521756 | 11500324
Total | 43.674208% | 6778672 | 15520996
## RELs
@@ -401,7 +401,7 @@ d_a_obj_fallobj | 31.929604% | 2032 | 6364
d_a_obj_fan | 100.000000% | 7260 | 7260
d_a_obj_fchain | 30.649490% | 2284 | 7452
d_a_obj_fireWood | 44.125561% | 1968 | 4460
d_a_obj_fireWood2 | 41.290323% | 2304 | 5580
d_a_obj_fireWood2 | 100.000000% | 5580 | 5580
d_a_obj_firepillar | 43.032015% | 1828 | 4248
d_a_obj_firepillar2 | 32.320564% | 2936 | 9084
d_a_obj_flag | 37.518248% | 2056 | 5480
@@ -584,7 +584,7 @@ d_a_obj_rotTrap | 45.877144% | 3316 | 7228
d_a_obj_roten | 41.613588% | 1568 | 3768
d_a_obj_rstair | 37.354086% | 2688 | 7196
d_a_obj_rw | 41.210834% | 3104 | 7532
d_a_obj_sWallShutter | 41.268759% | 2420 | 5864
d_a_obj_sWallShutter | 100.000000% | 5864 | 5864
d_a_obj_saidan | 100.000000% | 3792 | 3792
d_a_obj_sakuita | 43.573382% | 1912 | 4388
d_a_obj_sakuita_rope | 30.817009% | 2580 | 8372
@@ -785,4 +785,4 @@ d_a_vrbox2 | 44.907111% | 2804 | 6244
d_a_warp_bug | 100.000000% | 2024 | 2024
d_a_ykgr | 44.400631% | 2252 | 5072
f_pc_profile_lst | 100.000000% | 28156 | 28156
Total | 39.260076% | 4515036 | 11500324
Total | 39.318510% | 4521756 | 11500324
@@ -1,15 +0,0 @@
lbl_80BE8DA0:
/* 80BE8DA0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE8DA4 7C 08 02 A6 */ mflr r0
/* 80BE8DA8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE8DAC 88 03 07 18 */ lbz r0, 0x718(r3)
/* 80BE8DB0 28 00 00 00 */ cmplwi r0, 0
/* 80BE8DB4 41 82 00 0C */ beq lbl_80BE8DC0
/* 80BE8DB8 38 63 07 20 */ addi r3, r3, 0x720
/* 80BE8DBC 4B 5B EB 71 */ bl dKy_plight_cut__FP15LIGHT_INFLUENCE
lbl_80BE8DC0:
/* 80BE8DC0 38 60 00 01 */ li r3, 1
/* 80BE8DC4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE8DC8 7C 08 03 A6 */ mtlr r0
/* 80BE8DCC 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE8DD0 4E 80 00 20 */ blr
@@ -1,380 +0,0 @@
lbl_80BE87DC:
/* 80BE87DC 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80BE87E0 7C 08 02 A6 */ mflr r0
/* 80BE87E4 90 01 00 44 */ stw r0, 0x44(r1)
/* 80BE87E8 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 80BE87EC 93 C1 00 38 */ stw r30, 0x38(r1)
/* 80BE87F0 7C 7F 1B 78 */ mr r31, r3
/* 80BE87F4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE87F8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE87FC 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80BE8800 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 80BE8804 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80BE8808 7C 05 07 74 */ extsb r5, r0
/* 80BE880C 4B 44 CB 55 */ bl isSwitch__10dSv_info_cCFii
/* 80BE8810 54 7E 06 3E */ clrlwi r30, r3, 0x18
/* 80BE8814 88 1F 06 F9 */ lbz r0, 0x6f9(r31)
/* 80BE8818 7C 00 F0 40 */ cmplw r0, r30
/* 80BE881C 41 82 00 64 */ beq lbl_80BE8880
/* 80BE8820 38 00 00 00 */ li r0, 0
/* 80BE8824 98 1F 06 F8 */ stb r0, 0x6f8(r31)
/* 80BE8828 98 1F 06 25 */ stb r0, 0x625(r31)
/* 80BE882C 7F E3 FB 78 */ mr r3, r31
/* 80BE8830 4B FF FE CD */ bl cutLight__13daFireWood2_cFv
/* 80BE8834 88 1F 06 FA */ lbz r0, 0x6fa(r31)
/* 80BE8838 28 00 00 00 */ cmplwi r0, 0
/* 80BE883C 40 82 00 24 */ bne lbl_80BE8860
/* 80BE8840 28 1E 00 00 */ cmplwi r30, 0
/* 80BE8844 41 82 00 38 */ beq lbl_80BE887C
/* 80BE8848 38 00 00 01 */ li r0, 1
/* 80BE884C 98 1F 06 F8 */ stb r0, 0x6f8(r31)
/* 80BE8850 98 1F 06 25 */ stb r0, 0x625(r31)
/* 80BE8854 7F E3 FB 78 */ mr r3, r31
/* 80BE8858 4B FF FE 75 */ bl setLight__13daFireWood2_cFv
/* 80BE885C 48 00 00 20 */ b lbl_80BE887C
lbl_80BE8860:
/* 80BE8860 28 1E 00 00 */ cmplwi r30, 0
/* 80BE8864 40 82 00 18 */ bne lbl_80BE887C
/* 80BE8868 38 00 00 01 */ li r0, 1
/* 80BE886C 98 1F 06 F8 */ stb r0, 0x6f8(r31)
/* 80BE8870 98 1F 06 25 */ stb r0, 0x625(r31)
/* 80BE8874 7F E3 FB 78 */ mr r3, r31
/* 80BE8878 4B FF FE 55 */ bl setLight__13daFireWood2_cFv
lbl_80BE887C:
/* 80BE887C 9B DF 06 F9 */ stb r30, 0x6f9(r31)
lbl_80BE8880:
/* 80BE8880 88 1F 06 F8 */ lbz r0, 0x6f8(r31)
/* 80BE8884 28 00 00 00 */ cmplwi r0, 0
/* 80BE8888 41 82 02 D4 */ beq lbl_80BE8B5C
/* 80BE888C 88 1F 06 FB */ lbz r0, 0x6fb(r31)
/* 80BE8890 28 00 00 01 */ cmplwi r0, 1
/* 80BE8894 40 82 01 70 */ bne lbl_80BE8A04
/* 80BE8898 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE889C 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE88A0 80 7E 5D 3C */ lwz r3, 0x5d3c(r30)
/* 80BE88A4 38 00 00 FF */ li r0, 0xff
/* 80BE88A8 90 01 00 08 */ stw r0, 8(r1)
/* 80BE88AC 38 80 00 00 */ li r4, 0
/* 80BE88B0 90 81 00 0C */ stw r4, 0xc(r1)
/* 80BE88B4 38 00 FF FF */ li r0, -1
/* 80BE88B8 90 01 00 10 */ stw r0, 0x10(r1)
/* 80BE88BC 90 81 00 14 */ stw r4, 0x14(r1)
/* 80BE88C0 90 81 00 18 */ stw r4, 0x18(r1)
/* 80BE88C4 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80BE88C8 80 9F 06 FC */ lwz r4, 0x6fc(r31)
/* 80BE88CC 38 A0 00 00 */ li r5, 0
/* 80BE88D0 3C C0 00 01 */ lis r6, 0x0001 /* 0x000085A7@ha */
/* 80BE88D4 38 C6 85 A7 */ addi r6, r6, 0x85A7 /* 0x000085A7@l */
/* 80BE88D8 38 FF 06 EC */ addi r7, r31, 0x6ec
/* 80BE88DC 39 00 00 00 */ li r8, 0
/* 80BE88E0 39 20 00 00 */ li r9, 0
/* 80BE88E4 39 40 00 00 */ li r10, 0
/* 80BE88E8 3D 60 80 BF */ lis r11, lit_3836@ha /* 0x80BE8F78@ha */
/* 80BE88EC C0 2B 8F 78 */ lfs f1, lit_3836@l(r11) /* 0x80BE8F78@l */
/* 80BE88F0 4B 46 4B DD */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80BE88F4 90 7F 06 FC */ stw r3, 0x6fc(r31)
/* 80BE88F8 80 7E 5D 3C */ lwz r3, 0x5d3c(r30)
/* 80BE88FC 38 00 00 FF */ li r0, 0xff
/* 80BE8900 90 01 00 08 */ stw r0, 8(r1)
/* 80BE8904 38 80 00 00 */ li r4, 0
/* 80BE8908 90 81 00 0C */ stw r4, 0xc(r1)
/* 80BE890C 38 00 FF FF */ li r0, -1
/* 80BE8910 90 01 00 10 */ stw r0, 0x10(r1)
/* 80BE8914 90 81 00 14 */ stw r4, 0x14(r1)
/* 80BE8918 90 81 00 18 */ stw r4, 0x18(r1)
/* 80BE891C 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80BE8920 80 9F 07 00 */ lwz r4, 0x700(r31)
/* 80BE8924 38 A0 00 00 */ li r5, 0
/* 80BE8928 3C C0 00 01 */ lis r6, 0x0001 /* 0x000085BB@ha */
/* 80BE892C 38 C6 85 BB */ addi r6, r6, 0x85BB /* 0x000085BB@l */
/* 80BE8930 38 FF 06 EC */ addi r7, r31, 0x6ec
/* 80BE8934 39 00 00 00 */ li r8, 0
/* 80BE8938 39 20 00 00 */ li r9, 0
/* 80BE893C 39 40 00 00 */ li r10, 0
/* 80BE8940 3D 60 80 BF */ lis r11, lit_3836@ha /* 0x80BE8F78@ha */
/* 80BE8944 C0 2B 8F 78 */ lfs f1, lit_3836@l(r11) /* 0x80BE8F78@l */
/* 80BE8948 4B 46 4B 85 */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80BE894C 90 7F 07 00 */ stw r3, 0x700(r31)
/* 80BE8950 80 7E 5D 3C */ lwz r3, 0x5d3c(r30)
/* 80BE8954 38 00 00 FF */ li r0, 0xff
/* 80BE8958 90 01 00 08 */ stw r0, 8(r1)
/* 80BE895C 38 80 00 00 */ li r4, 0
/* 80BE8960 90 81 00 0C */ stw r4, 0xc(r1)
/* 80BE8964 38 00 FF FF */ li r0, -1
/* 80BE8968 90 01 00 10 */ stw r0, 0x10(r1)
/* 80BE896C 90 81 00 14 */ stw r4, 0x14(r1)
/* 80BE8970 90 81 00 18 */ stw r4, 0x18(r1)
/* 80BE8974 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80BE8978 80 9F 07 04 */ lwz r4, 0x704(r31)
/* 80BE897C 38 A0 00 00 */ li r5, 0
/* 80BE8980 3C C0 00 01 */ lis r6, 0x0001 /* 0x000085BC@ha */
/* 80BE8984 38 C6 85 BC */ addi r6, r6, 0x85BC /* 0x000085BC@l */
/* 80BE8988 38 FF 06 EC */ addi r7, r31, 0x6ec
/* 80BE898C 39 00 00 00 */ li r8, 0
/* 80BE8990 39 20 00 00 */ li r9, 0
/* 80BE8994 39 40 00 00 */ li r10, 0
/* 80BE8998 3D 60 80 BF */ lis r11, lit_3836@ha /* 0x80BE8F78@ha */
/* 80BE899C C0 2B 8F 78 */ lfs f1, lit_3836@l(r11) /* 0x80BE8F78@l */
/* 80BE89A0 4B 46 4B 2D */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80BE89A4 90 7F 07 04 */ stw r3, 0x704(r31)
/* 80BE89A8 80 7E 5D 3C */ lwz r3, 0x5d3c(r30)
/* 80BE89AC 38 00 00 FF */ li r0, 0xff
/* 80BE89B0 90 01 00 08 */ stw r0, 8(r1)
/* 80BE89B4 38 80 00 00 */ li r4, 0
/* 80BE89B8 90 81 00 0C */ stw r4, 0xc(r1)
/* 80BE89BC 38 00 FF FF */ li r0, -1
/* 80BE89C0 90 01 00 10 */ stw r0, 0x10(r1)
/* 80BE89C4 90 81 00 14 */ stw r4, 0x14(r1)
/* 80BE89C8 90 81 00 18 */ stw r4, 0x18(r1)
/* 80BE89CC 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80BE89D0 80 9F 07 08 */ lwz r4, 0x708(r31)
/* 80BE89D4 38 A0 00 00 */ li r5, 0
/* 80BE89D8 3C C0 00 01 */ lis r6, 0x0001 /* 0x000085BD@ha */
/* 80BE89DC 38 C6 85 BD */ addi r6, r6, 0x85BD /* 0x000085BD@l */
/* 80BE89E0 38 FF 06 EC */ addi r7, r31, 0x6ec
/* 80BE89E4 39 00 00 00 */ li r8, 0
/* 80BE89E8 39 20 00 00 */ li r9, 0
/* 80BE89EC 39 40 00 00 */ li r10, 0
/* 80BE89F0 3D 60 80 BF */ lis r11, lit_3836@ha /* 0x80BE8F78@ha */
/* 80BE89F4 C0 2B 8F 78 */ lfs f1, lit_3836@l(r11) /* 0x80BE8F78@l */
/* 80BE89F8 4B 46 4A D5 */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80BE89FC 90 7F 07 08 */ stw r3, 0x708(r31)
/* 80BE8A00 48 00 01 08 */ b lbl_80BE8B08
lbl_80BE8A04:
/* 80BE8A04 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE8A08 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE8A0C 80 7E 5D 3C */ lwz r3, 0x5d3c(r30)
/* 80BE8A10 38 00 00 FF */ li r0, 0xff
/* 80BE8A14 90 01 00 08 */ stw r0, 8(r1)
/* 80BE8A18 38 80 00 00 */ li r4, 0
/* 80BE8A1C 90 81 00 0C */ stw r4, 0xc(r1)
/* 80BE8A20 38 00 FF FF */ li r0, -1
/* 80BE8A24 90 01 00 10 */ stw r0, 0x10(r1)
/* 80BE8A28 90 81 00 14 */ stw r4, 0x14(r1)
/* 80BE8A2C 90 81 00 18 */ stw r4, 0x18(r1)
/* 80BE8A30 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80BE8A34 80 9F 06 FC */ lwz r4, 0x6fc(r31)
/* 80BE8A38 38 A0 00 00 */ li r5, 0
/* 80BE8A3C 38 C0 03 AD */ li r6, 0x3ad
/* 80BE8A40 38 FF 06 EC */ addi r7, r31, 0x6ec
/* 80BE8A44 39 00 00 00 */ li r8, 0
/* 80BE8A48 39 20 00 00 */ li r9, 0
/* 80BE8A4C 39 40 00 00 */ li r10, 0
/* 80BE8A50 3D 60 80 BF */ lis r11, lit_3836@ha /* 0x80BE8F78@ha */
/* 80BE8A54 C0 2B 8F 78 */ lfs f1, lit_3836@l(r11) /* 0x80BE8F78@l */
/* 80BE8A58 4B 46 4A 75 */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80BE8A5C 90 7F 06 FC */ stw r3, 0x6fc(r31)
/* 80BE8A60 80 7E 5D 3C */ lwz r3, 0x5d3c(r30)
/* 80BE8A64 38 00 00 FF */ li r0, 0xff
/* 80BE8A68 90 01 00 08 */ stw r0, 8(r1)
/* 80BE8A6C 38 80 00 00 */ li r4, 0
/* 80BE8A70 90 81 00 0C */ stw r4, 0xc(r1)
/* 80BE8A74 38 00 FF FF */ li r0, -1
/* 80BE8A78 90 01 00 10 */ stw r0, 0x10(r1)
/* 80BE8A7C 90 81 00 14 */ stw r4, 0x14(r1)
/* 80BE8A80 90 81 00 18 */ stw r4, 0x18(r1)
/* 80BE8A84 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80BE8A88 80 9F 07 00 */ lwz r4, 0x700(r31)
/* 80BE8A8C 38 A0 00 00 */ li r5, 0
/* 80BE8A90 38 C0 03 AF */ li r6, 0x3af
/* 80BE8A94 38 FF 06 EC */ addi r7, r31, 0x6ec
/* 80BE8A98 39 00 00 00 */ li r8, 0
/* 80BE8A9C 39 20 00 00 */ li r9, 0
/* 80BE8AA0 39 40 00 00 */ li r10, 0
/* 80BE8AA4 3D 60 80 BF */ lis r11, lit_3836@ha /* 0x80BE8F78@ha */
/* 80BE8AA8 C0 2B 8F 78 */ lfs f1, lit_3836@l(r11) /* 0x80BE8F78@l */
/* 80BE8AAC 4B 46 4A 21 */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80BE8AB0 90 7F 07 00 */ stw r3, 0x700(r31)
/* 80BE8AB4 80 7E 5D 3C */ lwz r3, 0x5d3c(r30)
/* 80BE8AB8 38 00 00 FF */ li r0, 0xff
/* 80BE8ABC 90 01 00 08 */ stw r0, 8(r1)
/* 80BE8AC0 38 80 00 00 */ li r4, 0
/* 80BE8AC4 90 81 00 0C */ stw r4, 0xc(r1)
/* 80BE8AC8 38 00 FF FF */ li r0, -1
/* 80BE8ACC 90 01 00 10 */ stw r0, 0x10(r1)
/* 80BE8AD0 90 81 00 14 */ stw r4, 0x14(r1)
/* 80BE8AD4 90 81 00 18 */ stw r4, 0x18(r1)
/* 80BE8AD8 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80BE8ADC 80 9F 07 04 */ lwz r4, 0x704(r31)
/* 80BE8AE0 38 A0 00 00 */ li r5, 0
/* 80BE8AE4 38 C0 03 AE */ li r6, 0x3ae
/* 80BE8AE8 38 FF 06 EC */ addi r7, r31, 0x6ec
/* 80BE8AEC 39 00 00 00 */ li r8, 0
/* 80BE8AF0 39 20 00 00 */ li r9, 0
/* 80BE8AF4 39 40 00 00 */ li r10, 0
/* 80BE8AF8 3D 60 80 BF */ lis r11, lit_3836@ha /* 0x80BE8F78@ha */
/* 80BE8AFC C0 2B 8F 78 */ lfs f1, lit_3836@l(r11) /* 0x80BE8F78@l */
/* 80BE8B00 4B 46 49 CD */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80BE8B04 90 7F 07 04 */ stw r3, 0x704(r31)
lbl_80BE8B08:
/* 80BE8B08 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 80BE8B0C 7C 03 07 74 */ extsb r3, r0
/* 80BE8B10 4B 44 45 5D */ bl dComIfGp_getReverb__Fi
/* 80BE8B14 7C 67 1B 78 */ mr r7, r3
/* 80BE8B18 3C 60 00 08 */ lis r3, 0x0008 /* 0x00080018@ha */
/* 80BE8B1C 38 03 00 18 */ addi r0, r3, 0x0018 /* 0x00080018@l */
/* 80BE8B20 90 01 00 28 */ stw r0, 0x28(r1)
/* 80BE8B24 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 80BE8B28 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 80BE8B2C 80 63 00 00 */ lwz r3, 0(r3)
/* 80BE8B30 38 81 00 28 */ addi r4, r1, 0x28
/* 80BE8B34 38 BF 06 EC */ addi r5, r31, 0x6ec
/* 80BE8B38 38 C0 00 00 */ li r6, 0
/* 80BE8B3C 3D 00 80 BF */ lis r8, lit_3836@ha /* 0x80BE8F78@ha */
/* 80BE8B40 C0 28 8F 78 */ lfs f1, lit_3836@l(r8) /* 0x80BE8F78@l */
/* 80BE8B44 FC 40 08 90 */ fmr f2, f1
/* 80BE8B48 3D 00 80 BF */ lis r8, lit_4018@ha /* 0x80BE8F94@ha */
/* 80BE8B4C C0 68 8F 94 */ lfs f3, lit_4018@l(r8) /* 0x80BE8F94@l */
/* 80BE8B50 FC 80 18 90 */ fmr f4, f3
/* 80BE8B54 39 00 00 00 */ li r8, 0
/* 80BE8B58 4B 6C 39 B5 */ bl seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
lbl_80BE8B5C:
/* 80BE8B5C 7F E3 FB 78 */ mr r3, r31
/* 80BE8B60 4B FF F7 71 */ bl setBaseMtx__13daFireWood2_cFv
/* 80BE8B64 38 7F 05 B0 */ addi r3, r31, 0x5b0
/* 80BE8B68 4B 49 B8 F9 */ bl ChkTgHit__12dCcD_GObjInfFv
/* 80BE8B6C 28 03 00 00 */ cmplwi r3, 0
/* 80BE8B70 41 82 01 BC */ beq lbl_80BE8D2C
/* 80BE8B74 38 7F 05 B0 */ addi r3, r31, 0x5b0
/* 80BE8B78 4B 49 B9 D1 */ bl GetTgHitGObj__12dCcD_GObjInfFv
/* 80BE8B7C 7C 7E 1B 78 */ mr r30, r3
/* 80BE8B80 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80BE8B84 28 00 02 00 */ cmplwi r0, 0x200
/* 80BE8B88 40 82 00 CC */ bne lbl_80BE8C54
/* 80BE8B8C 88 1E 00 75 */ lbz r0, 0x75(r30)
/* 80BE8B90 28 00 00 01 */ cmplwi r0, 1
/* 80BE8B94 40 82 00 C0 */ bne lbl_80BE8C54
/* 80BE8B98 88 1F 06 F8 */ lbz r0, 0x6f8(r31)
/* 80BE8B9C 28 00 00 00 */ cmplwi r0, 0
/* 80BE8BA0 40 82 00 B4 */ bne lbl_80BE8C54
/* 80BE8BA4 38 00 00 01 */ li r0, 1
/* 80BE8BA8 98 1F 06 F8 */ stb r0, 0x6f8(r31)
/* 80BE8BAC 98 1F 06 25 */ stb r0, 0x625(r31)
/* 80BE8BB0 88 1F 06 FA */ lbz r0, 0x6fa(r31)
/* 80BE8BB4 28 00 00 00 */ cmplwi r0, 0
/* 80BE8BB8 40 82 00 24 */ bne lbl_80BE8BDC
/* 80BE8BBC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE8BC0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE8BC4 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80BE8BC8 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 80BE8BCC 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80BE8BD0 7C 05 07 74 */ extsb r5, r0
/* 80BE8BD4 4B 44 C6 2D */ bl onSwitch__10dSv_info_cFii
/* 80BE8BD8 48 00 00 20 */ b lbl_80BE8BF8
lbl_80BE8BDC:
/* 80BE8BDC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE8BE0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE8BE4 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80BE8BE8 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 80BE8BEC 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80BE8BF0 7C 05 07 74 */ extsb r5, r0
/* 80BE8BF4 4B 44 C6 BD */ bl offSwitch__10dSv_info_cFii
lbl_80BE8BF8:
/* 80BE8BF8 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 80BE8BFC 7C 03 07 74 */ extsb r3, r0
/* 80BE8C00 4B 44 44 6D */ bl dComIfGp_getReverb__Fi
/* 80BE8C04 7C 67 1B 78 */ mr r7, r3
/* 80BE8C08 3C 60 00 08 */ lis r3, 0x0008 /* 0x00080017@ha */
/* 80BE8C0C 38 03 00 17 */ addi r0, r3, 0x0017 /* 0x00080017@l */
/* 80BE8C10 90 01 00 24 */ stw r0, 0x24(r1)
/* 80BE8C14 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 80BE8C18 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 80BE8C1C 80 63 00 00 */ lwz r3, 0(r3)
/* 80BE8C20 38 81 00 24 */ addi r4, r1, 0x24
/* 80BE8C24 38 BF 06 EC */ addi r5, r31, 0x6ec
/* 80BE8C28 38 C0 00 00 */ li r6, 0
/* 80BE8C2C 3D 00 80 BF */ lis r8, lit_3836@ha /* 0x80BE8F78@ha */
/* 80BE8C30 C0 28 8F 78 */ lfs f1, lit_3836@l(r8) /* 0x80BE8F78@l */
/* 80BE8C34 FC 40 08 90 */ fmr f2, f1
/* 80BE8C38 3D 00 80 BF */ lis r8, lit_4018@ha /* 0x80BE8F94@ha */
/* 80BE8C3C C0 68 8F 94 */ lfs f3, lit_4018@l(r8) /* 0x80BE8F94@l */
/* 80BE8C40 FC 80 18 90 */ fmr f4, f3
/* 80BE8C44 39 00 00 00 */ li r8, 0
/* 80BE8C48 4B 6C 2D 3D */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
/* 80BE8C4C 7F E3 FB 78 */ mr r3, r31
/* 80BE8C50 4B FF FA 7D */ bl setLight__13daFireWood2_cFv
lbl_80BE8C54:
/* 80BE8C54 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80BE8C58 3C 03 FF FF */ addis r0, r3, 0xffff
/* 80BE8C5C 28 00 00 00 */ cmplwi r0, 0
/* 80BE8C60 40 82 00 CC */ bne lbl_80BE8D2C
/* 80BE8C64 88 1E 00 75 */ lbz r0, 0x75(r30)
/* 80BE8C68 28 00 00 03 */ cmplwi r0, 3
/* 80BE8C6C 40 82 00 C0 */ bne lbl_80BE8D2C
/* 80BE8C70 88 1F 06 F8 */ lbz r0, 0x6f8(r31)
/* 80BE8C74 28 00 00 01 */ cmplwi r0, 1
/* 80BE8C78 40 82 00 B4 */ bne lbl_80BE8D2C
/* 80BE8C7C 38 00 00 00 */ li r0, 0
/* 80BE8C80 98 1F 06 F8 */ stb r0, 0x6f8(r31)
/* 80BE8C84 98 1F 06 25 */ stb r0, 0x625(r31)
/* 80BE8C88 88 1F 06 FA */ lbz r0, 0x6fa(r31)
/* 80BE8C8C 28 00 00 00 */ cmplwi r0, 0
/* 80BE8C90 40 82 00 24 */ bne lbl_80BE8CB4
/* 80BE8C94 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE8C98 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE8C9C 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80BE8CA0 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 80BE8CA4 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80BE8CA8 7C 05 07 74 */ extsb r5, r0
/* 80BE8CAC 4B 44 C6 05 */ bl offSwitch__10dSv_info_cFii
/* 80BE8CB0 48 00 00 20 */ b lbl_80BE8CD0
lbl_80BE8CB4:
/* 80BE8CB4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE8CB8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE8CBC 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80BE8CC0 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 80BE8CC4 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80BE8CC8 7C 05 07 74 */ extsb r5, r0
/* 80BE8CCC 4B 44 C5 35 */ bl onSwitch__10dSv_info_cFii
lbl_80BE8CD0:
/* 80BE8CD0 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 80BE8CD4 7C 03 07 74 */ extsb r3, r0
/* 80BE8CD8 4B 44 43 95 */ bl dComIfGp_getReverb__Fi
/* 80BE8CDC 7C 67 1B 78 */ mr r7, r3
/* 80BE8CE0 3C 60 00 08 */ lis r3, 0x0008 /* 0x00080019@ha */
/* 80BE8CE4 38 03 00 19 */ addi r0, r3, 0x0019 /* 0x00080019@l */
/* 80BE8CE8 90 01 00 20 */ stw r0, 0x20(r1)
/* 80BE8CEC 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 80BE8CF0 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 80BE8CF4 80 63 00 00 */ lwz r3, 0(r3)
/* 80BE8CF8 38 81 00 20 */ addi r4, r1, 0x20
/* 80BE8CFC 38 BF 06 EC */ addi r5, r31, 0x6ec
/* 80BE8D00 38 C0 00 00 */ li r6, 0
/* 80BE8D04 3D 00 80 BF */ lis r8, lit_3836@ha /* 0x80BE8F78@ha */
/* 80BE8D08 C0 28 8F 78 */ lfs f1, lit_3836@l(r8) /* 0x80BE8F78@l */
/* 80BE8D0C FC 40 08 90 */ fmr f2, f1
/* 80BE8D10 3D 00 80 BF */ lis r8, lit_4018@ha /* 0x80BE8F94@ha */
/* 80BE8D14 C0 68 8F 94 */ lfs f3, lit_4018@l(r8) /* 0x80BE8F94@l */
/* 80BE8D18 FC 80 18 90 */ fmr f4, f3
/* 80BE8D1C 39 00 00 00 */ li r8, 0
/* 80BE8D20 4B 6C 2C 65 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
/* 80BE8D24 7F E3 FB 78 */ mr r3, r31
/* 80BE8D28 4B FF F9 D5 */ bl cutLight__13daFireWood2_cFv
lbl_80BE8D2C:
/* 80BE8D2C 38 7F 06 D4 */ addi r3, r31, 0x6d4
/* 80BE8D30 3C 80 80 BF */ lis r4, l_HIO@ha /* 0x80BE908C@ha */
/* 80BE8D34 38 84 90 8C */ addi r4, r4, l_HIO@l /* 0x80BE908C@l */
/* 80BE8D38 C0 24 00 08 */ lfs f1, 8(r4)
/* 80BE8D3C 4B 68 64 C5 */ bl SetR__8cM3dGCylFf
/* 80BE8D40 38 7F 06 D4 */ addi r3, r31, 0x6d4
/* 80BE8D44 3C 80 80 BF */ lis r4, l_HIO@ha /* 0x80BE908C@ha */
/* 80BE8D48 38 84 90 8C */ addi r4, r4, l_HIO@l /* 0x80BE908C@l */
/* 80BE8D4C C0 24 00 0C */ lfs f1, 0xc(r4)
/* 80BE8D50 4B 68 64 A9 */ bl SetH__8cM3dGCylFf
/* 80BE8D54 38 7F 06 D4 */ addi r3, r31, 0x6d4
/* 80BE8D58 38 9F 04 D0 */ addi r4, r31, 0x4d0
/* 80BE8D5C 4B 68 64 81 */ bl SetC__8cM3dGCylFRC4cXyz
/* 80BE8D60 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE8D64 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE8D68 38 63 23 3C */ addi r3, r3, 0x233c
/* 80BE8D6C 38 9F 05 B0 */ addi r4, r31, 0x5b0
/* 80BE8D70 4B 67 BE 39 */ bl Set__4cCcSFP8cCcD_Obj
/* 80BE8D74 7F E3 FB 78 */ mr r3, r31
/* 80BE8D78 4B FF F9 B5 */ bl pointLightProc__13daFireWood2_cFv
/* 80BE8D7C 38 60 00 01 */ li r3, 1
/* 80BE8D80 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 80BE8D84 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 80BE8D88 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80BE8D8C 7C 08 03 A6 */ mtlr r0
/* 80BE8D90 38 21 00 40 */ addi r1, r1, 0x40
/* 80BE8D94 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_80BE824C:
/* 80BE824C 3C 80 80 BF */ lis r4, lit_3625@ha /* 0x80BE8F34@ha */
/* 80BE8250 38 A4 8F 34 */ addi r5, r4, lit_3625@l /* 0x80BE8F34@l */
/* 80BE8254 3C 80 80 BF */ lis r4, __vt__14mDoHIO_entry_c@ha /* 0x80BE9068@ha */
/* 80BE8258 38 04 90 68 */ addi r0, r4, __vt__14mDoHIO_entry_c@l /* 0x80BE9068@l */
/* 80BE825C 90 03 00 00 */ stw r0, 0(r3)
/* 80BE8260 3C 80 80 BF */ lis r4, __vt__17daFireWood2_HIO_c@ha /* 0x80BE905C@ha */
/* 80BE8264 38 04 90 5C */ addi r0, r4, __vt__17daFireWood2_HIO_c@l /* 0x80BE905C@l */
/* 80BE8268 90 03 00 00 */ stw r0, 0(r3)
/* 80BE826C C0 05 00 00 */ lfs f0, 0(r5)
/* 80BE8270 D0 03 00 04 */ stfs f0, 4(r3)
/* 80BE8274 C0 05 00 04 */ lfs f0, 4(r5)
/* 80BE8278 D0 03 00 08 */ stfs f0, 8(r3)
/* 80BE827C C0 05 00 08 */ lfs f0, 8(r5)
/* 80BE8280 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80BE8284 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_80BE8288:
/* 80BE8288 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE828C 7C 08 02 A6 */ mflr r0
/* 80BE8290 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE8294 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80BE8298 7C 7F 1B 79 */ or. r31, r3, r3
/* 80BE829C 41 82 00 1C */ beq lbl_80BE82B8
/* 80BE82A0 3C A0 80 BF */ lis r5, __vt__14mDoHIO_entry_c@ha /* 0x80BE9068@ha */
/* 80BE82A4 38 05 90 68 */ addi r0, r5, __vt__14mDoHIO_entry_c@l /* 0x80BE9068@l */
/* 80BE82A8 90 1F 00 00 */ stw r0, 0(r31)
/* 80BE82AC 7C 80 07 35 */ extsh. r0, r4
/* 80BE82B0 40 81 00 08 */ ble lbl_80BE82B8
/* 80BE82B4 4B 6E 6A 89 */ bl __dl__FPv
lbl_80BE82B8:
/* 80BE82B8 7F E3 FB 78 */ mr r3, r31
/* 80BE82BC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80BE82C0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE82C4 7C 08 03 A6 */ mtlr r0
/* 80BE82C8 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE82CC 4E 80 00 20 */ blr
@@ -1,26 +0,0 @@
lbl_80BE8E54:
/* 80BE8E54 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE8E58 7C 08 02 A6 */ mflr r0
/* 80BE8E5C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE8E60 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80BE8E64 7C 7F 1B 79 */ or. r31, r3, r3
/* 80BE8E68 41 82 00 30 */ beq lbl_80BE8E98
/* 80BE8E6C 3C 60 80 BF */ lis r3, __vt__17daFireWood2_HIO_c@ha /* 0x80BE905C@ha */
/* 80BE8E70 38 03 90 5C */ addi r0, r3, __vt__17daFireWood2_HIO_c@l /* 0x80BE905C@l */
/* 80BE8E74 90 1F 00 00 */ stw r0, 0(r31)
/* 80BE8E78 41 82 00 10 */ beq lbl_80BE8E88
/* 80BE8E7C 3C 60 80 BF */ lis r3, __vt__14mDoHIO_entry_c@ha /* 0x80BE9068@ha */
/* 80BE8E80 38 03 90 68 */ addi r0, r3, __vt__14mDoHIO_entry_c@l /* 0x80BE9068@l */
/* 80BE8E84 90 1F 00 00 */ stw r0, 0(r31)
lbl_80BE8E88:
/* 80BE8E88 7C 80 07 35 */ extsh. r0, r4
/* 80BE8E8C 40 81 00 0C */ ble lbl_80BE8E98
/* 80BE8E90 7F E3 FB 78 */ mr r3, r31
/* 80BE8E94 4B 6E 5E A9 */ bl __dl__FPv
lbl_80BE8E98:
/* 80BE8E98 7F E3 FB 78 */ mr r3, r31
/* 80BE8E9C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80BE8EA0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE8EA4 7C 08 03 A6 */ mtlr r0
/* 80BE8EA8 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE8EAC 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_80BE85F8:
/* 80BE85F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE85FC 7C 08 02 A6 */ mflr r0
/* 80BE8600 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE8604 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80BE8608 7C 7F 1B 79 */ or. r31, r3, r3
/* 80BE860C 41 82 00 1C */ beq lbl_80BE8628
/* 80BE8610 3C A0 80 BF */ lis r5, __vt__8cM3dGAab@ha /* 0x80BE9050@ha */
/* 80BE8614 38 05 90 50 */ addi r0, r5, __vt__8cM3dGAab@l /* 0x80BE9050@l */
/* 80BE8618 90 1F 00 18 */ stw r0, 0x18(r31)
/* 80BE861C 7C 80 07 35 */ extsh. r0, r4
/* 80BE8620 40 81 00 08 */ ble lbl_80BE8628
/* 80BE8624 4B 6E 67 19 */ bl __dl__FPv
lbl_80BE8628:
/* 80BE8628 7F E3 FB 78 */ mr r3, r31
/* 80BE862C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80BE8630 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE8634 7C 08 03 A6 */ mtlr r0
/* 80BE8638 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE863C 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_80BE85B0:
/* 80BE85B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE85B4 7C 08 02 A6 */ mflr r0
/* 80BE85B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE85BC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80BE85C0 7C 7F 1B 79 */ or. r31, r3, r3
/* 80BE85C4 41 82 00 1C */ beq lbl_80BE85E0
/* 80BE85C8 3C A0 80 BF */ lis r5, __vt__8cM3dGCyl@ha /* 0x80BE9044@ha */
/* 80BE85CC 38 05 90 44 */ addi r0, r5, __vt__8cM3dGCyl@l /* 0x80BE9044@l */
/* 80BE85D0 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80BE85D4 7C 80 07 35 */ extsh. r0, r4
/* 80BE85D8 40 81 00 08 */ ble lbl_80BE85E0
/* 80BE85DC 4B 6E 67 61 */ bl __dl__FPv
lbl_80BE85E0:
/* 80BE85E0 7F E3 FB 78 */ mr r3, r31
/* 80BE85E4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80BE85E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE85EC 7C 08 03 A6 */ mtlr r0
/* 80BE85F0 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE85F4 4E 80 00 20 */ blr
@@ -1,30 +0,0 @@
lbl_80BE8EB0:
/* 80BE8EB0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE8EB4 7C 08 02 A6 */ mflr r0
/* 80BE8EB8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE8EBC 3C 60 80 BF */ lis r3, l_HIO@ha /* 0x80BE908C@ha */
/* 80BE8EC0 38 63 90 8C */ addi r3, r3, l_HIO@l /* 0x80BE908C@l */
/* 80BE8EC4 4B FF F3 89 */ bl __ct__17daFireWood2_HIO_cFv
/* 80BE8EC8 3C 80 80 BF */ lis r4, __dt__17daFireWood2_HIO_cFv@ha /* 0x80BE8E54@ha */
/* 80BE8ECC 38 84 8E 54 */ addi r4, r4, __dt__17daFireWood2_HIO_cFv@l /* 0x80BE8E54@l */
/* 80BE8ED0 3C A0 80 BF */ lis r5, lit_3619@ha /* 0x80BE9080@ha */
/* 80BE8ED4 38 A5 90 80 */ addi r5, r5, lit_3619@l /* 0x80BE9080@l */
/* 80BE8ED8 4B FF F3 01 */ bl __register_global_object
/* 80BE8EDC 3C 60 80 BF */ lis r3, mCcDCyl__13daFireWood2_c@ha /* 0x80BE8F98@ha */
/* 80BE8EE0 38 63 8F 98 */ addi r3, r3, mCcDCyl__13daFireWood2_c@l /* 0x80BE8F98@l */
/* 80BE8EE4 38 A3 FF FC */ addi r5, r3, -4
/* 80BE8EE8 3C 60 80 BF */ lis r3, mCcDObjInfo__13daFireWood2_c@ha /* 0x80BE8F40@ha */
/* 80BE8EEC 38 63 8F 40 */ addi r3, r3, mCcDObjInfo__13daFireWood2_c@l /* 0x80BE8F40@l */
/* 80BE8EF0 38 83 FF FC */ addi r4, r3, -4
/* 80BE8EF4 38 00 00 06 */ li r0, 6
/* 80BE8EF8 7C 09 03 A6 */ mtctr r0
lbl_80BE8EFC:
/* 80BE8EFC 80 64 00 04 */ lwz r3, 4(r4)
/* 80BE8F00 84 04 00 08 */ lwzu r0, 8(r4)
/* 80BE8F04 90 65 00 04 */ stw r3, 4(r5)
/* 80BE8F08 94 05 00 08 */ stwu r0, 8(r5)
/* 80BE8F0C 42 00 FF F0 */ bdnz lbl_80BE8EFC
/* 80BE8F10 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE8F14 7C 08 03 A6 */ mtlr r0
/* 80BE8F18 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE8F1C 4E 80 00 20 */ blr
@@ -1,170 +0,0 @@
lbl_80BE8328:
/* 80BE8328 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE832C 7C 08 02 A6 */ mflr r0
/* 80BE8330 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE8334 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80BE8338 93 C1 00 08 */ stw r30, 8(r1)
/* 80BE833C 7C 7F 1B 78 */ mr r31, r3
/* 80BE8340 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80BE8344 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80BE8348 40 82 00 A8 */ bne lbl_80BE83F0
/* 80BE834C 7F E0 FB 79 */ or. r0, r31, r31
/* 80BE8350 41 82 00 94 */ beq lbl_80BE83E4
/* 80BE8354 7C 1E 03 78 */ mr r30, r0
/* 80BE8358 4B 43 08 0D */ bl __ct__10fopAc_ac_cFv
/* 80BE835C 3C 60 80 3C */ lis r3, __vt__9cCcD_Stts@ha /* 0x803C3728@ha */
/* 80BE8360 38 03 37 28 */ addi r0, r3, __vt__9cCcD_Stts@l /* 0x803C3728@l */
/* 80BE8364 90 1E 05 8C */ stw r0, 0x58c(r30)
/* 80BE8368 38 7E 05 90 */ addi r3, r30, 0x590
/* 80BE836C 4B 49 B3 F5 */ bl __ct__10dCcD_GSttsFv
/* 80BE8370 3C 60 80 3B */ lis r3, __vt__9dCcD_Stts@ha /* 0x803AC2E4@ha */
/* 80BE8374 38 63 C2 E4 */ addi r3, r3, __vt__9dCcD_Stts@l /* 0x803AC2E4@l */
/* 80BE8378 90 7E 05 8C */ stw r3, 0x58c(r30)
/* 80BE837C 38 03 00 20 */ addi r0, r3, 0x20
/* 80BE8380 90 1E 05 90 */ stw r0, 0x590(r30)
/* 80BE8384 3B DE 05 B0 */ addi r30, r30, 0x5b0
/* 80BE8388 7F C3 F3 78 */ mr r3, r30
/* 80BE838C 4B 49 B6 9D */ bl __ct__12dCcD_GObjInfFv
/* 80BE8390 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */
/* 80BE8394 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */
/* 80BE8398 90 1E 01 20 */ stw r0, 0x120(r30)
/* 80BE839C 3C 60 80 BF */ lis r3, __vt__8cM3dGAab@ha /* 0x80BE9050@ha */
/* 80BE83A0 38 03 90 50 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x80BE9050@l */
/* 80BE83A4 90 1E 01 1C */ stw r0, 0x11c(r30)
/* 80BE83A8 3C 60 80 BF */ lis r3, __vt__8cM3dGCyl@ha /* 0x80BE9044@ha */
/* 80BE83AC 38 03 90 44 */ addi r0, r3, __vt__8cM3dGCyl@l /* 0x80BE9044@l */
/* 80BE83B0 90 1E 01 38 */ stw r0, 0x138(r30)
/* 80BE83B4 3C 60 80 3C */ lis r3, __vt__12cCcD_CylAttr@ha /* 0x803C35A4@ha */
/* 80BE83B8 38 63 35 A4 */ addi r3, r3, __vt__12cCcD_CylAttr@l /* 0x803C35A4@l */
/* 80BE83BC 90 7E 01 20 */ stw r3, 0x120(r30)
/* 80BE83C0 38 03 00 58 */ addi r0, r3, 0x58
/* 80BE83C4 90 1E 01 38 */ stw r0, 0x138(r30)
/* 80BE83C8 3C 60 80 3B */ lis r3, __vt__8dCcD_Cyl@ha /* 0x803AC050@ha */
/* 80BE83CC 38 63 C0 50 */ addi r3, r3, __vt__8dCcD_Cyl@l /* 0x803AC050@l */
/* 80BE83D0 90 7E 00 3C */ stw r3, 0x3c(r30)
/* 80BE83D4 38 03 00 2C */ addi r0, r3, 0x2c
/* 80BE83D8 90 1E 01 20 */ stw r0, 0x120(r30)
/* 80BE83DC 38 03 00 84 */ addi r0, r3, 0x84
/* 80BE83E0 90 1E 01 38 */ stw r0, 0x138(r30)
lbl_80BE83E4:
/* 80BE83E4 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 80BE83E8 60 00 00 08 */ ori r0, r0, 8
/* 80BE83EC 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_80BE83F0:
/* 80BE83F0 7F E3 FB 78 */ mr r3, r31
/* 80BE83F4 4B FF FE DD */ bl setBaseMtx__13daFireWood2_cFv
/* 80BE83F8 38 7F 05 74 */ addi r3, r31, 0x574
/* 80BE83FC 38 80 00 FF */ li r4, 0xff
/* 80BE8400 38 A0 00 FF */ li r5, 0xff
/* 80BE8404 7F E6 FB 78 */ mr r6, r31
/* 80BE8408 4B 49 B4 59 */ bl Init__9dCcD_SttsFiiP10fopAc_ac_c
/* 80BE840C 38 7F 05 B0 */ addi r3, r31, 0x5b0
/* 80BE8410 3C 80 80 BF */ lis r4, mCcDCyl__13daFireWood2_c@ha /* 0x80BE8F98@ha */
/* 80BE8414 38 84 8F 98 */ addi r4, r4, mCcDCyl__13daFireWood2_c@l /* 0x80BE8F98@l */
/* 80BE8418 4B 49 C4 9D */ bl Set__8dCcD_CylFRC11dCcD_SrcCyl
/* 80BE841C 38 1F 05 74 */ addi r0, r31, 0x574
/* 80BE8420 90 1F 05 F4 */ stw r0, 0x5f4(r31)
/* 80BE8424 3C 60 80 BF */ lis r3, l_cull_box@ha /* 0x80BE8FDC@ha */
/* 80BE8428 38 83 8F DC */ addi r4, r3, l_cull_box@l /* 0x80BE8FDC@l */
/* 80BE842C C0 04 00 10 */ lfs f0, 0x10(r4)
/* 80BE8430 C0 5F 04 F0 */ lfs f2, 0x4f0(r31)
/* 80BE8434 EC A0 00 B2 */ fmuls f5, f0, f2
/* 80BE8438 C0 9F 04 EC */ lfs f4, 0x4ec(r31)
/* 80BE843C 7F E3 FB 78 */ mr r3, r31
/* 80BE8440 C0 04 00 00 */ lfs f0, 0(r4)
/* 80BE8444 EC 20 01 32 */ fmuls f1, f0, f4
/* 80BE8448 C0 04 00 04 */ lfs f0, 4(r4)
/* 80BE844C EC 40 00 B2 */ fmuls f2, f0, f2
/* 80BE8450 C0 04 00 08 */ lfs f0, 8(r4)
/* 80BE8454 EC 60 01 32 */ fmuls f3, f0, f4
/* 80BE8458 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 80BE845C EC 80 01 32 */ fmuls f4, f0, f4
/* 80BE8460 FC C0 28 90 */ fmr f6, f5
/* 80BE8464 4B 43 20 E5 */ bl fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff
/* 80BE8468 C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
/* 80BE846C D0 1F 06 EC */ stfs f0, 0x6ec(r31)
/* 80BE8470 C0 3F 04 D4 */ lfs f1, 0x4d4(r31)
/* 80BE8474 3C 60 80 BF */ lis r3, l_HIO@ha /* 0x80BE908C@ha */
/* 80BE8478 38 63 90 8C */ addi r3, r3, l_HIO@l /* 0x80BE908C@l */
/* 80BE847C C0 03 00 04 */ lfs f0, 4(r3)
/* 80BE8480 EC 01 00 2A */ fadds f0, f1, f0
/* 80BE8484 D0 1F 06 F0 */ stfs f0, 0x6f0(r31)
/* 80BE8488 C0 1F 04 D8 */ lfs f0, 0x4d8(r31)
/* 80BE848C D0 1F 06 F4 */ stfs f0, 0x6f4(r31)
/* 80BE8490 38 60 00 00 */ li r3, 0
/* 80BE8494 7C 64 1B 78 */ mr r4, r3
/* 80BE8498 38 00 00 04 */ li r0, 4
/* 80BE849C 7C 09 03 A6 */ mtctr r0
lbl_80BE84A0:
/* 80BE84A0 38 03 06 FC */ addi r0, r3, 0x6fc
/* 80BE84A4 7C 9F 01 2E */ stwx r4, r31, r0
/* 80BE84A8 38 63 00 04 */ addi r3, r3, 4
/* 80BE84AC 42 00 FF F4 */ bdnz lbl_80BE84A0
/* 80BE84B0 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80BE84B4 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f
/* 80BE84B8 98 1F 07 18 */ stb r0, 0x718(r31)
/* 80BE84BC 88 1F 07 18 */ lbz r0, 0x718(r31)
/* 80BE84C0 28 00 00 FF */ cmplwi r0, 0xff
/* 80BE84C4 40 82 00 0C */ bne lbl_80BE84D0
/* 80BE84C8 38 00 00 00 */ li r0, 0
/* 80BE84CC 98 1F 07 18 */ stb r0, 0x718(r31)
lbl_80BE84D0:
/* 80BE84D0 7F E3 FB 78 */ mr r3, r31
/* 80BE84D4 48 00 01 6D */ bl lightInit__13daFireWood2_cFv
/* 80BE84D8 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80BE84DC 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 80BE84E0 98 1F 06 FA */ stb r0, 0x6fa(r31)
/* 80BE84E4 88 1F 06 FA */ lbz r0, 0x6fa(r31)
/* 80BE84E8 28 00 00 FF */ cmplwi r0, 0xff
/* 80BE84EC 40 82 00 0C */ bne lbl_80BE84F8
/* 80BE84F0 38 00 00 00 */ li r0, 0
/* 80BE84F4 98 1F 06 FA */ stb r0, 0x6fa(r31)
lbl_80BE84F8:
/* 80BE84F8 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80BE84FC 54 00 46 3E */ srwi r0, r0, 0x18
/* 80BE8500 98 1F 06 FB */ stb r0, 0x6fb(r31)
/* 80BE8504 C0 1F 06 EC */ lfs f0, 0x6ec(r31)
/* 80BE8508 D0 1F 05 38 */ stfs f0, 0x538(r31)
/* 80BE850C C0 1F 06 F0 */ lfs f0, 0x6f0(r31)
/* 80BE8510 D0 1F 05 3C */ stfs f0, 0x53c(r31)
/* 80BE8514 C0 1F 06 F4 */ lfs f0, 0x6f4(r31)
/* 80BE8518 D0 1F 05 40 */ stfs f0, 0x540(r31)
/* 80BE851C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80BE8520 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80BE8524 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80BE8528 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 80BE852C 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80BE8530 7C 05 07 74 */ extsb r5, r0
/* 80BE8534 4B 44 CE 2D */ bl isSwitch__10dSv_info_cCFii
/* 80BE8538 98 7F 06 F9 */ stb r3, 0x6f9(r31)
/* 80BE853C 38 00 00 00 */ li r0, 0
/* 80BE8540 98 1F 06 F8 */ stb r0, 0x6f8(r31)
/* 80BE8544 88 1F 06 FA */ lbz r0, 0x6fa(r31)
/* 80BE8548 28 00 00 00 */ cmplwi r0, 0
/* 80BE854C 40 82 00 28 */ bne lbl_80BE8574
/* 80BE8550 88 1F 06 F9 */ lbz r0, 0x6f9(r31)
/* 80BE8554 28 00 00 00 */ cmplwi r0, 0
/* 80BE8558 41 82 00 3C */ beq lbl_80BE8594
/* 80BE855C 38 00 00 01 */ li r0, 1
/* 80BE8560 98 1F 06 F8 */ stb r0, 0x6f8(r31)
/* 80BE8564 98 1F 06 25 */ stb r0, 0x625(r31)
/* 80BE8568 7F E3 FB 78 */ mr r3, r31
/* 80BE856C 48 00 01 61 */ bl setLight__13daFireWood2_cFv
/* 80BE8570 48 00 00 24 */ b lbl_80BE8594
lbl_80BE8574:
/* 80BE8574 88 1F 06 F9 */ lbz r0, 0x6f9(r31)
/* 80BE8578 28 00 00 00 */ cmplwi r0, 0
/* 80BE857C 40 82 00 18 */ bne lbl_80BE8594
/* 80BE8580 38 00 00 01 */ li r0, 1
/* 80BE8584 98 1F 06 F8 */ stb r0, 0x6f8(r31)
/* 80BE8588 98 1F 06 25 */ stb r0, 0x625(r31)
/* 80BE858C 7F E3 FB 78 */ mr r3, r31
/* 80BE8590 48 00 01 3D */ bl setLight__13daFireWood2_cFv
lbl_80BE8594:
/* 80BE8594 38 60 00 04 */ li r3, 4
/* 80BE8598 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80BE859C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80BE85A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE85A4 7C 08 03 A6 */ mtlr r0
/* 80BE85A8 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE85AC 4E 80 00 20 */ blr
@@ -1,14 +0,0 @@
lbl_80BE86FC:
/* 80BE86FC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE8700 7C 08 02 A6 */ mflr r0
/* 80BE8704 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE8708 88 03 07 18 */ lbz r0, 0x718(r3)
/* 80BE870C 28 00 00 00 */ cmplwi r0, 0
/* 80BE8710 41 82 00 0C */ beq lbl_80BE871C
/* 80BE8714 38 63 07 20 */ addi r3, r3, 0x720
/* 80BE8718 4B 5B F2 15 */ bl dKy_plight_cut__FP15LIGHT_INFLUENCE
lbl_80BE871C:
/* 80BE871C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE8720 7C 08 03 A6 */ mtlr r0
/* 80BE8724 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE8728 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80BE8E34:
/* 80BE8E34 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE8E38 7C 08 02 A6 */ mflr r0
/* 80BE8E3C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE8E40 4B FF F4 E9 */ bl create__13daFireWood2_cFv
/* 80BE8E44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE8E48 7C 08 03 A6 */ mtlr r0
/* 80BE8E4C 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE8E50 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80BE8E14:
/* 80BE8E14 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE8E18 7C 08 02 A6 */ mflr r0
/* 80BE8E1C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE8E20 4B FF FF 81 */ bl Delete__13daFireWood2_cFv
/* 80BE8E24 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE8E28 7C 08 03 A6 */ mtlr r0
/* 80BE8E2C 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE8E30 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80BE8DD4:
/* 80BE8DD4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE8DD8 7C 08 02 A6 */ mflr r0
/* 80BE8DDC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE8DE0 4B FF FF B9 */ bl Draw__13daFireWood2_cFv
/* 80BE8DE4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE8DE8 7C 08 03 A6 */ mtlr r0
/* 80BE8DEC 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE8DF0 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80BE8DF4:
/* 80BE8DF4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE8DF8 7C 08 02 A6 */ mflr r0
/* 80BE8DFC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE8E00 4B FF F9 DD */ bl Execute__13daFireWood2_cFv
/* 80BE8E04 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE8E08 7C 08 03 A6 */ mtlr r0
/* 80BE8E0C 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE8E10 4E 80 00 20 */ blr
@@ -1,37 +0,0 @@
lbl_80BE8640:
/* 80BE8640 3C 80 80 BF */ lis r4, lit_3625@ha /* 0x80BE8F34@ha */
/* 80BE8644 38 84 8F 34 */ addi r4, r4, lit_3625@l /* 0x80BE8F34@l */
/* 80BE8648 C0 03 06 EC */ lfs f0, 0x6ec(r3)
/* 80BE864C D0 03 07 0C */ stfs f0, 0x70c(r3)
/* 80BE8650 C0 03 06 F0 */ lfs f0, 0x6f0(r3)
/* 80BE8654 D0 03 07 10 */ stfs f0, 0x710(r3)
/* 80BE8658 C0 03 06 F4 */ lfs f0, 0x6f4(r3)
/* 80BE865C D0 03 07 14 */ stfs f0, 0x714(r3)
/* 80BE8660 C0 23 07 10 */ lfs f1, 0x710(r3)
/* 80BE8664 C0 04 00 3C */ lfs f0, 0x3c(r4)
/* 80BE8668 EC 01 00 2A */ fadds f0, f1, f0
/* 80BE866C D0 03 07 10 */ stfs f0, 0x710(r3)
/* 80BE8670 88 03 07 18 */ lbz r0, 0x718(r3)
/* 80BE8674 28 00 00 00 */ cmplwi r0, 0
/* 80BE8678 41 82 00 48 */ beq lbl_80BE86C0
/* 80BE867C C0 03 07 0C */ lfs f0, 0x70c(r3)
/* 80BE8680 D0 03 07 20 */ stfs f0, 0x720(r3)
/* 80BE8684 C0 03 07 10 */ lfs f0, 0x710(r3)
/* 80BE8688 D0 03 07 24 */ stfs f0, 0x724(r3)
/* 80BE868C C0 03 07 14 */ lfs f0, 0x714(r3)
/* 80BE8690 D0 03 07 28 */ stfs f0, 0x728(r3)
/* 80BE8694 38 00 00 BC */ li r0, 0xbc
/* 80BE8698 B0 03 07 2C */ sth r0, 0x72c(r3)
/* 80BE869C 38 00 00 66 */ li r0, 0x66
/* 80BE86A0 B0 03 07 2E */ sth r0, 0x72e(r3)
/* 80BE86A4 38 00 00 42 */ li r0, 0x42
/* 80BE86A8 B0 03 07 30 */ sth r0, 0x730(r3)
/* 80BE86AC C0 04 00 40 */ lfs f0, 0x40(r4)
/* 80BE86B0 D0 03 07 34 */ stfs f0, 0x734(r3)
/* 80BE86B4 C0 04 00 44 */ lfs f0, 0x44(r4)
/* 80BE86B8 D0 03 07 38 */ stfs f0, 0x738(r3)
/* 80BE86BC 4E 80 00 20 */ blr
lbl_80BE86C0:
/* 80BE86C0 C0 04 00 48 */ lfs f0, 0x48(r4)
/* 80BE86C4 D0 03 07 1C */ stfs f0, 0x71c(r3)
/* 80BE86C8 4E 80 00 20 */ blr
@@ -1,48 +0,0 @@
lbl_80BE872C:
/* 80BE872C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80BE8730 7C 08 02 A6 */ mflr r0
/* 80BE8734 90 01 00 24 */ stw r0, 0x24(r1)
/* 80BE8738 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80BE873C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80BE8740 7C 7E 1B 78 */ mr r30, r3
/* 80BE8744 3C 60 80 BF */ lis r3, lit_3625@ha /* 0x80BE8F34@ha */
/* 80BE8748 3B E3 8F 34 */ addi r31, r3, lit_3625@l /* 0x80BE8F34@l */
/* 80BE874C 88 1E 07 18 */ lbz r0, 0x718(r30)
/* 80BE8750 28 00 00 00 */ cmplwi r0, 0
/* 80BE8754 40 82 00 70 */ bne lbl_80BE87C4
/* 80BE8758 80 1F 00 4C */ lwz r0, 0x4c(r31)
/* 80BE875C 90 01 00 08 */ stw r0, 8(r1)
/* 80BE8760 88 1E 06 F8 */ lbz r0, 0x6f8(r30)
/* 80BE8764 28 00 00 00 */ cmplwi r0, 0
/* 80BE8768 41 82 00 20 */ beq lbl_80BE8788
/* 80BE876C 38 7E 07 1C */ addi r3, r30, 0x71c
/* 80BE8770 C0 3F 00 44 */ lfs f1, 0x44(r31)
/* 80BE8774 C0 5F 00 50 */ lfs f2, 0x50(r31)
/* 80BE8778 C0 7F 00 54 */ lfs f3, 0x54(r31)
/* 80BE877C C0 9F 00 58 */ lfs f4, 0x58(r31)
/* 80BE8780 4B 68 71 FD */ bl cLib_addCalc__FPfffff
/* 80BE8784 48 00 00 1C */ b lbl_80BE87A0
lbl_80BE8788:
/* 80BE8788 38 7E 07 1C */ addi r3, r30, 0x71c
/* 80BE878C C0 3F 00 48 */ lfs f1, 0x48(r31)
/* 80BE8790 C0 5F 00 50 */ lfs f2, 0x50(r31)
/* 80BE8794 C0 7F 00 54 */ lfs f3, 0x54(r31)
/* 80BE8798 C0 9F 00 58 */ lfs f4, 0x58(r31)
/* 80BE879C 4B 68 71 E1 */ bl cLib_addCalc__FPfffff
lbl_80BE87A0:
/* 80BE87A0 C0 3E 07 1C */ lfs f1, 0x71c(r30)
/* 80BE87A4 C0 1F 00 5C */ lfs f0, 0x5c(r31)
/* 80BE87A8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80BE87AC 4C 41 13 82 */ cror 2, 1, 2
/* 80BE87B0 40 82 00 14 */ bne lbl_80BE87C4
/* 80BE87B4 38 7E 07 0C */ addi r3, r30, 0x70c
/* 80BE87B8 38 81 00 08 */ addi r4, r1, 8
/* 80BE87BC 38 A0 00 00 */ li r5, 0
/* 80BE87C0 4B 5C 15 A1 */ bl dKy_BossLight_set__FP4cXyzP8_GXColorfUc
lbl_80BE87C4:
/* 80BE87C4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80BE87C8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80BE87CC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80BE87D0 7C 08 03 A6 */ mtlr r0
/* 80BE87D4 38 21 00 20 */ addi r1, r1, 0x20
/* 80BE87D8 4E 80 00 20 */ blr
@@ -1,23 +0,0 @@
lbl_80BE82D0:
/* 80BE82D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE82D4 7C 08 02 A6 */ mflr r0
/* 80BE82D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE82DC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80BE82E0 7C 7F 1B 78 */ mr r31, r3
/* 80BE82E4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80BE82E8 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80BE82EC C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
/* 80BE82F0 C0 5F 04 D4 */ lfs f2, 0x4d4(r31)
/* 80BE82F4 C0 7F 04 D8 */ lfs f3, 0x4d8(r31)
/* 80BE82F8 4B 75 E5 F1 */ bl PSMTXTrans
/* 80BE82FC 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80BE8300 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80BE8304 A8 9F 04 DC */ lha r4, 0x4dc(r31)
/* 80BE8308 A8 BF 04 DE */ lha r5, 0x4de(r31)
/* 80BE830C A8 DF 04 E0 */ lha r6, 0x4e0(r31)
/* 80BE8310 4B 42 3F 91 */ bl mDoMtx_ZXYrotM__FPA4_fsss
/* 80BE8314 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80BE8318 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE831C 7C 08 03 A6 */ mtlr r0
/* 80BE8320 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE8324 4E 80 00 20 */ blr
@@ -1,14 +0,0 @@
lbl_80BE86CC:
/* 80BE86CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80BE86D0 7C 08 02 A6 */ mflr r0
/* 80BE86D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80BE86D8 88 03 07 18 */ lbz r0, 0x718(r3)
/* 80BE86DC 28 00 00 00 */ cmplwi r0, 0
/* 80BE86E0 41 82 00 0C */ beq lbl_80BE86EC
/* 80BE86E4 38 63 07 20 */ addi r3, r3, 0x720
/* 80BE86E8 4B 5B F0 A9 */ bl dKy_plight_set__FP15LIGHT_INFLUENCE
lbl_80BE86EC:
/* 80BE86EC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80BE86F0 7C 08 03 A6 */ mtlr r0
/* 80BE86F4 38 21 00 10 */ addi r1, r1, 0x10
/* 80BE86F8 4E 80 00 20 */ blr
@@ -1,33 +0,0 @@
lbl_80598344:
/* 80598344 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80598348 7C 08 02 A6 */ mflr r0
/* 8059834C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80598350 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80598354 7C 7F 1B 78 */ mr r31, r3
/* 80598358 88 03 05 AC */ lbz r0, 0x5ac(r3)
/* 8059835C 54 00 10 3A */ slwi r0, r0, 2
/* 80598360 3C 60 80 5A */ lis r3, l_resNameIdx@ha /* 0x80598FE8@ha */
/* 80598364 38 63 8F E8 */ addi r3, r3, l_resNameIdx@l /* 0x80598FE8@l */
/* 80598368 7C 63 00 2E */ lwzx r3, r3, r0
/* 8059836C 3C 80 80 5A */ lis r4, l_bmdIdx@ha /* 0x80598F98@ha */
/* 80598370 38 84 8F 98 */ addi r4, r4, l_bmdIdx@l /* 0x80598F98@l */
/* 80598374 7C 84 00 2E */ lwzx r4, r4, r0
/* 80598378 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8059837C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80598380 3C A5 00 02 */ addis r5, r5, 2
/* 80598384 38 C0 00 80 */ li r6, 0x80
/* 80598388 38 A5 C2 F8 */ addi r5, r5, -15624
/* 8059838C 4B AA 3F 61 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 80598390 3C 80 00 08 */ lis r4, 8
/* 80598394 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */
/* 80598398 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */
/* 8059839C 4B A7 C8 B9 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl
/* 805983A0 90 7F 05 A8 */ stw r3, 0x5a8(r31)
/* 805983A4 80 7F 05 A8 */ lwz r3, 0x5a8(r31)
/* 805983A8 30 03 FF FF */ addic r0, r3, -1
/* 805983AC 7C 60 19 10 */ subfe r3, r0, r3
/* 805983B0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 805983B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 805983B8 7C 08 03 A6 */ mtlr r0
/* 805983BC 38 21 00 10 */ addi r1, r1, 0x10
/* 805983C0 4E 80 00 20 */ blr
@@ -1,17 +0,0 @@
lbl_80598E00:
/* 80598E00 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80598E04 7C 08 02 A6 */ mflr r0
/* 80598E08 90 01 00 14 */ stw r0, 0x14(r1)
/* 80598E0C 7C 64 1B 78 */ mr r4, r3
/* 80598E10 38 64 05 A0 */ addi r3, r4, 0x5a0
/* 80598E14 88 04 05 AC */ lbz r0, 0x5ac(r4)
/* 80598E18 54 00 10 3A */ slwi r0, r0, 2
/* 80598E1C 3C 80 80 5A */ lis r4, l_resNameIdx@ha /* 0x80598FE8@ha */
/* 80598E20 38 84 8F E8 */ addi r4, r4, l_resNameIdx@l /* 0x80598FE8@l */
/* 80598E24 7C 84 00 2E */ lwzx r4, r4, r0
/* 80598E28 4B A9 41 E1 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
/* 80598E2C 38 60 00 01 */ li r3, 1
/* 80598E30 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80598E34 7C 08 03 A6 */ mtlr r0
/* 80598E38 38 21 00 10 */ addi r1, r1, 0x10
/* 80598E3C 4E 80 00 20 */ blr
@@ -1,42 +0,0 @@
lbl_80598D5C:
/* 80598D5C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80598D60 7C 08 02 A6 */ mflr r0
/* 80598D64 90 01 00 14 */ stw r0, 0x14(r1)
/* 80598D68 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80598D6C 93 C1 00 08 */ stw r30, 8(r1)
/* 80598D70 7C 7E 1B 78 */ mr r30, r3
/* 80598D74 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80598D78 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80598D7C 38 80 00 10 */ li r4, 0x10
/* 80598D80 38 BE 04 D0 */ addi r5, r30, 0x4d0
/* 80598D84 38 DE 01 0C */ addi r6, r30, 0x10c
/* 80598D88 4B C0 AA 3D */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c
/* 80598D8C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80598D90 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80598D94 80 9E 05 A8 */ lwz r4, 0x5a8(r30)
/* 80598D98 80 84 00 04 */ lwz r4, 4(r4)
/* 80598D9C 38 BE 01 0C */ addi r5, r30, 0x10c
/* 80598DA0 4B C0 C0 01 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
/* 80598DA4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80598DA8 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80598DAC 80 04 5F 70 */ lwz r0, 0x5f70(r4)
/* 80598DB0 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
/* 80598DB4 3B E3 4A C8 */ addi r31, r3, j3dSys@l /* 0x80434AC8@l */
/* 80598DB8 90 1F 00 48 */ stw r0, 0x48(r31)
/* 80598DBC 80 04 5F 74 */ lwz r0, 0x5f74(r4)
/* 80598DC0 90 1F 00 4C */ stw r0, 0x4c(r31)
/* 80598DC4 80 7E 05 A8 */ lwz r3, 0x5a8(r30)
/* 80598DC8 4B A7 4E FD */ bl mDoExt_modelUpdateDL__FP8J3DModel
/* 80598DCC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80598DD0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80598DD4 80 03 5F 80 */ lwz r0, 0x5f80(r3)
/* 80598DD8 90 1F 00 48 */ stw r0, 0x48(r31)
/* 80598DDC 80 03 5F 84 */ lwz r0, 0x5f84(r3)
/* 80598DE0 90 1F 00 4C */ stw r0, 0x4c(r31)
/* 80598DE4 38 60 00 01 */ li r3, 1
/* 80598DE8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80598DEC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80598DF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80598DF4 7C 08 03 A6 */ mtlr r0
/* 80598DF8 38 21 00 10 */ addi r1, r1, 0x10
/* 80598DFC 4E 80 00 20 */ blr
@@ -1,21 +0,0 @@
lbl_80598564:
/* 80598564 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80598568 7C 08 02 A6 */ mflr r0
/* 8059856C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80598570 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80598574 93 C1 00 08 */ stw r30, 8(r1)
/* 80598578 7C 7E 1B 78 */ mr r30, r3
/* 8059857C 7C 9F 23 78 */ mr r31, r4
/* 80598580 48 00 00 35 */ bl moveMain__13daSwShutter_cFv
/* 80598584 80 7E 05 A8 */ lwz r3, 0x5a8(r30)
/* 80598588 38 03 00 24 */ addi r0, r3, 0x24
/* 8059858C 90 1F 00 00 */ stw r0, 0(r31)
/* 80598590 7F C3 F3 78 */ mr r3, r30
/* 80598594 4B FF FD 11 */ bl setBaseMtx__13daSwShutter_cFv
/* 80598598 38 60 00 01 */ li r3, 1
/* 8059859C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 805985A0 83 C1 00 08 */ lwz r30, 8(r1)
/* 805985A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 805985A8 7C 08 03 A6 */ mtlr r0
/* 805985AC 38 21 00 10 */ addi r1, r1, 0x10
/* 805985B0 4E 80 00 20 */ blr
@@ -1,29 +0,0 @@
lbl_805981EC:
/* 805981EC 3C 80 80 5A */ lis r4, lit_3630@ha /* 0x80598F78@ha */
/* 805981F0 38 A4 8F 78 */ addi r5, r4, lit_3630@l /* 0x80598F78@l */
/* 805981F4 3C 80 80 5A */ lis r4, __vt__14mDoHIO_entry_c@ha /* 0x805990D4@ha */
/* 805981F8 38 04 90 D4 */ addi r0, r4, __vt__14mDoHIO_entry_c@l /* 0x805990D4@l */
/* 805981FC 90 03 00 00 */ stw r0, 0(r3)
/* 80598200 3C 80 80 5A */ lis r4, __vt__17daSwShutter_HIO_c@ha /* 0x805990C8@ha */
/* 80598204 38 04 90 C8 */ addi r0, r4, __vt__17daSwShutter_HIO_c@l /* 0x805990C8@l */
/* 80598208 90 03 00 00 */ stw r0, 0(r3)
/* 8059820C C0 05 00 00 */ lfs f0, 0(r5)
/* 80598210 D0 03 00 04 */ stfs f0, 4(r3)
/* 80598214 C0 05 00 04 */ lfs f0, 4(r5)
/* 80598218 D0 03 00 08 */ stfs f0, 8(r3)
/* 8059821C C0 05 00 08 */ lfs f0, 8(r5)
/* 80598220 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80598224 38 00 00 04 */ li r0, 4
/* 80598228 98 03 00 10 */ stb r0, 0x10(r3)
/* 8059822C C0 05 00 0C */ lfs f0, 0xc(r5)
/* 80598230 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 80598234 C0 05 00 10 */ lfs f0, 0x10(r5)
/* 80598238 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 8059823C C0 05 00 14 */ lfs f0, 0x14(r5)
/* 80598240 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 80598244 C0 25 00 18 */ lfs f1, 0x18(r5)
/* 80598248 D0 23 00 20 */ stfs f1, 0x20(r3)
/* 8059824C C0 05 00 1C */ lfs f0, 0x1c(r5)
/* 80598250 D0 03 00 24 */ stfs f0, 0x24(r3)
/* 80598254 D0 23 00 28 */ stfs f1, 0x28(r3)
/* 80598258 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_8059825C:
/* 8059825C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80598260 7C 08 02 A6 */ mflr r0
/* 80598264 90 01 00 14 */ stw r0, 0x14(r1)
/* 80598268 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8059826C 7C 7F 1B 79 */ or. r31, r3, r3
/* 80598270 41 82 00 1C */ beq lbl_8059828C
/* 80598274 3C A0 80 5A */ lis r5, __vt__14mDoHIO_entry_c@ha /* 0x805990D4@ha */
/* 80598278 38 05 90 D4 */ addi r0, r5, __vt__14mDoHIO_entry_c@l /* 0x805990D4@l */
/* 8059827C 90 1F 00 00 */ stw r0, 0(r31)
/* 80598280 7C 80 07 35 */ extsh. r0, r4
/* 80598284 40 81 00 08 */ ble lbl_8059828C
/* 80598288 4B D3 6A B5 */ bl __dl__FPv
lbl_8059828C:
/* 8059828C 7F E3 FB 78 */ mr r3, r31
/* 80598290 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80598294 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80598298 7C 08 03 A6 */ mtlr r0
/* 8059829C 38 21 00 10 */ addi r1, r1, 0x10
/* 805982A0 4E 80 00 20 */ blr
@@ -1,26 +0,0 @@
lbl_80598ECC:
/* 80598ECC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80598ED0 7C 08 02 A6 */ mflr r0
/* 80598ED4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80598ED8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80598EDC 7C 7F 1B 79 */ or. r31, r3, r3
/* 80598EE0 41 82 00 30 */ beq lbl_80598F10
/* 80598EE4 3C 60 80 5A */ lis r3, __vt__17daSwShutter_HIO_c@ha /* 0x805990C8@ha */
/* 80598EE8 38 03 90 C8 */ addi r0, r3, __vt__17daSwShutter_HIO_c@l /* 0x805990C8@l */
/* 80598EEC 90 1F 00 00 */ stw r0, 0(r31)
/* 80598EF0 41 82 00 10 */ beq lbl_80598F00
/* 80598EF4 3C 60 80 5A */ lis r3, __vt__14mDoHIO_entry_c@ha /* 0x805990D4@ha */
/* 80598EF8 38 03 90 D4 */ addi r0, r3, __vt__14mDoHIO_entry_c@l /* 0x805990D4@l */
/* 80598EFC 90 1F 00 00 */ stw r0, 0(r31)
lbl_80598F00:
/* 80598F00 7C 80 07 35 */ extsh. r0, r4
/* 80598F04 40 81 00 0C */ ble lbl_80598F10
/* 80598F08 7F E3 FB 78 */ mr r3, r31
/* 80598F0C 4B D3 5E 31 */ bl __dl__FPv
lbl_80598F10:
/* 80598F10 7F E3 FB 78 */ mr r3, r31
/* 80598F14 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80598F18 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80598F1C 7C 08 03 A6 */ mtlr r0
/* 80598F20 38 21 00 10 */ addi r1, r1, 0x10
/* 80598F24 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_80598F28:
/* 80598F28 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80598F2C 7C 08 02 A6 */ mflr r0
/* 80598F30 90 01 00 14 */ stw r0, 0x14(r1)
/* 80598F34 3C 60 80 5A */ lis r3, l_HIO@ha /* 0x805990F4@ha */
/* 80598F38 38 63 90 F4 */ addi r3, r3, l_HIO@l /* 0x805990F4@l */
/* 80598F3C 4B FF F2 B1 */ bl __ct__17daSwShutter_HIO_cFv
/* 80598F40 3C 80 80 5A */ lis r4, __dt__17daSwShutter_HIO_cFv@ha /* 0x80598ECC@ha */
/* 80598F44 38 84 8E CC */ addi r4, r4, __dt__17daSwShutter_HIO_cFv@l /* 0x80598ECC@l */
/* 80598F48 3C A0 80 5A */ lis r5, lit_3624@ha /* 0x805990E8@ha */
/* 80598F4C 38 A5 90 E8 */ addi r5, r5, lit_3624@l /* 0x805990E8@l */
/* 80598F50 4B FF F2 29 */ bl __register_global_object
/* 80598F54 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80598F58 7C 08 03 A6 */ mtlr r0
/* 80598F5C 38 21 00 10 */ addi r1, r1, 0x10
/* 80598F60 4E 80 00 20 */ blr
@@ -1,113 +0,0 @@
lbl_805983C4:
/* 805983C4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 805983C8 7C 08 02 A6 */ mflr r0
/* 805983CC 90 01 00 24 */ stw r0, 0x24(r1)
/* 805983D0 39 61 00 20 */ addi r11, r1, 0x20
/* 805983D4 4B DC 9E 09 */ bl _savegpr_29
/* 805983D8 7C 7D 1B 78 */ mr r29, r3
/* 805983DC 3C 80 80 5A */ lis r4, lit_3630@ha /* 0x80598F78@ha */
/* 805983E0 3B E4 8F 78 */ addi r31, r4, lit_3630@l /* 0x80598F78@l */
/* 805983E4 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 805983E8 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 805983EC 40 82 00 28 */ bne lbl_80598414
/* 805983F0 28 1D 00 00 */ cmplwi r29, 0
/* 805983F4 41 82 00 14 */ beq lbl_80598408
/* 805983F8 4B AE 02 2D */ bl __ct__16dBgS_MoveBgActorFv
/* 805983FC 3C 60 80 5A */ lis r3, __vt__13daSwShutter_c@ha /* 0x805990A0@ha */
/* 80598400 38 03 90 A0 */ addi r0, r3, __vt__13daSwShutter_c@l /* 0x805990A0@l */
/* 80598404 90 1D 05 9C */ stw r0, 0x59c(r29)
lbl_80598408:
/* 80598408 80 1D 04 A0 */ lwz r0, 0x4a0(r29)
/* 8059840C 60 00 00 08 */ ori r0, r0, 8
/* 80598410 90 1D 04 A0 */ stw r0, 0x4a0(r29)
lbl_80598414:
/* 80598414 80 1D 00 B0 */ lwz r0, 0xb0(r29)
/* 80598418 54 00 C7 3E */ rlwinm r0, r0, 0x18, 0x1c, 0x1f
/* 8059841C 98 1D 05 AC */ stb r0, 0x5ac(r29)
/* 80598420 88 1D 05 AC */ lbz r0, 0x5ac(r29)
/* 80598424 28 00 00 0F */ cmplwi r0, 0xf
/* 80598428 40 82 00 0C */ bne lbl_80598434
/* 8059842C 38 00 00 00 */ li r0, 0
/* 80598430 98 1D 05 AC */ stb r0, 0x5ac(r29)
lbl_80598434:
/* 80598434 38 7D 05 A0 */ addi r3, r29, 0x5a0
/* 80598438 88 1D 05 AC */ lbz r0, 0x5ac(r29)
/* 8059843C 54 00 10 3A */ slwi r0, r0, 2
/* 80598440 3C 80 80 5A */ lis r4, l_resNameIdx@ha /* 0x80598FE8@ha */
/* 80598444 38 84 8F E8 */ addi r4, r4, l_resNameIdx@l /* 0x80598FE8@l */
/* 80598448 7C 84 00 2E */ lwzx r4, r4, r0
/* 8059844C 4B A9 4A 71 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc
/* 80598450 7C 7E 1B 78 */ mr r30, r3
/* 80598454 2C 1E 00 04 */ cmpwi r30, 4
/* 80598458 40 82 00 F0 */ bne lbl_80598548
/* 8059845C 88 1D 05 AC */ lbz r0, 0x5ac(r29)
/* 80598460 54 00 10 3A */ slwi r0, r0, 2
/* 80598464 7F A3 EB 78 */ mr r3, r29
/* 80598468 3C 80 80 5A */ lis r4, l_resNameIdx@ha /* 0x80598FE8@ha */
/* 8059846C 38 84 8F E8 */ addi r4, r4, l_resNameIdx@l /* 0x80598FE8@l */
/* 80598470 7C 84 00 2E */ lwzx r4, r4, r0
/* 80598474 38 BF 00 28 */ addi r5, r31, 0x28
/* 80598478 7C A5 00 2E */ lwzx r5, r5, r0
/* 8059847C 3C C0 80 07 */ lis r6, dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz@ha /* 0x80075AD8@ha */
/* 80598480 38 C6 5A D8 */ addi r6, r6, dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz@l /* 0x80075AD8@l */
/* 80598484 38 E0 10 00 */ li r7, 0x1000
/* 80598488 39 00 00 00 */ li r8, 0
/* 8059848C 4B AE 03 31 */ bl MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f
/* 80598490 2C 03 00 05 */ cmpwi r3, 5
/* 80598494 40 82 00 0C */ bne lbl_805984A0
/* 80598498 38 60 00 05 */ li r3, 5
/* 8059849C 48 00 00 B0 */ b lbl_8059854C
lbl_805984A0:
/* 805984A0 80 7D 05 A8 */ lwz r3, 0x5a8(r29)
/* 805984A4 38 03 00 24 */ addi r0, r3, 0x24
/* 805984A8 90 1D 05 04 */ stw r0, 0x504(r29)
/* 805984AC 80 7D 05 A8 */ lwz r3, 0x5a8(r29)
/* 805984B0 80 83 00 04 */ lwz r4, 4(r3)
/* 805984B4 7F A3 EB 78 */ mr r3, r29
/* 805984B8 4B A8 20 C1 */ bl fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData
/* 805984BC 38 00 00 00 */ li r0, 0
/* 805984C0 90 1D 05 D8 */ stw r0, 0x5d8(r29)
/* 805984C4 C0 1F 00 00 */ lfs f0, 0(r31)
/* 805984C8 D0 1D 05 B0 */ stfs f0, 0x5b0(r29)
/* 805984CC 80 1D 00 B0 */ lwz r0, 0xb0(r29)
/* 805984D0 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 805984D4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805984D8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805984DC 88 1D 04 BA */ lbz r0, 0x4ba(r29)
/* 805984E0 7C 05 07 74 */ extsb r5, r0
/* 805984E4 4B A9 CE 7D */ bl isSwitch__10dSv_info_cCFii
/* 805984E8 2C 03 00 00 */ cmpwi r3, 0
/* 805984EC 41 82 00 20 */ beq lbl_8059850C
/* 805984F0 C0 3D 04 D4 */ lfs f1, 0x4d4(r29)
/* 805984F4 C0 1F 00 30 */ lfs f0, 0x30(r31)
/* 805984F8 EC 01 00 2A */ fadds f0, f1, f0
/* 805984FC D0 1D 04 D4 */ stfs f0, 0x4d4(r29)
/* 80598500 7F A3 EB 78 */ mr r3, r29
/* 80598504 48 00 08 49 */ bl init_modeMoveDownEnd__13daSwShutter_cFv
/* 80598508 48 00 00 38 */ b lbl_80598540
lbl_8059850C:
/* 8059850C 38 00 00 00 */ li r0, 0
/* 80598510 B0 1D 05 B8 */ sth r0, 0x5b8(r29)
/* 80598514 B0 1D 05 BA */ sth r0, 0x5ba(r29)
/* 80598518 B0 1D 05 BC */ sth r0, 0x5bc(r29)
/* 8059851C C0 1F 00 00 */ lfs f0, 0(r31)
/* 80598520 D0 1D 05 C0 */ stfs f0, 0x5c0(r29)
/* 80598524 D0 1D 05 C8 */ stfs f0, 0x5c8(r29)
/* 80598528 D0 1D 05 C4 */ stfs f0, 0x5c4(r29)
/* 8059852C D0 1D 05 CC */ stfs f0, 0x5cc(r29)
/* 80598530 D0 1D 05 D0 */ stfs f0, 0x5d0(r29)
/* 80598534 D0 1D 05 D4 */ stfs f0, 0x5d4(r29)
/* 80598538 7F A3 EB 78 */ mr r3, r29
/* 8059853C 48 00 02 01 */ bl init_modeWait__13daSwShutter_cFv
lbl_80598540:
/* 80598540 7F A3 EB 78 */ mr r3, r29
/* 80598544 4B FF FD 61 */ bl setBaseMtx__13daSwShutter_cFv
lbl_80598548:
/* 80598548 7F C3 F3 78 */ mr r3, r30
lbl_8059854C:
/* 8059854C 39 61 00 20 */ addi r11, r1, 0x20
/* 80598550 4B DC 9C D9 */ bl _restgpr_29
/* 80598554 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80598558 7C 08 03 A6 */ mtlr r0
/* 8059855C 38 21 00 20 */ addi r1, r1, 0x20
/* 80598560 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80598EAC:
/* 80598EAC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80598EB0 7C 08 02 A6 */ mflr r0
/* 80598EB4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80598EB8 4B FF F5 0D */ bl create__13daSwShutter_cFv
/* 80598EBC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80598EC0 7C 08 03 A6 */ mtlr r0
/* 80598EC4 38 21 00 10 */ addi r1, r1, 0x10
/* 80598EC8 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80598E8C:
/* 80598E8C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80598E90 7C 08 02 A6 */ mflr r0
/* 80598E94 90 01 00 14 */ stw r0, 0x14(r1)
/* 80598E98 4B AD FA 45 */ bl MoveBGDelete__16dBgS_MoveBgActorFv
/* 80598E9C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80598EA0 7C 08 03 A6 */ mtlr r0
/* 80598EA4 38 21 00 10 */ addi r1, r1, 0x10
/* 80598EA8 4E 80 00 20 */ blr
@@ -1,12 +0,0 @@
lbl_80598E40:
/* 80598E40 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80598E44 7C 08 02 A6 */ mflr r0
/* 80598E48 90 01 00 14 */ stw r0, 0x14(r1)
/* 80598E4C 81 83 05 9C */ lwz r12, 0x59c(r3)
/* 80598E50 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 80598E54 7D 89 03 A6 */ mtctr r12
/* 80598E58 4E 80 04 21 */ bctrl
/* 80598E5C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80598E60 7C 08 03 A6 */ mtlr r0
/* 80598E64 38 21 00 10 */ addi r1, r1, 0x10
/* 80598E68 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_80598E6C:
/* 80598E6C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80598E70 7C 08 02 A6 */ mflr r0
/* 80598E74 90 01 00 14 */ stw r0, 0x14(r1)
/* 80598E78 4B AD FA D9 */ bl MoveBGExecute__16dBgS_MoveBgActorFv
/* 80598E7C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80598E80 7C 08 03 A6 */ mtlr r0
/* 80598E84 38 21 00 10 */ addi r1, r1, 0x10
/* 80598E88 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_80598D4C:
/* 80598D4C 38 00 00 03 */ li r0, 3
/* 80598D50 98 03 05 AD */ stb r0, 0x5ad(r3)
/* 80598D54 4E 80 00 20 */ blr
@@ -1,144 +0,0 @@
lbl_8059879C:
/* 8059879C 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 805987A0 7C 08 02 A6 */ mflr r0
/* 805987A4 90 01 00 44 */ stw r0, 0x44(r1)
/* 805987A8 39 61 00 40 */ addi r11, r1, 0x40
/* 805987AC 4B DC 9A 31 */ bl _savegpr_29
/* 805987B0 7C 7E 1B 78 */ mr r30, r3
/* 805987B4 3C 60 80 5A */ lis r3, lit_3630@ha /* 0x80598F78@ha */
/* 805987B8 3B E3 8F 78 */ addi r31, r3, lit_3630@l /* 0x80598F78@l */
/* 805987BC 3C 60 80 5A */ lis r3, l_HIO@ha /* 0x805990F4@ha */
/* 805987C0 38 63 90 F4 */ addi r3, r3, l_HIO@l /* 0x805990F4@l */
/* 805987C4 C0 03 00 14 */ lfs f0, 0x14(r3)
/* 805987C8 D0 1E 05 C0 */ stfs f0, 0x5c0(r30)
/* 805987CC C0 03 00 1C */ lfs f0, 0x1c(r3)
/* 805987D0 D0 1E 05 C8 */ stfs f0, 0x5c8(r30)
/* 805987D4 C0 03 00 18 */ lfs f0, 0x18(r3)
/* 805987D8 D0 1E 05 C4 */ stfs f0, 0x5c4(r30)
/* 805987DC C0 03 00 20 */ lfs f0, 0x20(r3)
/* 805987E0 D0 1E 05 CC */ stfs f0, 0x5cc(r30)
/* 805987E4 C0 03 00 24 */ lfs f0, 0x24(r3)
/* 805987E8 D0 1E 05 D0 */ stfs f0, 0x5d0(r30)
/* 805987EC C0 03 00 28 */ lfs f0, 0x28(r3)
/* 805987F0 D0 1E 05 D4 */ stfs f0, 0x5d4(r30)
/* 805987F4 88 1E 05 AC */ lbz r0, 0x5ac(r30)
/* 805987F8 28 00 00 01 */ cmplwi r0, 1
/* 805987FC 40 82 00 A0 */ bne lbl_8059889C
/* 80598800 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80598804 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80598808 80 7D 5D 3C */ lwz r3, 0x5d3c(r29)
/* 8059880C 38 80 00 00 */ li r4, 0
/* 80598810 90 81 00 08 */ stw r4, 8(r1)
/* 80598814 38 00 FF FF */ li r0, -1
/* 80598818 90 01 00 0C */ stw r0, 0xc(r1)
/* 8059881C 90 81 00 10 */ stw r4, 0x10(r1)
/* 80598820 90 81 00 14 */ stw r4, 0x14(r1)
/* 80598824 90 81 00 18 */ stw r4, 0x18(r1)
/* 80598828 38 80 00 00 */ li r4, 0
/* 8059882C 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008C73@ha */
/* 80598830 38 A5 8C 73 */ addi r5, r5, 0x8C73 /* 0x00008C73@l */
/* 80598834 38 DE 04 D0 */ addi r6, r30, 0x4d0
/* 80598838 38 E0 00 00 */ li r7, 0
/* 8059883C 39 1E 04 E4 */ addi r8, r30, 0x4e4
/* 80598840 39 20 00 00 */ li r9, 0
/* 80598844 39 40 00 FF */ li r10, 0xff
/* 80598848 C0 3F 00 38 */ lfs f1, 0x38(r31)
/* 8059884C 4B AB 42 45 */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80598850 80 7D 5D 3C */ lwz r3, 0x5d3c(r29)
/* 80598854 38 80 00 00 */ li r4, 0
/* 80598858 90 81 00 08 */ stw r4, 8(r1)
/* 8059885C 38 00 FF FF */ li r0, -1
/* 80598860 90 01 00 0C */ stw r0, 0xc(r1)
/* 80598864 90 81 00 10 */ stw r4, 0x10(r1)
/* 80598868 90 81 00 14 */ stw r4, 0x14(r1)
/* 8059886C 90 81 00 18 */ stw r4, 0x18(r1)
/* 80598870 38 80 00 00 */ li r4, 0
/* 80598874 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008C74@ha */
/* 80598878 38 A5 8C 74 */ addi r5, r5, 0x8C74 /* 0x00008C74@l */
/* 8059887C 38 DE 04 D0 */ addi r6, r30, 0x4d0
/* 80598880 38 E0 00 00 */ li r7, 0
/* 80598884 39 1E 04 E4 */ addi r8, r30, 0x4e4
/* 80598888 39 20 00 00 */ li r9, 0
/* 8059888C 39 40 00 FF */ li r10, 0xff
/* 80598890 C0 3F 00 38 */ lfs f1, 0x38(r31)
/* 80598894 4B AB 41 FD */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80598898 48 00 00 9C */ b lbl_80598934
lbl_8059889C:
/* 8059889C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 805988A0 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 805988A4 80 7D 5D 3C */ lwz r3, 0x5d3c(r29)
/* 805988A8 38 80 00 00 */ li r4, 0
/* 805988AC 90 81 00 08 */ stw r4, 8(r1)
/* 805988B0 38 00 FF FF */ li r0, -1
/* 805988B4 90 01 00 0C */ stw r0, 0xc(r1)
/* 805988B8 90 81 00 10 */ stw r4, 0x10(r1)
/* 805988BC 90 81 00 14 */ stw r4, 0x14(r1)
/* 805988C0 90 81 00 18 */ stw r4, 0x18(r1)
/* 805988C4 38 80 00 00 */ li r4, 0
/* 805988C8 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008709@ha */
/* 805988CC 38 A5 87 09 */ addi r5, r5, 0x8709 /* 0x00008709@l */
/* 805988D0 38 DE 04 D0 */ addi r6, r30, 0x4d0
/* 805988D4 38 E0 00 00 */ li r7, 0
/* 805988D8 39 1E 04 E4 */ addi r8, r30, 0x4e4
/* 805988DC 39 20 00 00 */ li r9, 0
/* 805988E0 39 40 00 FF */ li r10, 0xff
/* 805988E4 C0 3F 00 38 */ lfs f1, 0x38(r31)
/* 805988E8 4B AB 41 A9 */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 805988EC 80 7D 5D 3C */ lwz r3, 0x5d3c(r29)
/* 805988F0 38 80 00 00 */ li r4, 0
/* 805988F4 90 81 00 08 */ stw r4, 8(r1)
/* 805988F8 38 00 FF FF */ li r0, -1
/* 805988FC 90 01 00 0C */ stw r0, 0xc(r1)
/* 80598900 90 81 00 10 */ stw r4, 0x10(r1)
/* 80598904 90 81 00 14 */ stw r4, 0x14(r1)
/* 80598908 90 81 00 18 */ stw r4, 0x18(r1)
/* 8059890C 38 80 00 00 */ li r4, 0
/* 80598910 3C A0 00 01 */ lis r5, 0x0001 /* 0x0000870A@ha */
/* 80598914 38 A5 87 0A */ addi r5, r5, 0x870A /* 0x0000870A@l */
/* 80598918 38 DE 04 D0 */ addi r6, r30, 0x4d0
/* 8059891C 38 E0 00 00 */ li r7, 0
/* 80598920 39 1E 04 E4 */ addi r8, r30, 0x4e4
/* 80598924 39 20 00 00 */ li r9, 0
/* 80598928 39 40 00 FF */ li r10, 0xff
/* 8059892C C0 3F 00 38 */ lfs f1, 0x38(r31)
/* 80598930 4B AB 41 61 */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
lbl_80598934:
/* 80598934 88 1E 04 E2 */ lbz r0, 0x4e2(r30)
/* 80598938 7C 03 07 74 */ extsb r3, r0
/* 8059893C 4B A9 47 31 */ bl dComIfGp_getReverb__Fi
/* 80598940 7C 67 1B 78 */ mr r7, r3
/* 80598944 3C 60 00 08 */ lis r3, 0x0008 /* 0x00080193@ha */
/* 80598948 38 03 01 93 */ addi r0, r3, 0x0193 /* 0x00080193@l */
/* 8059894C 90 01 00 20 */ stw r0, 0x20(r1)
/* 80598950 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 80598954 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 80598958 80 63 00 00 */ lwz r3, 0(r3)
/* 8059895C 38 81 00 20 */ addi r4, r1, 0x20
/* 80598960 38 BE 04 D0 */ addi r5, r30, 0x4d0
/* 80598964 38 C0 00 00 */ li r6, 0
/* 80598968 C0 3F 00 38 */ lfs f1, 0x38(r31)
/* 8059896C FC 40 08 90 */ fmr f2, f1
/* 80598970 C0 7F 00 3C */ lfs f3, 0x3c(r31)
/* 80598974 FC 80 18 90 */ fmr f4, f3
/* 80598978 39 00 00 00 */ li r8, 0
/* 8059897C 4B D1 30 09 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
/* 80598980 C0 3F 00 00 */ lfs f1, 0(r31)
/* 80598984 D0 21 00 24 */ stfs f1, 0x24(r1)
/* 80598988 C0 1F 00 38 */ lfs f0, 0x38(r31)
/* 8059898C D0 01 00 28 */ stfs f0, 0x28(r1)
/* 80598990 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 80598994 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80598998 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059899C 38 63 5B D4 */ addi r3, r3, 0x5bd4
/* 805989A0 38 80 00 02 */ li r4, 2
/* 805989A4 38 A0 00 0F */ li r5, 0xf
/* 805989A8 38 C1 00 24 */ addi r6, r1, 0x24
/* 805989AC 4B AD 71 65 */ bl StartQuake__12dVibration_cFii4cXyz
/* 805989B0 38 00 00 01 */ li r0, 1
/* 805989B4 98 1E 05 AD */ stb r0, 0x5ad(r30)
/* 805989B8 39 61 00 40 */ addi r11, r1, 0x40
/* 805989BC 4B DC 98 6D */ bl _restgpr_29
/* 805989C0 80 01 00 44 */ lwz r0, 0x44(r1)
/* 805989C4 7C 08 03 A6 */ mtlr r0
/* 805989C8 38 21 00 40 */ addi r1, r1, 0x40
/* 805989CC 4E 80 00 20 */ blr
@@ -1,65 +0,0 @@
lbl_80598A04:
/* 80598A04 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80598A08 7C 08 02 A6 */ mflr r0
/* 80598A0C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80598A10 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80598A14 7C 7F 1B 78 */ mr r31, r3
/* 80598A18 3C 60 80 5A */ lis r3, l_HIO@ha /* 0x805990F4@ha */
/* 80598A1C 38 63 90 F4 */ addi r3, r3, l_HIO@l /* 0x805990F4@l */
/* 80598A20 C0 03 00 04 */ lfs f0, 4(r3)
/* 80598A24 D0 1F 05 2C */ stfs f0, 0x52c(r31)
/* 80598A28 88 1F 05 AC */ lbz r0, 0x5ac(r31)
/* 80598A2C 28 00 00 01 */ cmplwi r0, 1
/* 80598A30 40 82 00 5C */ bne lbl_80598A8C
/* 80598A34 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80598A38 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80598A3C 80 63 5D 3C */ lwz r3, 0x5d3c(r3)
/* 80598A40 38 80 00 00 */ li r4, 0
/* 80598A44 90 81 00 08 */ stw r4, 8(r1)
/* 80598A48 38 00 FF FF */ li r0, -1
/* 80598A4C 90 01 00 0C */ stw r0, 0xc(r1)
/* 80598A50 90 81 00 10 */ stw r4, 0x10(r1)
/* 80598A54 90 81 00 14 */ stw r4, 0x14(r1)
/* 80598A58 90 81 00 18 */ stw r4, 0x18(r1)
/* 80598A5C 38 80 00 00 */ li r4, 0
/* 80598A60 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008C77@ha */
/* 80598A64 38 A5 8C 77 */ addi r5, r5, 0x8C77 /* 0x00008C77@l */
/* 80598A68 38 DF 04 D0 */ addi r6, r31, 0x4d0
/* 80598A6C 38 E0 00 00 */ li r7, 0
/* 80598A70 39 1F 04 E4 */ addi r8, r31, 0x4e4
/* 80598A74 39 20 00 00 */ li r9, 0
/* 80598A78 39 40 00 FF */ li r10, 0xff
/* 80598A7C 3D 60 80 5A */ lis r11, lit_3826@ha /* 0x80598FB0@ha */
/* 80598A80 C0 2B 8F B0 */ lfs f1, lit_3826@l(r11) /* 0x80598FB0@l */
/* 80598A84 4B AB 40 0D */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80598A88 48 00 00 58 */ b lbl_80598AE0
lbl_80598A8C:
/* 80598A8C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80598A90 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80598A94 80 63 5D 3C */ lwz r3, 0x5d3c(r3)
/* 80598A98 38 80 00 00 */ li r4, 0
/* 80598A9C 90 81 00 08 */ stw r4, 8(r1)
/* 80598AA0 38 00 FF FF */ li r0, -1
/* 80598AA4 90 01 00 0C */ stw r0, 0xc(r1)
/* 80598AA8 90 81 00 10 */ stw r4, 0x10(r1)
/* 80598AAC 90 81 00 14 */ stw r4, 0x14(r1)
/* 80598AB0 90 81 00 18 */ stw r4, 0x18(r1)
/* 80598AB4 38 80 00 00 */ li r4, 0
/* 80598AB8 3C A0 00 01 */ lis r5, 0x0001 /* 0x0000870D@ha */
/* 80598ABC 38 A5 87 0D */ addi r5, r5, 0x870D /* 0x0000870D@l */
/* 80598AC0 38 DF 04 D0 */ addi r6, r31, 0x4d0
/* 80598AC4 38 E0 00 00 */ li r7, 0
/* 80598AC8 39 1F 04 E4 */ addi r8, r31, 0x4e4
/* 80598ACC 39 20 00 00 */ li r9, 0
/* 80598AD0 39 40 00 FF */ li r10, 0xff
/* 80598AD4 3D 60 80 5A */ lis r11, lit_3826@ha /* 0x80598FB0@ha */
/* 80598AD8 C0 2B 8F B0 */ lfs f1, lit_3826@l(r11) /* 0x80598FB0@l */
/* 80598ADC 4B AB 3F B5 */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
lbl_80598AE0:
/* 80598AE0 38 00 00 02 */ li r0, 2
/* 80598AE4 98 1F 05 AD */ stb r0, 0x5ad(r31)
/* 80598AE8 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80598AEC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80598AF0 7C 08 03 A6 */ mtlr r0
/* 80598AF4 38 21 00 30 */ addi r1, r1, 0x30
/* 80598AF8 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8059873C:
/* 8059873C 38 00 00 00 */ li r0, 0
/* 80598740 98 03 05 AD */ stb r0, 0x5ad(r3)
/* 80598744 4E 80 00 20 */ blr
@@ -1,15 +0,0 @@
lbl_805989D0:
/* 805989D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 805989D4 7C 08 02 A6 */ mflr r0
/* 805989D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 805989DC 3C 80 80 5A */ lis r4, lit_3630@ha /* 0x80598F78@ha */
/* 805989E0 C0 24 8F 78 */ lfs f1, lit_3630@l(r4) /* 0x80598F78@l */
/* 805989E4 C0 03 05 C0 */ lfs f0, 0x5c0(r3)
/* 805989E8 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 805989EC 40 82 00 08 */ bne lbl_805989F4
/* 805989F0 48 00 00 15 */ bl init_modeMoveDown__13daSwShutter_cFv
lbl_805989F4:
/* 805989F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 805989F8 7C 08 03 A6 */ mtlr r0
/* 805989FC 38 21 00 10 */ addi r1, r1, 0x10
/* 80598A00 4E 80 00 20 */ blr
@@ -1,152 +0,0 @@
lbl_80598AFC:
/* 80598AFC 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80598B00 7C 08 02 A6 */ mflr r0
/* 80598B04 90 01 00 54 */ stw r0, 0x54(r1)
/* 80598B08 DB E1 00 40 */ stfd f31, 0x40(r1)
/* 80598B0C F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */
/* 80598B10 39 61 00 40 */ addi r11, r1, 0x40
/* 80598B14 4B DC 96 C9 */ bl _savegpr_29
/* 80598B18 7C 7E 1B 78 */ mr r30, r3
/* 80598B1C 3C 60 80 5A */ lis r3, lit_3630@ha /* 0x80598F78@ha */
/* 80598B20 3B E3 8F 78 */ addi r31, r3, lit_3630@l /* 0x80598F78@l */
/* 80598B24 38 7E 05 2C */ addi r3, r30, 0x52c
/* 80598B28 3C 80 80 5A */ lis r4, l_HIO@ha /* 0x805990F4@ha */
/* 80598B2C 38 84 90 F4 */ addi r4, r4, l_HIO@l /* 0x805990F4@l */
/* 80598B30 C0 24 00 08 */ lfs f1, 8(r4)
/* 80598B34 C0 44 00 0C */ lfs f2, 0xc(r4)
/* 80598B38 4B CD 7C 09 */ bl cLib_chaseF__FPfff
/* 80598B3C 38 7E 04 D4 */ addi r3, r30, 0x4d4
/* 80598B40 C0 3F 00 30 */ lfs f1, 0x30(r31)
/* 80598B44 C0 1E 04 AC */ lfs f0, 0x4ac(r30)
/* 80598B48 EC 21 00 2A */ fadds f1, f1, f0
/* 80598B4C C0 5F 00 38 */ lfs f2, 0x38(r31)
/* 80598B50 C0 7E 05 2C */ lfs f3, 0x52c(r30)
/* 80598B54 FC 80 10 90 */ fmr f4, f2
/* 80598B58 4B CD 6E 25 */ bl cLib_addCalc__FPfffff
/* 80598B5C FF E0 08 90 */ fmr f31, f1
/* 80598B60 88 1E 05 AC */ lbz r0, 0x5ac(r30)
/* 80598B64 28 00 00 01 */ cmplwi r0, 1
/* 80598B68 40 82 00 B8 */ bne lbl_80598C20
/* 80598B6C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80598B70 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80598B74 80 7D 5D 3C */ lwz r3, 0x5d3c(r29)
/* 80598B78 38 00 00 FF */ li r0, 0xff
/* 80598B7C 90 01 00 08 */ stw r0, 8(r1)
/* 80598B80 38 80 00 00 */ li r4, 0
/* 80598B84 90 81 00 0C */ stw r4, 0xc(r1)
/* 80598B88 38 00 FF FF */ li r0, -1
/* 80598B8C 90 01 00 10 */ stw r0, 0x10(r1)
/* 80598B90 90 81 00 14 */ stw r4, 0x14(r1)
/* 80598B94 90 81 00 18 */ stw r4, 0x18(r1)
/* 80598B98 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80598B9C 80 9E 05 DC */ lwz r4, 0x5dc(r30)
/* 80598BA0 38 A0 00 00 */ li r5, 0
/* 80598BA4 3C C0 00 01 */ lis r6, 0x0001 /* 0x00008C75@ha */
/* 80598BA8 38 C6 8C 75 */ addi r6, r6, 0x8C75 /* 0x00008C75@l */
/* 80598BAC 38 FE 04 D0 */ addi r7, r30, 0x4d0
/* 80598BB0 39 00 00 00 */ li r8, 0
/* 80598BB4 39 3E 04 E4 */ addi r9, r30, 0x4e4
/* 80598BB8 39 40 00 00 */ li r10, 0
/* 80598BBC C0 3F 00 38 */ lfs f1, 0x38(r31)
/* 80598BC0 4B AB 49 0D */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80598BC4 90 7E 05 DC */ stw r3, 0x5dc(r30)
/* 80598BC8 80 7D 5D 3C */ lwz r3, 0x5d3c(r29)
/* 80598BCC 38 00 00 FF */ li r0, 0xff
/* 80598BD0 90 01 00 08 */ stw r0, 8(r1)
/* 80598BD4 38 80 00 00 */ li r4, 0
/* 80598BD8 90 81 00 0C */ stw r4, 0xc(r1)
/* 80598BDC 38 00 FF FF */ li r0, -1
/* 80598BE0 90 01 00 10 */ stw r0, 0x10(r1)
/* 80598BE4 90 81 00 14 */ stw r4, 0x14(r1)
/* 80598BE8 90 81 00 18 */ stw r4, 0x18(r1)
/* 80598BEC 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80598BF0 80 9E 05 E0 */ lwz r4, 0x5e0(r30)
/* 80598BF4 38 A0 00 00 */ li r5, 0
/* 80598BF8 3C C0 00 01 */ lis r6, 0x0001 /* 0x00008C76@ha */
/* 80598BFC 38 C6 8C 76 */ addi r6, r6, 0x8C76 /* 0x00008C76@l */
/* 80598C00 38 FE 04 D0 */ addi r7, r30, 0x4d0
/* 80598C04 39 00 00 00 */ li r8, 0
/* 80598C08 39 3E 04 E4 */ addi r9, r30, 0x4e4
/* 80598C0C 39 40 00 00 */ li r10, 0
/* 80598C10 C0 3F 00 38 */ lfs f1, 0x38(r31)
/* 80598C14 4B AB 48 B9 */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80598C18 90 7E 05 E0 */ stw r3, 0x5e0(r30)
/* 80598C1C 48 00 00 B4 */ b lbl_80598CD0
lbl_80598C20:
/* 80598C20 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80598C24 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80598C28 80 7D 5D 3C */ lwz r3, 0x5d3c(r29)
/* 80598C2C 38 00 00 FF */ li r0, 0xff
/* 80598C30 90 01 00 08 */ stw r0, 8(r1)
/* 80598C34 38 80 00 00 */ li r4, 0
/* 80598C38 90 81 00 0C */ stw r4, 0xc(r1)
/* 80598C3C 38 00 FF FF */ li r0, -1
/* 80598C40 90 01 00 10 */ stw r0, 0x10(r1)
/* 80598C44 90 81 00 14 */ stw r4, 0x14(r1)
/* 80598C48 90 81 00 18 */ stw r4, 0x18(r1)
/* 80598C4C 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80598C50 80 9E 05 DC */ lwz r4, 0x5dc(r30)
/* 80598C54 38 A0 00 00 */ li r5, 0
/* 80598C58 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000870B@ha */
/* 80598C5C 38 C6 87 0B */ addi r6, r6, 0x870B /* 0x0000870B@l */
/* 80598C60 38 FE 04 D0 */ addi r7, r30, 0x4d0
/* 80598C64 39 00 00 00 */ li r8, 0
/* 80598C68 39 3E 04 E4 */ addi r9, r30, 0x4e4
/* 80598C6C 39 40 00 00 */ li r10, 0
/* 80598C70 C0 3F 00 38 */ lfs f1, 0x38(r31)
/* 80598C74 4B AB 48 59 */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80598C78 90 7E 05 DC */ stw r3, 0x5dc(r30)
/* 80598C7C 80 7D 5D 3C */ lwz r3, 0x5d3c(r29)
/* 80598C80 38 00 00 FF */ li r0, 0xff
/* 80598C84 90 01 00 08 */ stw r0, 8(r1)
/* 80598C88 38 80 00 00 */ li r4, 0
/* 80598C8C 90 81 00 0C */ stw r4, 0xc(r1)
/* 80598C90 38 00 FF FF */ li r0, -1
/* 80598C94 90 01 00 10 */ stw r0, 0x10(r1)
/* 80598C98 90 81 00 14 */ stw r4, 0x14(r1)
/* 80598C9C 90 81 00 18 */ stw r4, 0x18(r1)
/* 80598CA0 90 81 00 1C */ stw r4, 0x1c(r1)
/* 80598CA4 80 9E 05 E0 */ lwz r4, 0x5e0(r30)
/* 80598CA8 38 A0 00 00 */ li r5, 0
/* 80598CAC 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000870C@ha */
/* 80598CB0 38 C6 87 0C */ addi r6, r6, 0x870C /* 0x0000870C@l */
/* 80598CB4 38 FE 04 D0 */ addi r7, r30, 0x4d0
/* 80598CB8 39 00 00 00 */ li r8, 0
/* 80598CBC 39 3E 04 E4 */ addi r9, r30, 0x4e4
/* 80598CC0 39 40 00 00 */ li r10, 0
/* 80598CC4 C0 3F 00 38 */ lfs f1, 0x38(r31)
/* 80598CC8 4B AB 48 05 */ bl set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80598CCC 90 7E 05 E0 */ stw r3, 0x5e0(r30)
lbl_80598CD0:
/* 80598CD0 C0 1F 00 00 */ lfs f0, 0(r31)
/* 80598CD4 FC 00 F8 00 */ fcmpu cr0, f0, f31
/* 80598CD8 40 82 00 54 */ bne lbl_80598D2C
/* 80598CDC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80598CE0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80598CE4 3B A3 5B D4 */ addi r29, r3, 0x5bd4
/* 80598CE8 7F A3 EB 78 */ mr r3, r29
/* 80598CEC 38 80 00 0F */ li r4, 0xf
/* 80598CF0 4B AD 70 A5 */ bl StopQuake__12dVibration_cFi
/* 80598CF4 C0 3F 00 00 */ lfs f1, 0(r31)
/* 80598CF8 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 80598CFC C0 1F 00 38 */ lfs f0, 0x38(r31)
/* 80598D00 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 80598D04 D0 21 00 28 */ stfs f1, 0x28(r1)
/* 80598D08 7F A3 EB 78 */ mr r3, r29
/* 80598D0C 3C 80 80 5A */ lis r4, l_HIO@ha /* 0x805990F4@ha */
/* 80598D10 38 84 90 F4 */ addi r4, r4, l_HIO@l /* 0x805990F4@l */
/* 80598D14 88 84 00 10 */ lbz r4, 0x10(r4)
/* 80598D18 38 A0 00 0F */ li r5, 0xf
/* 80598D1C 38 C1 00 20 */ addi r6, r1, 0x20
/* 80598D20 4B AD 6D 05 */ bl StartShock__12dVibration_cFii4cXyz
/* 80598D24 7F C3 F3 78 */ mr r3, r30
/* 80598D28 48 00 00 25 */ bl init_modeMoveDownEnd__13daSwShutter_cFv
lbl_80598D2C:
/* 80598D2C E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */
/* 80598D30 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 80598D34 39 61 00 40 */ addi r11, r1, 0x40
/* 80598D38 4B DC 94 F1 */ bl _restgpr_29
/* 80598D3C 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80598D40 7C 08 03 A6 */ mtlr r0
/* 80598D44 38 21 00 50 */ addi r1, r1, 0x50
/* 80598D48 4E 80 00 20 */ blr
@@ -1,23 +0,0 @@
lbl_80598748:
/* 80598748 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8059874C 7C 08 02 A6 */ mflr r0
/* 80598750 90 01 00 14 */ stw r0, 0x14(r1)
/* 80598754 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80598758 7C 7F 1B 78 */ mr r31, r3
/* 8059875C 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 80598760 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 80598764 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80598768 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8059876C 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80598770 7C 05 07 74 */ extsb r5, r0
/* 80598774 4B A9 CB ED */ bl isSwitch__10dSv_info_cCFii
/* 80598778 2C 03 00 00 */ cmpwi r3, 0
/* 8059877C 41 82 00 0C */ beq lbl_80598788
/* 80598780 7F E3 FB 78 */ mr r3, r31
/* 80598784 48 00 00 19 */ bl init_modeMoveDownInit__13daSwShutter_cFv
lbl_80598788:
/* 80598788 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8059878C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80598790 7C 08 03 A6 */ mtlr r0
/* 80598794 38 21 00 10 */ addi r1, r1, 0x10
/* 80598798 4E 80 00 20 */ blr
@@ -1,100 +0,0 @@
lbl_805985B4:
/* 805985B4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 805985B8 7C 08 02 A6 */ mflr r0
/* 805985BC 90 01 00 34 */ stw r0, 0x34(r1)
/* 805985C0 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 805985C4 7C 7F 1B 78 */ mr r31, r3
/* 805985C8 3C 60 80 5A */ lis r3, cNullVec__6Z2Calc@ha /* 0x80598FC8@ha */
/* 805985CC 38 C3 8F C8 */ addi r6, r3, cNullVec__6Z2Calc@l /* 0x80598FC8@l */
/* 805985D0 3C 60 80 5A */ lis r3, data_80599120@ha /* 0x80599120@ha */
/* 805985D4 38 A3 91 20 */ addi r5, r3, data_80599120@l /* 0x80599120@l */
/* 805985D8 88 05 00 00 */ lbz r0, 0(r5)
/* 805985DC 7C 00 07 75 */ extsb. r0, r0
/* 805985E0 40 82 00 70 */ bne lbl_80598650
/* 805985E4 80 66 00 28 */ lwz r3, 0x28(r6)
/* 805985E8 80 06 00 2C */ lwz r0, 0x2c(r6)
/* 805985EC 90 66 00 58 */ stw r3, 0x58(r6)
/* 805985F0 90 06 00 5C */ stw r0, 0x5c(r6)
/* 805985F4 80 06 00 30 */ lwz r0, 0x30(r6)
/* 805985F8 90 06 00 60 */ stw r0, 0x60(r6)
/* 805985FC 38 86 00 58 */ addi r4, r6, 0x58
/* 80598600 80 66 00 34 */ lwz r3, 0x34(r6)
/* 80598604 80 06 00 38 */ lwz r0, 0x38(r6)
/* 80598608 90 64 00 0C */ stw r3, 0xc(r4)
/* 8059860C 90 04 00 10 */ stw r0, 0x10(r4)
/* 80598610 80 06 00 3C */ lwz r0, 0x3c(r6)
/* 80598614 90 04 00 14 */ stw r0, 0x14(r4)
/* 80598618 80 66 00 40 */ lwz r3, 0x40(r6)
/* 8059861C 80 06 00 44 */ lwz r0, 0x44(r6)
/* 80598620 90 64 00 18 */ stw r3, 0x18(r4)
/* 80598624 90 04 00 1C */ stw r0, 0x1c(r4)
/* 80598628 80 06 00 48 */ lwz r0, 0x48(r6)
/* 8059862C 90 04 00 20 */ stw r0, 0x20(r4)
/* 80598630 80 66 00 4C */ lwz r3, 0x4c(r6)
/* 80598634 80 06 00 50 */ lwz r0, 0x50(r6)
/* 80598638 90 64 00 24 */ stw r3, 0x24(r4)
/* 8059863C 90 04 00 28 */ stw r0, 0x28(r4)
/* 80598640 80 06 00 54 */ lwz r0, 0x54(r6)
/* 80598644 90 04 00 2C */ stw r0, 0x2c(r4)
/* 80598648 38 00 00 01 */ li r0, 1
/* 8059864C 98 05 00 00 */ stb r0, 0(r5)
lbl_80598650:
/* 80598650 7F E3 FB 78 */ mr r3, r31
/* 80598654 88 1F 05 AD */ lbz r0, 0x5ad(r31)
/* 80598658 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8059865C 39 86 00 58 */ addi r12, r6, 0x58
/* 80598660 7D 8C 02 14 */ add r12, r12, r0
/* 80598664 4B DC 9A 21 */ bl __ptmf_scall
/* 80598668 60 00 00 00 */ nop
/* 8059866C 3C 60 80 5A */ lis r3, lit_3766@ha /* 0x80598FAC@ha */
/* 80598670 C0 23 8F AC */ lfs f1, lit_3766@l(r3) /* 0x80598FAC@l */
/* 80598674 C0 1F 05 C8 */ lfs f0, 0x5c8(r31)
/* 80598678 EC 01 00 32 */ fmuls f0, f1, f0
/* 8059867C FC 00 00 1E */ fctiwz f0, f0
/* 80598680 D8 01 00 08 */ stfd f0, 8(r1)
/* 80598684 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80598688 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */
/* 8059868C 38 83 9A 20 */ addi r4, r3, sincosTable___5JMath@l /* 0x80439A20@l */
/* 80598690 80 7F 05 D8 */ lwz r3, 0x5d8(r31)
/* 80598694 7C 00 07 34 */ extsh r0, r0
/* 80598698 7C 03 01 D6 */ mullw r0, r3, r0
/* 8059869C 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 805986A0 7C 64 02 14 */ add r3, r4, r0
/* 805986A4 C0 43 00 04 */ lfs f2, 4(r3)
/* 805986A8 C0 1F 05 C0 */ lfs f0, 0x5c0(r31)
/* 805986AC EC 00 00 B2 */ fmuls f0, f0, f2
/* 805986B0 FC 00 00 1E */ fctiwz f0, f0
/* 805986B4 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 805986B8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 805986BC B0 1F 05 BC */ sth r0, 0x5bc(r31)
/* 805986C0 C0 1F 05 C4 */ lfs f0, 0x5c4(r31)
/* 805986C4 EC 01 00 32 */ fmuls f0, f1, f0
/* 805986C8 FC 00 00 1E */ fctiwz f0, f0
/* 805986CC D8 01 00 18 */ stfd f0, 0x18(r1)
/* 805986D0 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 805986D4 80 7F 05 D8 */ lwz r3, 0x5d8(r31)
/* 805986D8 7C 00 07 34 */ extsh r0, r0
/* 805986DC 7C 03 01 D6 */ mullw r0, r3, r0
/* 805986E0 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 805986E4 7C 24 04 2E */ lfsx f1, r4, r0
/* 805986E8 C0 1F 05 C0 */ lfs f0, 0x5c0(r31)
/* 805986EC EC 00 00 72 */ fmuls f0, f0, f1
/* 805986F0 FC 00 00 1E */ fctiwz f0, f0
/* 805986F4 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 805986F8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 805986FC B0 1F 05 BA */ sth r0, 0x5ba(r31)
/* 80598700 38 7F 05 C0 */ addi r3, r31, 0x5c0
/* 80598704 3C 80 80 5A */ lis r4, lit_3630@ha /* 0x80598F78@ha */
/* 80598708 C0 24 8F 78 */ lfs f1, lit_3630@l(r4) /* 0x80598F78@l */
/* 8059870C C0 5F 05 CC */ lfs f2, 0x5cc(r31)
/* 80598710 C0 7F 05 D0 */ lfs f3, 0x5d0(r31)
/* 80598714 C0 9F 05 D4 */ lfs f4, 0x5d4(r31)
/* 80598718 4B CD 72 65 */ bl cLib_addCalc__FPfffff
/* 8059871C 80 7F 05 D8 */ lwz r3, 0x5d8(r31)
/* 80598720 38 03 00 01 */ addi r0, r3, 1
/* 80598724 90 1F 05 D8 */ stw r0, 0x5d8(r31)
/* 80598728 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8059872C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80598730 7C 08 03 A6 */ mtlr r0
/* 80598734 38 21 00 30 */ addi r1, r1, 0x30
/* 80598738 4E 80 00 20 */ blr
@@ -1,41 +0,0 @@
lbl_805982A4:
/* 805982A4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 805982A8 7C 08 02 A6 */ mflr r0
/* 805982AC 90 01 00 14 */ stw r0, 0x14(r1)
/* 805982B0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 805982B4 7C 7F 1B 78 */ mr r31, r3
/* 805982B8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 805982BC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 805982C0 C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
/* 805982C4 C0 5F 04 D4 */ lfs f2, 0x4d4(r31)
/* 805982C8 C0 7F 04 D8 */ lfs f3, 0x4d8(r31)
/* 805982CC 4B DA E6 1D */ bl PSMTXTrans
/* 805982D0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 805982D4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 805982D8 A8 9F 04 E4 */ lha r4, 0x4e4(r31)
/* 805982DC A8 BF 04 E6 */ lha r5, 0x4e6(r31)
/* 805982E0 A8 DF 04 E8 */ lha r6, 0x4e8(r31)
/* 805982E4 4B A7 3F BD */ bl mDoMtx_ZXYrotM__FPA4_fsss
/* 805982E8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 805982EC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 805982F0 A8 9F 05 B8 */ lha r4, 0x5b8(r31)
/* 805982F4 A8 BF 05 BA */ lha r5, 0x5ba(r31)
/* 805982F8 A8 DF 05 BC */ lha r6, 0x5bc(r31)
/* 805982FC 4B A7 3F A5 */ bl mDoMtx_ZXYrotM__FPA4_fsss
/* 80598300 80 7F 05 A8 */ lwz r3, 0x5a8(r31)
/* 80598304 C0 1F 04 EC */ lfs f0, 0x4ec(r31)
/* 80598308 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 8059830C C0 1F 04 F0 */ lfs f0, 0x4f0(r31)
/* 80598310 D0 03 00 1C */ stfs f0, 0x1c(r3)
/* 80598314 C0 1F 04 F4 */ lfs f0, 0x4f4(r31)
/* 80598318 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 8059831C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80598320 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80598324 80 9F 05 A8 */ lwz r4, 0x5a8(r31)
/* 80598328 38 84 00 24 */ addi r4, r4, 0x24
/* 8059832C 4B DA E1 85 */ bl PSMTXCopy
/* 80598330 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80598334 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80598338 7C 08 03 A6 */ mtlr r0
/* 8059833C 38 21 00 10 */ addi r1, r1, 0x10
/* 80598340 4E 80 00 20 */ blr
+1 -1
View File
@@ -483,7 +483,7 @@ public:
void SetAtHit(cCcD_Obj* obj) { mObjAt.SetHit(obj); }
void SetTgHit(cCcD_Obj* obj) { mObjTg.SetHit(obj); }
void SetCoHit(cCcD_Obj* obj) { mObjCo.SetHit(obj); }
bool ChkAtType(u32 type) const { return mObjAt.MskType(type); }
BOOL ChkAtType(u32 type) const { return mObjAt.MskType(type); }
u32 ChkCoNoCrr() const { return mObjCo.ChkNoCrr(); }
u32 ChkCoSph3DCrr() const { return mObjCo.ChkSph3DCrr(); }
void OnAtSPrmBit(u32 flag) { mObjAt.OnSPrmBit(flag); }
@@ -79,6 +79,7 @@ public:
/* 80A065D4 */ bool checkRemoveJoint(int);
bool getGameStartFlag() { return mGameStartFlag; }
void setPotBreakFlag() { mPotBreakFlag = true; }
static void* mCutNameList[8];
static u8 mCutList[96];
@@ -86,7 +87,8 @@ public:
private:
/* 0xE40 */ u8 field_0xe40[0x14d];
/* 0xF8D */ bool mGameStartFlag;
/* 0xF8E */ u8 field_0xf8e[0x3a];
/* 0xF8E */ bool mPotBreakFlag;
/* 0xF8F */ u8 field_0xf8f[0x39];
};
STATIC_ASSERT(sizeof(daNpc_Hoz_c) == 0xFC8);
@@ -319,6 +319,7 @@ public:
/* 80B8C3E8 */ void adjustShapeAngle();
int getType() { return mType; }
u32 getAngleNoFromParam() { return (u8)(fopAcM_GetParam(this) >> 8); }
void setBlastFlag(u8 i_flag) { mBlastFlag = i_flag; }
/* 0x0B48 */ Z2Creature mCreatureSound;
/* 0x0BD8 */ J3DModel* mpObjectModel[3];
@@ -390,7 +391,7 @@ public:
/* 0x1595 */ int mRiverPathIdx;
/* 0x159C */ cXyz field_0x159c[3];
/* 0x15C0 */ u8 field_0x15c0;
/* 0x15C1 */ bool field_0x15c1;
/* 0x15C1 */ bool mBlastFlag;
#ifdef NONMATCHING
static char* mEvtCutNameList[11];
@@ -17,6 +17,12 @@
*/
class daObj_Balloon_c : public fopAc_ac_c {
public:
enum Size_e {
SIZE_LARGE_e,
SIZE_MEDIUM_e,
SIZE_SMALL_e,
};
/* 80BA7FF4 */ int draw();
/* 80BA80F4 */ void saveBestScore();
/* 80BA810C */ void cc_set();
@@ -29,19 +35,19 @@ public:
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ J3DModel* mModel;
/* 0x574 */ int field_0x574;
/* 0x578 */ u8 field_0x578;
/* 0x579 */ u8 field_0x579;
/* 0x57C */ int field_0x57c;
/* 0x580 */ s16 field_0x580;
/* 0x582 */ s16 field_0x582;
/* 0x584 */ s16 field_0x584;
/* 0x586 */ s16 field_0x586;
/* 0x574 */ u32 mShadowKey;
/* 0x578 */ u8 mType;
/* 0x579 */ u8 mRotateMode;
/* 0x57C */ int mRotateTimer;
/* 0x580 */ s16 mRotateZ;
/* 0x582 */ s16 mRotateY;
/* 0x584 */ s16 mRotZTarget;
/* 0x586 */ s16 mRotYTarget;
/* 0x588 */ dBgS_AcchCir mAcchCir;
/* 0x5C8 */ dBgS_ObjAcch mAcch;
/* 0x7A0 */ dCcD_Stts mStts;
/* 0x7D8 */ dCcD_Sph mSph;
/* 0x914 */ u8 field_0x914;
/* 0x914 */ u8 mHIOInit;
/* 0x914 */ u8 mUnused[8];
};
@@ -51,8 +57,8 @@ public:
/* 80BA8D64 */ virtual ~daObj_Balloon_HIO_c() {}
/* 0x04 */ s8 field_0x04;
/* 0x08 */ f32 field_0x08[3];
/* 0x14 */ f32 field_0x14[3];
/* 0x08 */ f32 mScale[3];
/* 0x14 */ f32 mScore[3];
};
#endif /* D_A_OBJ_BALLOON_H */
@@ -3,11 +3,12 @@
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
#include "d/cc/d_cc_d.h"
/**
* @ingroup actors-objects
* @class daFireWood2_c
* @brief Torch Stand
* @brief Firewood 2 (Flame)
*
* @details
*
@@ -15,43 +16,44 @@
class daFireWood2_c : public fopAc_ac_c {
public:
/* 80BE82D0 */ void setBaseMtx();
/* 80BE8328 */ void create();
/* 80BE8328 */ int create();
/* 80BE8640 */ void lightInit();
/* 80BE86CC */ void setLight();
/* 80BE86FC */ void cutLight();
/* 80BE872C */ void pointLightProc();
/* 80BE87DC */ void Execute();
/* 80BE87DC */ int Execute();
/* 80BE8D98 */ int Draw();
/* 80BE8DA0 */ void Delete();
/* 80BE8DA0 */ int Delete();
static u8 const mCcDObjInfo[48];
static u8 mCcDCyl[68];
static const dCcD_SrcGObjInf mCcDObjInfo;
static dCcD_SrcCyl mCcDCyl;
private:
/* 0x568 */ u8 field_0x568[0x574 - 0x568];
/* 0x574 */ dCcD_Stts mStts;
/* 0x5B0 */ dCcD_Cyl mCyl;
/* 0x6EC */ cXyz field_0x6ec;
/* 0x6F8 */ u8 field_0x6f8;
/* 0x6F9 */ u8 field_0x6f9;
/* 0x6FA */ u8 field_0x6fa;
/* 0x6FB */ u8 field_0x6fb;
/* 0x6FC */ u32 field_0x6fc;
/* 0x700 */ u32 field_0x700;
/* 0x704 */ u32 field_0x704;
/* 0x708 */ u32 field_0x708;
/* 0x70C */ cXyz field_0x70c;
/* 0x718 */ u8 field_0x718;
/* 0x71C */ f32 field_0x71c;
/* 0x574 */ dCcD_Stts mCcStts;
/* 0x5B0 */ dCcD_Cyl mCcCyl;
/* 0x6EC */ cXyz mFlamePos;
/* 0x6F8 */ u8 mIsLit;
/* 0x6F9 */ u8 mIsSwitch;
/* 0x6FA */ u8 mSwitchType;
/* 0x6FB */ u8 mFlameType;
/* 0x6FC */ u32 mFlameEmtrIDs[4];
/* 0x70C */ cXyz mLightPos;
/* 0x718 */ u8 mIsPLight;
/* 0x71C */ f32 mBossLightStrength;
/* 0x720 */ LIGHT_INFLUENCE mLightInfluence;
};
STATIC_ASSERT(sizeof(daFireWood2_c) == 0x740);
class daFireWood2_HIO_c {
class daFireWood2_HIO_c : public mDoHIO_entry_c {
public:
/* 80BE824C */ daFireWood2_HIO_c();
/* 80BE8E54 */ ~daFireWood2_HIO_c();
/* 80BE8E54 */ virtual ~daFireWood2_HIO_c() {}
/* 0x04 */ f32 mFlameOffsetY;
/* 0x08 */ f32 mCollisionDiameter;
/* 0x0C */ f32 mCollisionHeight;
};
@@ -2,21 +2,33 @@
#define D_A_OBJ_SWALLSHUTTER_H
#include "f_op/f_op_actor_mng.h"
#include "d/bg/d_bg_s_movebg_actor.h"
#include "m_Do/m_Do_hostIO.h"
/**
* @ingroup actors-objects
* @class daSwShutter_c
* @brief Rider Gate
* @brief Shutter Wall (Switch)
*
* @details
*
*/
class daSwShutter_c : public fopAc_ac_c {
class daSwShutter_c : public dBgS_MoveBgActor {
public:
enum TYPE_e {
TYPE_ROCKWALL_e, // Goron Mines Shutter Wall
TYPE_SUBDAN_e, // Cave of Ordeals Shutter Wall
};
enum MODE_e {
MODE_WAIT,
MODE_MOVE_DOWN_INIT,
MODE_MOVE_DOWN,
MODE_MOVE_DOWN_END,
};
/* 805982A4 */ void setBaseMtx();
/* 80598344 */ void CreateHeap();
/* 805983C4 */ void create();
/* 80598564 */ void Execute(f32 (**)[3][4]);
/* 805983C4 */ int create();
/* 805985B4 */ void moveMain();
/* 8059873C */ void init_modeWait();
/* 80598748 */ void modeWait();
@@ -26,19 +38,51 @@ public:
/* 80598AFC */ void modeMoveDown();
/* 80598D4C */ void init_modeMoveDownEnd();
/* 80598D58 */ void modeMoveDownEnd();
/* 80598D5C */ void Draw();
/* 80598E00 */ void Delete();
/* 80598344 */ virtual int CreateHeap();
/* 80598564 */ virtual int Execute(Mtx**);
/* 80598D5C */ virtual int Draw();
/* 80598E00 */ virtual int Delete();
private:
/* 0x568 */ u8 field_0x568[0x5e8 - 0x568];
int getSwBit() { return fopAcM_GetParamBit(this, 0, 8); }
int getModelType() { return fopAcM_GetParamBit(this, 8, 4); }
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ u8 mModelType;
/* 0x5AD */ u8 mMode;
/* 0x5B0 */ f32 field_0x5b0;
/* 0x5B4 */ u8 field_0x5B4[0x5B8 - 0x5B4];
/* 0x5B8 */ csXyz mShakeRot;
/* 0x5C0 */ f32 mShakeStrength;
/* 0x5C4 */ f32 mShakeAmpZ;
/* 0x5C8 */ f32 mShakeAmpY;
/* 0x5CC */ f32 mShakeAtten;
/* 0x5D0 */ f32 mMaxAtten;
/* 0x5D4 */ f32 mMinAtten;
/* 0x5D8 */ int mCounter;
/* 0x5DC */ u32 mEmitterID0;
/* 0x5E0 */ u32 mEmitterID1;
/* 0x5E4 */ u8 field_0x5e4[0x5e8 - 0x5e4];
};
STATIC_ASSERT(sizeof(daSwShutter_c) == 0x5e8);
class daSwShutter_HIO_c {
class daSwShutter_HIO_c : public mDoHIO_entry_c {
public:
/* 805981EC */ daSwShutter_HIO_c();
/* 80598ECC */ ~daSwShutter_HIO_c();
/* 80598ECC */ virtual ~daSwShutter_HIO_c() {}
/* 0x04 */ f32 mInitSpeed;
/* 0x08 */ f32 mMaxSpeed;
/* 0x0C */ f32 mAcceleration;
/* 0x10 */ u8 mVibrationStrength;
/* 0x14 */ f32 mShakeStrength;
/* 0x18 */ f32 mShakeAmpZ;
/* 0x1C */ f32 mShakeAmpY;
/* 0x20 */ f32 mShakeAtten;
/* 0x24 */ f32 mMaxAtten;
/* 0x28 */ f32 mMinAtten;
};
@@ -1,56 +1,180 @@
#ifndef D_A_OBJ_ZRAMARK_H
#define D_A_OBJ_ZRAMARK_H
#include "JSystem/J3DGraphBase/J3DMaterial.h"
#include "d/a/d_a_npc.h"
#include "d/cc/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
class daNpc_Hoz_c;
class _ZraMark_Hahen_c {
public:
_ZraMark_Hahen_c() {
mpModel = NULL;
setColor(0);
}
/* 80D4347C */ int create(cXyz const&, s8, s8, s8, s8);
/* 80D434F8 */ BOOL loadModel();
/* 80D4357C */ void init(cXyz const&, s8, s8, s8);
/* 80D43808 */ void calcSpeed();
/* 80D43864 */ void setMtx();
/* 80D438C8 */ void draw();
void setColor(const s8& i_color) { mColor = i_color; }
s8 getColor() { return mColor; }
void setPos(const cXyz& i_pos) { mPos = i_pos; }
void setSpeed(const cXyz& i_speed) { mSpeed = i_speed; }
void calcAngle() {
mAngle += field_0x3aa;
}
void posMove() {
mPos += mSpeed;
}
void fall() {
calcAngle();
calcSpeed();
posMove();
}
/* 0x000 */ J3DModel* mpModel;
/* 0x004 */ dKy_tevstr_c mTevstr;
/* 0x38C */ cXyz mPos;
/* 0x398 */ cXyz mSpeed;
/* 0x3A4 */ csXyz mAngle;
/* 0x3AA */ csXyz field_0x3aa;
/* 0x3B0 */ cXyz field_0x3b0;
/* 0x3BC */ s16 field_0x3bc;
/* 0x3C0 */ f32 field_0x3c0;
/* 0x3C4 */ u8 field_0x3C4[0x3C8 - 0x3C4];
/* 0x3C8 */ s8 mColor;
/* 0x3CC */ Z2SoundObjSimple mSound;
};
class _ZraMark_Hahen_Mng_c {
public:
_ZraMark_Hahen_Mng_c() : field_0x2(0) {}
/* 80D43968 */ int create(cXyz const&, s8, s8, s8, s8);
/* 80D439F8 */ void calc();
/* 80D43A74 */ void draw();
s16 getTimer() { return mTimer; }
void setTimer(s16 i_timer) { mTimer = i_timer; }
void decTimer() {
if (mTimer > 0) {
mTimer--;
}
}
/* 0x0 */ s16 mTimer;
/* 0x2 */ u8 field_0x2;
/* 0x4 */ _ZraMark_Hahen_c mHahen[14];
};
/**
* @ingroup actors-objects
* @class daObjZraMark_c
* @brief Zora Mark
* @brief Iza's River Ride Destructible Buoy
*
* @details
*
*/
class daObjZraMark_c : public fopAc_ac_c {
public:
/* 80D42678 */ void Create();
/* 80D4287C */ void CreateHeap();
/* 80D42A7C */ void Execute();
/* 80D42B0C */ void Draw();
/* 80D42C98 */ void Delete();
/* 80D42CE0 */ void getType();
enum TYPE_e {
TYPE_BRANCH_GREEN,
TYPE_GREEN,
TYPE_BRANCH_RED,
TYPE_RED,
};
/* 80D42678 */ int Create();
/* 80D4287C */ int CreateHeap();
/* 80D42A7C */ int Execute();
/* 80D42B0C */ int Draw();
/* 80D42C98 */ int Delete();
/* 80D42CE0 */ int getType();
/* 80D42D2C */ void setBaseMtx();
/* 80D42EE0 */ void col_init();
/* 80D42F5C */ void col_set();
/* 80D432C8 */ void schHoz();
/* 80D43314 */ void entryPointer(fopAc_ac_c*);
/* 80D432C8 */ daNpc_Hoz_c* schHoz();
/* 80D43314 */ bool entryPointer(fopAc_ac_c*);
/* 80D43370 */ void informBlast();
u8 getMarkNo() { return fopAcM_GetParam(this) & 0xff; }
private:
/* 0x568 */ u8 field_0x568[0x3e40 - 0x568];
void initBlastFlag() { mBlastFlag = false; }
void onBlastFlag() { mBlastFlag = true; }
bool is_blasted() { return mBlastFlag == true; }
bool is_branch_pat() { return mType == 0 || mType == 2; }
int get_MarkType() {
u8 type = fopAcM_GetParam(this) >> 0x10;
if (type == 0xFF) {
type = 0;
}
return type;
}
void _Disp_Vase() {
_Material_On(0);
_Material_On(2);
}
void _Vanish_Vase() {
_Material_Off(0);
_Material_Off(2);
}
void _Material_On(u16 i_jointNo) {
mpModel->getModelData()->getMaterialNodePointer(i_jointNo)->getShape()->show();
}
void _Material_Off(u16 i_jointNo) {
mpModel->getModelData()->getMaterialNodePointer(i_jointNo)->getShape()->hide();
}
BOOL checkHitAt(cCcD_Obj* i_hitobj) {
if (is_blasted()) {
return false;
}
if (get_MarkType() != 0) {
return i_hitobj->ChkAtType(AT_TYPE_IRON_BALL | AT_TYPE_BOMB);
} else {
return i_hitobj->ChkAtType(AT_TYPE_BOMB);
}
}
/* 0x0568 */ request_of_phase_process_class mPhase[1];
/* 0x0570 */ J3DModel* mpModel;
/* 0x0574 */ Mtx field_0x574;
/* 0x05A4 */ dCcD_Stts mCcStts;
/* 0x05E0 */ dCcD_Cyl mCcCyl;
/* 0x071C */ daNpcF_ActorMngr_c mActorMngr[2];
/* 0x072C */ u8 field_0x72c;
/* 0x072D */ u8 mType;
/* 0x072E */ u8 mBlastFlag;
/* 0x0730 */ daNpc_Hoz_c* mpHoz;
/* 0x0734 */ Z2SoundObjSimple mSound;
/* 0x0754 */ _ZraMark_Hahen_Mng_c mHahenMngr;
};
STATIC_ASSERT(sizeof(daObjZraMark_c) == 0x3e40);
class _ZraMark_Hahen_c : public fopAc_ac_c {
class daObjZraMark_Hio_Param_c {
public:
/* 80D4347C */ void create(cXyz const&, s8, s8, s8, s8);
/* 80D434F8 */ void loadModel();
/* 80D4357C */ void init(cXyz const&, s8, s8, s8);
/* 80D43808 */ void calcSpeed();
/* 80D43864 */ void setMtx();
/* 80D438C8 */ void draw();
/* 80D43B48 */ ~_ZraMark_Hahen_c();
/* 80D43BB4 */ _ZraMark_Hahen_c();
/* 0x00 */ f32 mMarkSize;
/* 0x04 */ f32 mInteriorMarkSize;
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 mMarkCollisionRadius;
/* 0x10 */ f32 mMarkCollisionHeight;
};
class _ZraMark_Hahen_Mng_c : public fopAc_ac_c {
public:
/* 80D43968 */ void create(cXyz const&, s8, s8, s8, s8);
/* 80D439F8 */ void calc();
/* 80D43A74 */ void draw();
};
#endif /* D_A_OBJ_ZRAMARK_H */
+153 -159
View File
@@ -1,18 +1,19 @@
//
// Balloon
//
/**
* d_a_obj_balloon.cpp
* Plumm Minigame Balloon
*/
#include "rel/d/a/obj/d_a_obj_balloon/d_a_obj_balloon.h"
#include "rel/d/a/d_a_balloon_2D/d_a_balloon_2D.h"
#include "d/cc/d_cc_d.h"
#include "d/cc/d_cc_uty.h"
#include "d/d_drawlist.h"
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
#include "SSystem/SComponent/c_math.h"
#include "JSystem/JAudio2/JASAudioThread.h"
#include "JSystem/JAudio2/JAUSoundTable.h"
#include "SSystem/SComponent/c_math.h"
#include "Z2AudioLib/Z2WolfHowlMgr.h"
#include "d/cc/d_cc_d.h"
#include "d/cc/d_cc_uty.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_drawlist.h"
#include "f_op/f_op_actor_mng.h"
#include "rel/d/a/d_a_balloon_2D/d_a_balloon_2D.h"
/* 80BA8E5C-80BA8E68 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
static u8 cNullVec__6Z2Calc[12] = {
@@ -125,53 +126,17 @@ static u8 lit_1010[1 + 3 /* padding */];
static u8 lit_1009[1 + 3 /* padding */];
#pragma pop
/* 80BA8E7C-80BA8E80 000020 0004+00 0/1 0/0 0/0 .data
* m_combo_type__29@unnamed@d_a_obj_balloon_cpp@ */
static int m_combo_type = 0xFFFFFFFF;
/* 80BA8E80-80BA8E8C 000024 000C+00 1/1 0/0 0/0 .data balloon_radius$3706 */
static f32 balloon_radius[3] = {
1070.0f, 390.0f, 110.0f,
};
/* 80BA8E8C-80BA8E90 000030 0004+00 0/1 0/0 0/0 .data kago_wall_hit_id$3736 */
static u16 kago_wall_hit_id[2] = {
0x8A12,
0x8A13,
};
/* 80BA8E90-80BA8E9C 000034 000C+00 0/1 0/0 0/0 .data kago_effect_scale$3737 */
static f32 kago_effect_scale[3] = {
4.0f, 1.5f, 0.8f,
};
/* 80BA8E9C-80BA8EA8 000040 000C+00 0/1 0/0 0/0 .data break_sound_id$3749 */
static u32 break_sound_id[3] = {
Z2SE_OBJ_BLN_BREAK_L, Z2SE_OBJ_BLN_BREAK_M, Z2SE_OBJ_BLN_BREAK_S,
};
/* 80BA8EA8-80BA8EE8 00004C 0040+00 1/1 0/0 0/0 .data cc_sph_src$3893 */
static dCcD_SrcSph cc_sph_src = {
{
{0x0, {{0x0, 0x0, 0x0}, {0x8, 0x11}, 0x0}}, // mObj
{dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg
{0x0}, // mGObjCo
}, // mObjInf
{
{{0.0f, 0.0f, 0.0f}, 40.0f} // mSph
} // mSphAttr
};
/* 80BA7FAC-80BA7FF4 0000EC 0048+00 1/1 0/0 0/0 .text __ct__19daObj_Balloon_HIO_cFv */
daObj_Balloon_HIO_c::daObj_Balloon_HIO_c() {
field_0x04 = -1;
field_0x08[0] = 1.0f;
field_0x08[1] = 1.0f;
field_0x08[2] = 1.5f;
field_0x14[0] = 1.0f;
field_0x14[1] = 3.0f;
field_0x14[2] = 10.0f;
mScale[daObj_Balloon_c::SIZE_LARGE_e] = 1.0f;
mScale[daObj_Balloon_c::SIZE_MEDIUM_e] = 1.0f;
mScale[daObj_Balloon_c::SIZE_SMALL_e] = 1.5f;
mScore[daObj_Balloon_c::SIZE_LARGE_e] = 1.0f;
mScore[daObj_Balloon_c::SIZE_MEDIUM_e] = 3.0f;
mScore[daObj_Balloon_c::SIZE_SMALL_e] = 10.0f;
}
/* 80BA7FF4-80BA80D4 000134 00E0+00 1/1 0/0 0/0 .text draw__15daObj_Balloon_cFv */
@@ -180,11 +145,12 @@ int daObj_Balloon_c::draw() {
g_env_light.setLightTevColorType_MAJI(mModel, &tevStr);
fopAcM_setEffectMtx(this, mModel->getModelData());
mDoExt_modelUpdateDL(mModel);
cXyz acStack_28;
acStack_28.set(current.pos.x, current.pos.y + 100.0f, current.pos.z);
field_0x574 = dComIfGd_setShadow(field_0x574, 1, mModel, &acStack_28, 400.0f, 0.0f,
current.pos.y, mAcch.GetGroundH(), mAcch.m_gnd, &tevStr, 0,
1.0f, dDlst_shadowControl_c::getSimpleTex());
cXyz pos;
pos.set(current.pos.x, current.pos.y + 100.0f, current.pos.z);
mShadowKey = dComIfGd_setShadow(mShadowKey, 1, mModel, &pos, 400.0f, 0.0f, current.pos.y,
mAcch.GetGroundH(), mAcch.m_gnd, &tevStr, 0, 1.0f,
dDlst_shadowControl_c::getSimpleTex());
return 1;
}
@@ -193,6 +159,11 @@ static int daObj_Balloon_Draw(daObj_Balloon_c* i_this) {
return i_this->draw();
}
namespace {
/* 80BA8E7C-80BA8E80 000020 0004+00 0/1 0/0 0/0 .data
* m_combo_type__29@unnamed@d_a_obj_balloon_cpp@ */
static int m_combo_type = 0xFFFFFFFF;
/* 80BA8FF0-80BA8FF4 000048 0004+00 0/1 0/0 0/0 .bss
* m_combo_count__29@unnamed@d_a_obj_balloon_cpp@ */
static int m_combo_count;
@@ -204,6 +175,7 @@ static int m_combo_next_score;
/* 80BA8FF8-80BA8FFC 000050 0004+00 1/2 0/0 0/0 .bss
* m_balloon_score__29@unnamed@d_a_obj_balloon_cpp@ */
static u32 m_balloon_score;
} // namespace
/* 80BA80F4-80BA810C 000234 0018+00 0/0 0/0 1/1 .text saveBestScore__15daObj_Balloon_cFv
*/
@@ -211,114 +183,123 @@ void daObj_Balloon_c::saveBestScore() {
dComIfGp_setMessageCountNumber(m_balloon_score);
}
/* ############################################################################################## */
/* 80BA8FFC-80BA9000 000054 0004+00 2/2 0/0 0/0 .bss None */
static u8 data_80BA8FFC;
/* 80BA9000-80BA900C 000058 000C+00 1/1 0/0 0/0 .bss @3651 */
//static u8 lit_3651[12];
static u8 l_initHIO;
/* 80BA900C-80BA902C 000064 0020+00 4/5 0/0 0/0 .bss l_HIO */
static daObj_Balloon_HIO_c l_HIO;
/* 80BA810C-80BA81B8 00024C 00AC+00 1/1 0/0 0/0 .text cc_set__15daObj_Balloon_cFv */
void daObj_Balloon_c::cc_set() {
cXyz cStack_18;
cXyz cc_center;
mDoMtx_stack_c::copy(mModel->getBaseTRMtx());
mDoMtx_stack_c::multVecZero(&cStack_18);
mSph.SetC(cStack_18);
mSph.SetR(balloon_radius[field_0x578] * l_HIO.field_0x08[field_0x578]);
mDoMtx_stack_c::multVecZero(&cc_center);
static f32 balloon_radius[3] = {1070.0f, 390.0f, 110.0f};
mSph.SetC(cc_center);
mSph.SetR(balloon_radius[mType] * l_HIO.mScale[mType]);
dComIfG_Ccsp()->Set(&mSph);
}
/* 80BA81B8-80BA865C 0002F8 04A4+00 1/1 0/0 0/0 .text action__15daObj_Balloon_cFv */
void daObj_Balloon_c::action() {
switch (field_0x579) {
static u16 kago_wall_hit_id[2] = {0x8A12, 0x8A13};
static f32 kago_effect_scale[3] = {4.0f, 1.5f, 0.8f};
static u32 break_sound_id[3] = {Z2SE_OBJ_BLN_BREAK_L, Z2SE_OBJ_BLN_BREAK_M,
Z2SE_OBJ_BLN_BREAK_S};
switch (mRotateMode) {
case 0:
gravity = 0.0f;
speedF = 0.0f;
speed.y = 0.0f;
field_0x579 = 1;
mRotateMode = 1;
break;
case 1:
cLib_addCalcAngleS2(&field_0x580, field_0x584, 16, 8);
cLib_addCalcAngleS2(&field_0x582, field_0x586, 16, 8);
cLib_addCalcAngleS2(&mRotateZ, mRotZTarget, 16, 8);
cLib_addCalcAngleS2(&mRotateY, mRotYTarget, 16, 8);
cLib_chaseF(&speed.y, -3.0f, 0.1f);
if (current.pos.y < home.pos.y) {
field_0x579 = 2;
field_0x57c = (s16)(30.0f + cM_rndF(60.0f));
field_0x584 = 512.0f + cM_rndF(512.0f);
field_0x586 = 512.0f + cM_rndF(512.0f);
mRotateMode = 2;
mRotateTimer = (s16)(30.0f + cM_rndF(60.0f));
mRotZTarget = 512.0f + cM_rndF(512.0f);
mRotYTarget = 512.0f + cM_rndF(512.0f);
}
break;
case 2:
cLib_addCalcAngleS2(&field_0x580, field_0x584, 16, 32);
cLib_addCalcAngleS2(&field_0x582, field_0x586, 16, 32);
cLib_addCalcAngleS2(&mRotateZ, mRotZTarget, 16, 32);
cLib_addCalcAngleS2(&mRotateY, mRotYTarget, 16, 32);
cLib_chaseF(&speed.y, 5.0f, 0.1f);
if (field_0x57c == 0) {
field_0x579 = 1;
field_0x584 = cM_rndF(128.0f);
field_0x586 = cM_rndF(128.0f);
if (mRotateTimer == 0) {
mRotateMode = 1;
mRotZTarget = cM_rndF(128.0f);
mRotYTarget = cM_rndF(128.0f);
}
break;
}
shape_angle.z += field_0x580;
shape_angle.y += field_0x582;
if (field_0x57c != 0) {
field_0x57c--;
shape_angle.z += mRotateZ;
shape_angle.y += mRotateY;
if (mRotateTimer != 0) {
mRotateTimer--;
}
mStts.Move();
if (mSph.ChkTgHit()) {
cCcD_Obj* tgHit = mSph.GetTgHitObj();
if (fopAcM_GetName(dCc_GetAc(tgHit->GetAc())) == 0xf4) {
cXyz cStack_48(kago_effect_scale[field_0x578], kago_effect_scale[field_0x578],
kago_effect_scale[field_0x578]);
cCcD_Obj* hit_obj = mSph.GetTgHitObj();
if (fopAcM_GetName(dCc_GetAc(hit_obj->GetAc())) == PROC_KAGO) {
cXyz eff_scale(kago_effect_scale[mType], kago_effect_scale[mType],
kago_effect_scale[mType]);
for (int i = 0; i < 2; i++) {
dComIfGp_particle_set(kago_wall_hit_id[i], &current.pos, &tevStr, &shape_angle,
&cStack_48);
&eff_scale);
}
u32 local_74;
u32 local_28;
if (m_combo_type == field_0x578) {
u32 add_score;
if (m_combo_type == mType) {
m_combo_count++;
local_74 = m_combo_next_score;
add_score = m_combo_next_score;
if (m_combo_count >= 10) {
m_combo_next_score = l_HIO.field_0x14[field_0x578] * 512.0f;
local_28 = m_combo_next_score;
m_combo_next_score = l_HIO.mScore[mType] * 512.0f;
} else {
m_combo_next_score <<= 1;
m_combo_next_score *= 2;
}
} else {
m_combo_type = field_0x578;
m_combo_type = mType;
m_combo_count = 1;
m_combo_next_score =
l_HIO.field_0x14[field_0x578] * 2.0f;
local_28 = m_combo_next_score;
local_74 = l_HIO.field_0x14[field_0x578];
m_combo_next_score = l_HIO.mScore[mType] * 2.0f;
add_score = l_HIO.mScore[mType];
}
Z2GetAudioMgr()->seStart(break_sound_id[field_0x578], &current.pos, m_combo_count, 0, 1.0f, 1.0f,
-1.0f, -1.0f, 0);
m_balloon_score += local_74;
daBalloon2D_c* balloon2d = (daBalloon2D_c*)fopAcM_SearchByName(PROC_BALLOON2D);
if (balloon2d != NULL) {
u8 unaff_r25;
if (field_0x578 == 2) {
unaff_r25 = 0;
} else if (field_0x578 == 1) {
unaff_r25 = 1;
} else if (field_0x578 == 0) {
unaff_r25 = 2;
Z2GetAudioMgr()->seStart(break_sound_id[mType], &current.pos, m_combo_count, 0, 1.0f,
1.0f, -1.0f, -1.0f, 0);
m_balloon_score += add_score;
daBalloon2D_c* balloon_2d = (daBalloon2D_c*)fopAcM_SearchByName(PROC_BALLOON2D);
if (balloon_2d != NULL) {
u8 balloon_size;
if (mType == SIZE_SMALL_e) {
balloon_size = 0;
} else if (mType == SIZE_MEDIUM_e) {
balloon_size = 1;
} else if (mType == SIZE_LARGE_e) {
balloon_size = 2;
}
cXyz cStack_54(dCc_GetAc(tgHit->GetAc())->current.pos);
cStack_54 = (cStack_54 + current.pos) / 2.0f;
balloon2d->setComboCount(unaff_r25, m_combo_count);
balloon2d->setScoreCount(m_balloon_score);
balloon2d->addScoreCount(&cStack_54, local_74, unaff_r25);
cXyz pos_2d(dCc_GetAc(hit_obj->GetAc())->current.pos);
pos_2d = (pos_2d + current.pos) / 2.0f;
balloon_2d->setComboCount(balloon_size, m_combo_count);
balloon_2d->setScoreCount(m_balloon_score);
balloon_2d->addScoreCount(&pos_2d, add_score, balloon_size);
}
fopAcM_delete(this);
return;
}
}
fopAcM_posMoveF(this, mStts.GetCCMoveP());
}
@@ -326,9 +307,7 @@ void daObj_Balloon_c::action() {
void daObj_Balloon_c::mtx_set() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(shape_angle);
mDoMtx_stack_c::scaleM(l_HIO.field_0x08[field_0x578],
l_HIO.field_0x08[field_0x578],
l_HIO.field_0x08[field_0x578]);
mDoMtx_stack_c::scaleM(l_HIO.mScale[mType], l_HIO.mScale[mType], l_HIO.mScale[mType]);
mModel->setBaseTRMtx(mDoMtx_stack_c::get());
}
@@ -356,8 +335,8 @@ static int daObj_Balloon_IsDelete(daObj_Balloon_c* i_this) {
int daObj_Balloon_c::_delete() {
dComIfG_resDelete(&mPhase, "Obj_bal");
Z2GetAudioMgr()->seStop(Z2SE_OBJ_WATERMILL_ROUND, 0);
if (field_0x914 != 0) {
data_80BA8FFC = 0;
if (mHIOInit) {
l_initHIO = false;
}
return 1;
}
@@ -370,16 +349,16 @@ static int daObj_Balloon_Delete(daObj_Balloon_c* i_this) {
/* 80BA87CC-80BA88A4 00090C 00D8+00 1/1 0/0 0/0 .text CreateHeap__15daObj_Balloon_cFv */
int daObj_Balloon_c::CreateHeap() {
J3DModelData* modelData;
if (field_0x578 == 0) {
if (mType == SIZE_LARGE_e) {
modelData = (J3DModelData*)dComIfG_getObjectRes("Obj_bal", 3);
} else if (field_0x578 == 1) {
} else if (mType == SIZE_MEDIUM_e) {
modelData = (J3DModelData*)dComIfG_getObjectRes("Obj_bal", 4);
} else if (field_0x578 == 2) {
} else if (mType == SIZE_SMALL_e) {
modelData = (J3DModelData*)dComIfG_getObjectRes("Obj_bal", 5);
}
JUT_ASSERT(501, modelData != 0);
mModel = mDoExt_J3DModel__create(modelData, 0, 0x11000084);
return mModel != NULL ? 1 : 0;
return mModel != NULL ? TRUE : FALSE;
}
/* 80BA88A4-80BA88C4 0009E4 0020+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */
@@ -390,38 +369,56 @@ static int useHeapInit(fopAc_ac_c* i_this) {
/* 80BA88C4-80BA8B30 000A04 026C+00 1/1 0/0 0/0 .text create__15daObj_Balloon_cFv */
int daObj_Balloon_c::create() {
fopAcM_SetupActor(this, daObj_Balloon_c);
field_0x578 = fopAcM_GetParam(this);
if (field_0x578 == 0xff) {
field_0x578 = 0x0;
mType = fopAcM_GetParam(this);
if (mType == 0xFF) {
mType = SIZE_LARGE_e;
}
int rv = dComIfG_resLoad(&mPhase, "Obj_bal");
if (rv == cPhs_COMPLEATE_e) {
int phase_state = dComIfG_resLoad(&mPhase, "Obj_bal");
if (phase_state == cPhs_COMPLEATE_e) {
OS_REPORT("Obj_Balloon PARAM %x\n", fopAcM_GetParam(this));
if (fopAcM_entrySolidHeap(this, useHeapInit, 0xd60) == 0) {
if (!fopAcM_entrySolidHeap(this, useHeapInit, 0xD60)) {
return cPhs_ERROR_e;
} else {
if (data_80BA8FFC == 0) {
field_0x914 = 1;
data_80BA8FFC = 1;
l_HIO.field_0x04 = -1;
}
attention_info.flags = 0;
fopAcM_SetMtx(this, mModel->getBaseTRMtx());
fopAcM_SetMin(this, -1000.0f, -1000.0f, -1000.0f);
fopAcM_SetMax(this, 1000.0f, 1000.0f, 1000.0f);
fopAcM_setCullSizeFar(this, 2.0f);
mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir,
fopAcM_GetSpeed_p(this), NULL, NULL);
mAcchCir.SetWall(0.0f, 0.0f);
health = 60;
field_0x560 = 60;
mStts.Init(0xff, 0, this);
mSph.Set(cc_sph_src);
mSph.SetStts(&mStts);
daObj_Balloon_Execute(this);
}
if (!l_initHIO) {
mHIOInit = true;
l_initHIO = true;
l_HIO.field_0x04 = -1;
}
attention_info.flags = 0;
fopAcM_SetMtx(this, mModel->getBaseTRMtx());
fopAcM_SetMin(this, -1000.0f, -1000.0f, -1000.0f);
fopAcM_SetMax(this, 1000.0f, 1000.0f, 1000.0f);
fopAcM_setCullSizeFar(this, 2.0f);
mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir,
fopAcM_GetSpeed_p(this), NULL, NULL);
mAcchCir.SetWall(0.0f, 0.0f);
health = 60;
field_0x560 = 60;
static dCcD_SrcSph cc_sph_src = {
{
{0x0, {{0x0, 0x0, 0x0}, {0x8, 0x11}, 0x0}}, // mObj
{dCcD_SE_METAL, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg
{0x0}, // mGObjCo
}, // mObjInf
{
{{0.0f, 0.0f, 0.0f}, 40.0f} // mSph
} // mSphAttr
};
mStts.Init(0xFF, 0, this);
mSph.Set(cc_sph_src);
mSph.SetStts(&mStts);
daObj_Balloon_Execute(this);
}
return rv;
return phase_state;
}
/* 80BA8CFC-80BA8D1C 000E3C 0020+00 1/0 0/0 0/0 .text daObj_Balloon_Create__FP15daObj_Balloon_c */
@@ -454,7 +451,6 @@ extern actor_process_profile_definition g_profile_OBJ_BALLOON = {
fopAc_CULLBOX_CUSTOM_e, // cullType
};
/* ############################################################################################## */
/* 80BA902C-80BA9030 000084 0004+00 0/0 0/0 0/0 .bss
* sInstance__40JASGlobalInstance<19JASDefaultBankTable> */
JASDefaultBankTable* JASGlobalInstance<JASDefaultBankTable>::sInstance;
@@ -556,5 +552,3 @@ static u8 data_80BA9088[4];
/* 80BA908C-80BA9090 0000E4 0004+00 0/0 0/0 0/0 .bss
* sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */
Z2WolfHowlMgr* JASGlobalInstance<Z2WolfHowlMgr>::sInstance;
/* 80BA8E54-80BA8E54 000048 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -1,371 +1,253 @@
/**
* d_a_obj_fireWood2.cpp
*
* Firewood 2 (Flame)
*/
#include "rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2.h"
#include "dol2asm.h"
#include "m_Do/m_Do_hostIO.h"
/* 80BE824C-80BE8288 0000EC 003C+00 1/1 0/0 0/0 .text __ct__17daFireWood2_HIO_cFv */
daFireWood2_HIO_c::daFireWood2_HIO_c() {
mFlameOffsetY = 15.0f;
mCollisionDiameter = 25.0f;
mCollisionHeight = 50.0f;
}
//
// Forward References:
//
/* 80BE82D0-80BE8328 000170 0058+00 2/2 0/0 0/0 .text setBaseMtx__13daFireWood2_cFv */
void daFireWood2_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::ZXYrotM(current.angle.x, current.angle.y, current.angle.z);
}
extern "C" void __ct__17daFireWood2_HIO_cFv();
extern "C" void __dt__14mDoHIO_entry_cFv();
extern "C" void setBaseMtx__13daFireWood2_cFv();
extern "C" void create__13daFireWood2_cFv();
extern "C" void __dt__8cM3dGCylFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void lightInit__13daFireWood2_cFv();
extern "C" void setLight__13daFireWood2_cFv();
extern "C" void cutLight__13daFireWood2_cFv();
extern "C" void pointLightProc__13daFireWood2_cFv();
extern "C" void Execute__13daFireWood2_cFv();
extern "C" bool Draw__13daFireWood2_cFv();
extern "C" void Delete__13daFireWood2_cFv();
extern "C" static void daFireWood2_Draw__FP13daFireWood2_c();
extern "C" static void daFireWood2_Execute__FP13daFireWood2_c();
extern "C" static void daFireWood2_Delete__FP13daFireWood2_c();
extern "C" static void daFireWood2_Create__FP10fopAc_ac_c();
extern "C" void __dt__17daFireWood2_HIO_cFv();
extern "C" void __sinit_d_a_obj_fireWood2_cpp();
extern "C" u8 const mCcDObjInfo__13daFireWood2_c[48];
extern "C" u8 mCcDCyl__13daFireWood2_c[68];
/* 80BE908C-80BE909C 000014 0010+00 3/3 0/0 0/0 .bss l_HIO */
static daFireWood2_HIO_c l_HIO;
//
// External References:
//
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
extern "C" void dComIfGp_getReverb__Fi();
extern "C" void onSwitch__10dSv_info_cFii();
extern "C" void offSwitch__10dSv_info_cFii();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void
set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" void ChkTgHit__12dCcD_GObjInfFv();
extern "C" void GetTgHitGObj__12dCcD_GObjInfFv();
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
extern "C" void dKy_plight_set__FP15LIGHT_INFLUENCE();
extern "C" void dKy_plight_cut__FP15LIGHT_INFLUENCE();
extern "C" void dKy_BossLight_set__FP4cXyzP8_GXColorfUc();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void SetC__8cM3dGCylFRC4cXyz();
extern "C" void SetH__8cM3dGCylFf();
extern "C" void SetR__8cM3dGCylFf();
extern "C" void cLib_addCalc__FPfffff();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void __dl__FPv();
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_CylAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" void __register_global_object();
//
// Declarations:
//
/* ############################################################################################## */
/* 80BE8F34-80BE8F38 000000 0004+00 3/3 0/0 0/0 .rodata @3625 */
SECTION_RODATA static f32 const lit_3625 = 15.0f;
COMPILER_STRIP_GATE(0x80BE8F34, &lit_3625);
/* 80BE8F38-80BE8F3C 000004 0004+00 0/1 0/0 0/0 .rodata @3626 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3626 = 25.0f;
COMPILER_STRIP_GATE(0x80BE8F38, &lit_3626);
#pragma pop
/* 80BE8F3C-80BE8F40 000008 0004+00 0/2 0/0 0/0 .rodata @3627 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3627 = 50.0f;
COMPILER_STRIP_GATE(0x80BE8F3C, &lit_3627);
#pragma pop
/* 80BE8F40-80BE8F70 00000C 0030+00 1/1 0/0 0/0 .rodata mCcDObjInfo__13daFireWood2_c */
const dCcD_SrcGObjInf daFireWood2_c::mCcDObjInfo = {
{0, {{AT_TYPE_LANTERN_SWING, 0, 0x13}, {0xD8FBFFFF, 0x1F}, {0x79}}},
{dCcD_SE_SWORD, 0, 0, dCcD_MTRL_NONE, 0},
{dCcD_SE_STONE, 0, 0, dCcD_MTRL_NONE, 0},
{0},
};
/* 80BE8F98-80BE8FDC 000000 0044+00 2/2 0/0 0/0 .data mCcDCyl__13daFireWood2_c */
SECTION_DATA u8 daFireWood2_c::mCcDCyl[68] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
dCcD_SrcCyl daFireWood2_c::mCcDCyl = {
daFireWood2_c::mCcDObjInfo,
{
{0.0f, 0.0f, 0.0f}, // mCenter
0.0f, // mRadius
0.0f // mHeight
} // mCyl
};
/* 80BE8FDC-80BE8FF4 000044 0018+00 1/1 0/0 0/0 .data l_cull_box */
SECTION_DATA static u8 l_cull_box[24] = {
0xC2, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00,
0x42, 0x48, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00,
static cull_box l_cull_box = {
{-50.0f, 0.0f, -50.0f},
{50.0f, 100.0f, 50.0f},
};
/* 80BE8FF4-80BE9014 -00001 0020+00 1/0 0/0 0/0 .data l_daFireWood2_Method */
static actor_method_class l_daFireWood2_Method = {
(process_method_func)daFireWood2_Create__FP10fopAc_ac_c,
(process_method_func)daFireWood2_Delete__FP13daFireWood2_c,
(process_method_func)daFireWood2_Execute__FP13daFireWood2_c,
0,
(process_method_func)daFireWood2_Draw__FP13daFireWood2_c,
};
/* 80BE9014-80BE9044 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_FireWood2 */
extern actor_process_profile_definition g_profile_Obj_FireWood2 = {
fpcLy_CURRENT_e, // mLayerID
3, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_Lv1Cdl00, // mProcName
&g_fpcLf_Method.mBase, // sub_method
sizeof(daFireWood2_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
494, // mPriority
&l_daFireWood2_Method, // sub_method
0x00060000, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
/* 80BE9044-80BE9050 0000AC 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGCyl */
SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGCylFv,
};
/* 80BE9050-80BE905C 0000B8 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGAabFv,
};
/* 80BE905C-80BE9068 0000C4 000C+00 2/2 0/0 0/0 .data __vt__17daFireWood2_HIO_c */
SECTION_DATA extern void* __vt__17daFireWood2_HIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__17daFireWood2_HIO_cFv,
};
/* 80BE9068-80BE9074 0000D0 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */
SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__14mDoHIO_entry_cFv,
};
/* 80BE824C-80BE8288 0000EC 003C+00 1/1 0/0 0/0 .text __ct__17daFireWood2_HIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daFireWood2_HIO_c::daFireWood2_HIO_c() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2/__ct__17daFireWood2_HIO_cFv.s"
}
#pragma pop
/* 80BE8288-80BE82D0 000128 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// mDoHIO_entry_c::~mDoHIO_entry_c()
extern "C" asm void __dt__14mDoHIO_entry_cFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2/__dt__14mDoHIO_entry_cFv.s"
}
#pragma pop
/* 80BE82D0-80BE8328 000170 0058+00 2/2 0/0 0/0 .text setBaseMtx__13daFireWood2_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daFireWood2_c::setBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2/setBaseMtx__13daFireWood2_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80BE9080-80BE908C 000008 000C+00 1/1 0/0 0/0 .bss @3619 */
static u8 lit_3619[12];
/* 80BE908C-80BE909C 000014 0010+00 3/3 0/0 0/0 .bss l_HIO */
static u8 l_HIO[16];
/* 80BE8328-80BE85B0 0001C8 0288+00 1/1 0/0 0/0 .text create__13daFireWood2_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daFireWood2_c::create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2/create__13daFireWood2_cFv.s"
int daFireWood2_c::create() {
fopAcM_SetupActor(this, daFireWood2_c);
setBaseMtx();
mCcStts.Init(0xFF, 0xFF, this);
mCcCyl.Set(mCcDCyl);
mCcCyl.SetStts(&mCcStts);
f32 min_x = l_cull_box.min.x * scale.x;
f32 min_y = l_cull_box.min.y * scale.y;
f32 min_z = l_cull_box.min.z * scale.x;
f32 max_x = l_cull_box.max.x * scale.x;
f32 max_y = l_cull_box.max.y * scale.y;
f32 max_z = l_cull_box.max.z * scale.x;
fopAcM_setCullSizeBox(this, min_x, min_y, min_z, max_x, max_y, max_y);
mFlamePos.x = current.pos.x;
mFlamePos.y = current.pos.y + l_HIO.mFlameOffsetY;
mFlamePos.z = current.pos.z;
for (int i = 0; i < 4; i++) {
mFlameEmtrIDs[i] = 0;
}
mIsPLight = fopAcM_GetParam(this) >> 0x10;
if (mIsPLight == 0xFF) {
mIsPLight = false;
}
lightInit();
mSwitchType = fopAcM_GetParam(this) >> 0x8;
if (mSwitchType == 0xFF) {
mSwitchType = 0;
}
mFlameType = fopAcM_GetParam(this) >> 0x18;
eyePos = mFlamePos;
mIsSwitch = fopAcM_isSwitch(this, fopAcM_GetParam(this) & 0xFF);
mIsLit = false;
if (mSwitchType == 0) {
if (mIsSwitch) {
mIsLit = true;
mCcCyl.SetAtMtrl(dCcD_MTRL_FIRE);
setLight();
}
} else if (!mIsSwitch) {
mIsLit = true;
mCcCyl.SetAtMtrl(dCcD_MTRL_FIRE);
setLight();
}
return cPhs_COMPLEATE_e;
}
#pragma pop
/* 80BE85B0-80BE85F8 000450 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// cM3dGCyl::~cM3dGCyl()
extern "C" asm void __dt__8cM3dGCylFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2/__dt__8cM3dGCylFv.s"
}
#pragma pop
/* 80BE85F8-80BE8640 000498 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// cM3dGAab::~cM3dGAab()
extern "C" asm void __dt__8cM3dGAabFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2/__dt__8cM3dGAabFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80BE8F40-80BE8F70 00000C 0030+00 1/1 0/0 0/0 .rodata mCcDObjInfo__13daFireWood2_c */
SECTION_RODATA u8 const daFireWood2_c::mCcDObjInfo[48] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13,
0xD8, 0xFB, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x79, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80BE8F40, &daFireWood2_c::mCcDObjInfo);
/* 80BE8F70-80BE8F74 00003C 0004+00 0/1 0/0 0/0 .rodata @3834 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3834 = 10.0f;
COMPILER_STRIP_GATE(0x80BE8F70, &lit_3834);
#pragma pop
/* 80BE8F74-80BE8F78 000040 0004+00 0/1 0/0 0/0 .rodata @3835 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3835 = 500.0f;
COMPILER_STRIP_GATE(0x80BE8F74, &lit_3835);
#pragma pop
/* 80BE8F78-80BE8F7C 000044 0004+00 1/3 0/0 0/0 .rodata @3836 */
SECTION_RODATA static f32 const lit_3836 = 1.0f;
COMPILER_STRIP_GATE(0x80BE8F78, &lit_3836);
/* 80BE8F7C-80BE8F80 000048 0004+00 0/2 0/0 0/0 .rodata @3837 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3837[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80BE8F7C, &lit_3837);
#pragma pop
/* 80BE8640-80BE86CC 0004E0 008C+00 1/1 0/0 0/0 .text lightInit__13daFireWood2_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daFireWood2_c::lightInit() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2/lightInit__13daFireWood2_cFv.s"
void daFireWood2_c::lightInit() {
mLightPos = mFlamePos;
mLightPos.y += 10.0f;
if (mIsPLight) {
mLightInfluence.mPosition = mLightPos;
mLightInfluence.mColor.r = 0xBC;
mLightInfluence.mColor.g = 0x66;
mLightInfluence.mColor.b = 0x42;
mLightInfluence.mPow = 500.0f;
mLightInfluence.mFluctuation = 1.0f;
} else {
mBossLightStrength = 0.0f;
}
}
#pragma pop
/* 80BE86CC-80BE86FC 00056C 0030+00 2/2 0/0 0/0 .text setLight__13daFireWood2_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daFireWood2_c::setLight() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2/setLight__13daFireWood2_cFv.s"
void daFireWood2_c::setLight() {
if (mIsPLight) {
dKy_plight_set(&mLightInfluence);
}
}
#pragma pop
/* 80BE86FC-80BE872C 00059C 0030+00 1/1 0/0 0/0 .text cutLight__13daFireWood2_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daFireWood2_c::cutLight() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2/cutLight__13daFireWood2_cFv.s"
void daFireWood2_c::cutLight() {
if (mIsPLight) {
dKy_plight_cut(&mLightInfluence);
}
}
#pragma pop
/* ############################################################################################## */
/* 80BE8F80-80BE8F84 00004C 0004+00 0/1 0/0 0/0 .rodata @3855 */
#pragma push
#pragma force_active on
SECTION_RODATA static u32 const lit_3855 = 0xBC6642FF;
COMPILER_STRIP_GATE(0x80BE8F80, &lit_3855);
#pragma pop
/* 80BE8F84-80BE8F88 000050 0004+00 0/1 0/0 0/0 .rodata @3863 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3863 = 0.5f;
COMPILER_STRIP_GATE(0x80BE8F84, &lit_3863);
#pragma pop
/* 80BE8F88-80BE8F8C 000054 0004+00 0/1 0/0 0/0 .rodata @3864 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3864 = 1.0f / 10.0f;
COMPILER_STRIP_GATE(0x80BE8F88, &lit_3864);
#pragma pop
/* 80BE8F8C-80BE8F90 000058 0004+00 0/1 0/0 0/0 .rodata @3865 */
#pragma push
#pragma force_active on
SECTION_RODATA static u32 const lit_3865 = 0x38D1B717;
COMPILER_STRIP_GATE(0x80BE8F8C, &lit_3865);
#pragma pop
/* 80BE8F90-80BE8F94 00005C 0004+00 0/1 0/0 0/0 .rodata @3866 */
#pragma push
#pragma force_active on
SECTION_RODATA static u32 const lit_3866 = 0x358637BD;
COMPILER_STRIP_GATE(0x80BE8F90, &lit_3866);
#pragma pop
/* 80BE872C-80BE87DC 0005CC 00B0+00 1/1 0/0 0/0 .text pointLightProc__13daFireWood2_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daFireWood2_c::pointLightProc() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2/pointLightProc__13daFireWood2_cFv.s"
}
#pragma pop
void daFireWood2_c::pointLightProc() {
if (!mIsPLight) {
GXColor color = {0xBC, 0x66, 0x42, 0xFF};
/* ############################################################################################## */
/* 80BE8F94-80BE8F98 000060 0004+00 1/2 0/0 0/0 .rodata @4018 */
SECTION_RODATA static f32 const lit_4018 = -1.0f;
COMPILER_STRIP_GATE(0x80BE8F94, &lit_4018);
if (mIsLit) {
cLib_addCalc(&mBossLightStrength, 1.0f, 0.5f, 0.1f, 0.0001f);
} else {
cLib_addCalc(&mBossLightStrength, 0.0f, 0.5f, 0.1f, 0.0001f);
}
if (mBossLightStrength >= 0.000001f) {
dKy_BossLight_set(&mLightPos, &color, mBossLightStrength, 0);
}
}
}
/* 80BE87DC-80BE8D98 00067C 05BC+00 1/1 0/0 0/0 .text Execute__13daFireWood2_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daFireWood2_c::Execute() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2/Execute__13daFireWood2_cFv.s"
int daFireWood2_c::Execute() {
u8 is_switch = fopAcM_isSwitch(this, fopAcM_GetParam(this) & 0xFF);
if (mIsSwitch != is_switch) {
mIsLit = false;
mCcCyl.SetAtMtrl(dCcD_MTRL_NONE);
cutLight();
if (mSwitchType == 0) {
if (is_switch) {
mIsLit = true;
mCcCyl.SetAtMtrl(dCcD_MTRL_FIRE);
setLight();
}
} else if (!is_switch) {
mIsLit = true;
mCcCyl.SetAtMtrl(dCcD_MTRL_FIRE);
setLight();
}
mIsSwitch = is_switch;
}
if (mIsLit) {
if (mFlameType == 1) {
mFlameEmtrIDs[0] =
dComIfGp_particle_set(mFlameEmtrIDs[0], 0x85A7, &mFlamePos, NULL, NULL);
mFlameEmtrIDs[1] =
dComIfGp_particle_set(mFlameEmtrIDs[1], 0x85BB, &mFlamePos, NULL, NULL);
mFlameEmtrIDs[2] =
dComIfGp_particle_set(mFlameEmtrIDs[2], 0x85BC, &mFlamePos, NULL, NULL);
mFlameEmtrIDs[3] =
dComIfGp_particle_set(mFlameEmtrIDs[3], 0x85BD, &mFlamePos, NULL, NULL);
} else {
mFlameEmtrIDs[0] =
dComIfGp_particle_set(mFlameEmtrIDs[0], 0x3AD, &mFlamePos, NULL, NULL);
mFlameEmtrIDs[1] =
dComIfGp_particle_set(mFlameEmtrIDs[1], 0x3AF, &mFlamePos, NULL, NULL);
mFlameEmtrIDs[2] =
dComIfGp_particle_set(mFlameEmtrIDs[2], 0x3AE, &mFlamePos, NULL, NULL);
}
mDoAud_seStartLevel(Z2SE_OBJ_FIRE_BURNING, &mFlamePos, 0,
dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
}
setBaseMtx();
if (mCcCyl.ChkTgHit()) {
dCcD_GObjInf* gobj = mCcCyl.GetTgHitGObj();
if (gobj->GetAtType() == AT_TYPE_LANTERN_SWING && gobj->GetAtMtrl() == dCcD_MTRL_FIRE &&
!mIsLit)
{
mIsLit = true;
mCcCyl.SetAtMtrl(dCcD_MTRL_FIRE);
if (mSwitchType == 0) {
fopAcM_onSwitch(this, fopAcM_GetParam(this) & 0xFF);
} else {
fopAcM_offSwitch(this, fopAcM_GetParam(this) & 0xFF);
}
mDoAud_seStart(Z2SE_OBJ_FIRE_IGNITION, &mFlamePos, 0,
dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
setLight();
}
if (gobj->GetAtType() == AT_TYPE_BOOMERANG && gobj->GetAtMtrl() == dCcD_MTRL_WIND &&
mIsLit == true)
{
mIsLit = false;
mCcCyl.SetAtMtrl(dCcD_MTRL_NONE);
if (mSwitchType == 0) {
fopAcM_offSwitch(this, fopAcM_GetParam(this) & 0xFF);
} else {
fopAcM_onSwitch(this, fopAcM_GetParam(this) & 0xFF);
}
mDoAud_seStart(Z2SE_OBJ_FIRE_OFF, &mFlamePos, 0,
dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
cutLight();
}
}
mCcCyl.SetR(l_HIO.mCollisionDiameter);
mCcCyl.SetH(l_HIO.mCollisionHeight);
mCcCyl.SetC(current.pos);
dComIfG_Ccsp()->Set(&mCcCyl);
pointLightProc();
return 1;
}
#pragma pop
/* 80BE8D98-80BE8DA0 000C38 0008+00 1/1 0/0 0/0 .text Draw__13daFireWood2_cFv */
int daFireWood2_c::Draw() {
@@ -373,77 +255,57 @@ int daFireWood2_c::Draw() {
}
/* 80BE8DA0-80BE8DD4 000C40 0034+00 1/1 0/0 0/0 .text Delete__13daFireWood2_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daFireWood2_c::Delete() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2/Delete__13daFireWood2_cFv.s"
int daFireWood2_c::Delete() {
if (mIsPLight) {
dKy_plight_cut(&mLightInfluence);
}
return 1;
}
#pragma pop
/* 80BE8DD4-80BE8DF4 000C74 0020+00 1/0 0/0 0/0 .text daFireWood2_Draw__FP13daFireWood2_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daFireWood2_Draw(daFireWood2_c* i_this) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2/daFireWood2_Draw__FP13daFireWood2_c.s"
static int daFireWood2_Draw(daFireWood2_c* i_this) {
return i_this->Draw();
}
#pragma pop
/* 80BE8DF4-80BE8E14 000C94 0020+00 1/0 0/0 0/0 .text daFireWood2_Execute__FP13daFireWood2_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daFireWood2_Execute(daFireWood2_c* i_this) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2/daFireWood2_Execute__FP13daFireWood2_c.s"
static int daFireWood2_Execute(daFireWood2_c* i_this) {
return i_this->Execute();
}
#pragma pop
/* 80BE8E14-80BE8E34 000CB4 0020+00 1/0 0/0 0/0 .text daFireWood2_Delete__FP13daFireWood2_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daFireWood2_Delete(daFireWood2_c* i_this) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2/daFireWood2_Delete__FP13daFireWood2_c.s"
static int daFireWood2_Delete(daFireWood2_c* i_this) {
return i_this->Delete();
}
#pragma pop
/* 80BE8E34-80BE8E54 000CD4 0020+00 1/0 0/0 0/0 .text daFireWood2_Create__FP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daFireWood2_Create(fopAc_ac_c* i_this) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2/daFireWood2_Create__FP10fopAc_ac_c.s"
static int daFireWood2_Create(fopAc_ac_c* i_this) {
return ((daFireWood2_c*)i_this)->create();
}
#pragma pop
/* 80BE8E54-80BE8EB0 000CF4 005C+00 2/1 0/0 0/0 .text __dt__17daFireWood2_HIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daFireWood2_HIO_c::~daFireWood2_HIO_c() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2/__dt__17daFireWood2_HIO_cFv.s"
}
#pragma pop
/* 80BE8FF4-80BE9014 -00001 0020+00 1/0 0/0 0/0 .data l_daFireWood2_Method */
static actor_method_class l_daFireWood2_Method = {
(process_method_func)daFireWood2_Create, (process_method_func)daFireWood2_Delete,
(process_method_func)daFireWood2_Execute, (process_method_func)NULL,
(process_method_func)daFireWood2_Draw,
};
/* 80BE8EB0-80BE8F20 000D50 0070+00 0/0 1/0 0/0 .text __sinit_d_a_obj_fireWood2_cpp */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __sinit_d_a_obj_fireWood2_cpp(){nofralloc
#include "asm/rel/d/a/obj/d_a_obj_fireWood2/d_a_obj_fireWood2/__sinit_d_a_obj_fireWood2_cpp.s"
}
#pragma pop
#pragma push
#pragma force_active on
REGISTER_CTORS(0x80BE8EB0, __sinit_d_a_obj_fireWood2_cpp);
#pragma pop
/* 80BE9014-80BE9044 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_FireWood2 */
extern actor_process_profile_definition g_profile_Obj_FireWood2 = {
fpcLy_CURRENT_e, // mLayerID
3, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_Lv1Cdl00, // mProcName
&g_fpcLf_Method.mBase, // sub_method
sizeof(daFireWood2_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
494, // mPriority
&l_daFireWood2_Method, // sub_method
0x00060000, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
@@ -1,166 +1,21 @@
/**
* @file d_a_obj_sWallShutter.cpp
*
*/
*
*/
#include "rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" void __ct__17daSwShutter_HIO_cFv();
extern "C" void __dt__14mDoHIO_entry_cFv();
extern "C" void setBaseMtx__13daSwShutter_cFv();
extern "C" void CreateHeap__13daSwShutter_cFv();
extern "C" void create__13daSwShutter_cFv();
extern "C" void Execute__13daSwShutter_cFPPA3_A4_f();
extern "C" void moveMain__13daSwShutter_cFv();
extern "C" void init_modeWait__13daSwShutter_cFv();
extern "C" void modeWait__13daSwShutter_cFv();
extern "C" void init_modeMoveDownInit__13daSwShutter_cFv();
extern "C" void modeMoveDownInit__13daSwShutter_cFv();
extern "C" void init_modeMoveDown__13daSwShutter_cFv();
extern "C" void modeMoveDown__13daSwShutter_cFv();
extern "C" void init_modeMoveDownEnd__13daSwShutter_cFv();
extern "C" void modeMoveDownEnd__13daSwShutter_cFv();
extern "C" void Draw__13daSwShutter_cFv();
extern "C" void Delete__13daSwShutter_cFv();
extern "C" static void daSwShutter_Draw__FP13daSwShutter_c();
extern "C" static void daSwShutter_Execute__FP13daSwShutter_c();
extern "C" static void daSwShutter_Delete__FP13daSwShutter_c();
extern "C" static void daSwShutter_Create__FP10fopAc_ac_c();
extern "C" void __dt__17daSwShutter_HIO_cFv();
extern "C" void __sinit_d_a_obj_sWallShutter_cpp();
extern "C" extern char const* const d_a_obj_sWallShutter__stringBase0;
//
// External References:
//
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void dComIfGp_getReverb__Fi();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void
set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void StartShock__12dVibration_cFii4cXyz();
extern "C" void StartQuake__12dVibration_cFii4cXyz();
extern "C" void StopQuake__12dVibration_cFi();
extern "C" void dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
extern "C" void __ct__16dBgS_MoveBgActorFv();
extern "C" bool Create__16dBgS_MoveBgActorFv();
extern "C" bool IsDelete__16dBgS_MoveBgActorFv();
extern "C" bool ToFore__16dBgS_MoveBgActorFv();
extern "C" bool ToBack__16dBgS_MoveBgActorFv();
extern "C" void
MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f();
extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv();
extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void cLib_addCalc__FPfffff();
extern "C" void cLib_chaseF__FPfff();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void __dl__FPv();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" void __register_global_object();
//
// Declarations:
//
/* ############################################################################################## */
/* 80598F78-80598F7C 000000 0004+00 6/6 0/0 0/0 .rodata @3630 */
SECTION_RODATA static u8 const lit_3630[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80598F78, &lit_3630);
/* 80598F7C-80598F80 000004 0004+00 0/1 0/0 0/0 .rodata @3631 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3631 = 100.0f;
COMPILER_STRIP_GATE(0x80598F7C, &lit_3631);
#pragma pop
/* 80598F80-80598F84 000008 0004+00 0/1 0/0 0/0 .rodata @3632 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3632 = 1.0f / 5.0f;
COMPILER_STRIP_GATE(0x80598F80, &lit_3632);
#pragma pop
/* 80598F84-80598F88 00000C 0004+00 0/1 0/0 0/0 .rodata @3633 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3633 = 90.0f;
COMPILER_STRIP_GATE(0x80598F84, &lit_3633);
#pragma pop
/* 80598F88-80598F8C 000010 0004+00 0/1 0/0 0/0 .rodata @3634 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3634 = 45.0f;
COMPILER_STRIP_GATE(0x80598F88, &lit_3634);
#pragma pop
/* 80598F8C-80598F90 000014 0004+00 0/1 0/0 0/0 .rodata @3635 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3635 = 150.0f;
COMPILER_STRIP_GATE(0x80598F8C, &lit_3635);
#pragma pop
/* 80598F90-80598F94 000018 0004+00 0/1 0/0 0/0 .rodata @3636 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3636 = 1.0f / 10.0f;
COMPILER_STRIP_GATE(0x80598F90, &lit_3636);
#pragma pop
/* 80598F94-80598F98 00001C 0004+00 0/1 0/0 0/0 .rodata @3637 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3637 = 5.0f;
COMPILER_STRIP_GATE(0x80598F94, &lit_3637);
#pragma pop
/* 80598FB8-80598FB8 000040 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80598FB8 = "P_Rgate";
SECTION_DEAD static char const* const stringBase_80598FC0 = "SDGate";
#pragma pop
#include "SSystem/SComponent/c_math.h"
#include "d/com/d_com_inf_game.h"
/* 80598FC8-80598FD4 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80598FD4-80598FE8 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
#pragma push
#pragma force_active on
SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
static u32 lit_1787[1 + 4 /* padding */] = {
0x02000201,
/* padding */
0x40080000,
@@ -171,400 +26,277 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
#pragma pop
/* 80598FE8-80598FF0 -00001 0008+00 3/3 0/0 0/0 .data l_resNameIdx */
SECTION_DATA static void* l_resNameIdx[2] = {
(void*)&d_a_obj_sWallShutter__stringBase0,
(void*)(((char*)&d_a_obj_sWallShutter__stringBase0) + 0x8),
static char* l_resNameIdx[2] = {
"P_Rgate",
"SDGate",
};
/* 80598FF0-80598FFC -00001 000C+00 0/1 0/0 0/0 .data @3746 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3746[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)modeWait__13daSwShutter_cFv,
};
#pragma pop
/* 805981EC-8059825C 0000EC 0070+00 1/1 0/0 0/0 .text __ct__17daSwShutter_HIO_cFv */
daSwShutter_HIO_c::daSwShutter_HIO_c() {
mInitSpeed = 0.0f;
mMaxSpeed = 100.0f;
mAcceleration = 0.2f;
mVibrationStrength = 4;
mShakeAmpZ = 90.0f;
mShakeAmpY = 45.0f;
mShakeStrength = 150.0f;
mShakeAtten = 0.1f;
mMaxAtten = 5.0f;
mMinAtten = 0.1f;
}
/* 80598FFC-80599008 -00001 000C+00 0/1 0/0 0/0 .data @3747 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3747[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)modeMoveDownInit__13daSwShutter_cFv,
};
#pragma pop
/* 805982A4-80598344 0001A4 00A0+00 2/2 0/0 0/0 .text setBaseMtx__13daSwShutter_cFv */
void daSwShutter_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
mDoMtx_stack_c::ZXYrotM(mShakeRot.x, mShakeRot.y, mShakeRot.z);
/* 80599008-80599014 -00001 000C+00 0/1 0/0 0/0 .data @3748 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3748[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)modeMoveDown__13daSwShutter_cFv,
};
#pragma pop
mpModel->setBaseScale(scale);
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
}
/* 80599014-80599020 -00001 000C+00 0/1 0/0 0/0 .data @3749 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3749[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)modeMoveDownEnd__13daSwShutter_cFv,
};
#pragma pop
/* 80598F98-80598FA0 000020 0008+00 1/1 0/0 0/0 .rodata l_bmdIdx */
static const int l_bmdIdx[2] = {4, 4};
/* 80599020-80599050 000058 0030+00 0/1 0/0 0/0 .data mode_proc$3745 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 mode_proc[48] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#pragma pop
/* 80598344-805983C4 000244 0080+00 1/0 0/0 0/0 .text CreateHeap__13daSwShutter_cFv */
int daSwShutter_c::CreateHeap() {
J3DModelData* modelData =
(J3DModelData*)dComIfG_getObjectRes(l_resNameIdx[mModelType], l_bmdIdx[mModelType]);
JUT_ASSERT(199, modelData != 0);
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
if (mpModel == NULL) {
return 0;
}
return 1;
}
/* 80598FA0-80598FA8 000028 0008+00 0/1 0/0 0/0 .rodata l_dzbIdx */
static const int l_dzbIdx[2] = {7, 7};
/* 805983C4-80598564 0002C4 01A0+00 1/1 0/0 0/0 .text create__13daSwShutter_cFv */
int daSwShutter_c::create() {
fopAcM_SetupActor(this, daSwShutter_c);
mModelType = getModelType();
if (mModelType == 0xF) {
mModelType = TYPE_ROCKWALL_e;
}
int phase_state = dComIfG_resLoad(&mPhase, l_resNameIdx[mModelType]);
if (phase_state == cPhs_COMPLEATE_e) {
if (MoveBGCreate(l_resNameIdx[mModelType], l_dzbIdx[mModelType],
dBgS_MoveBGProc_TypicalRotY, 0x1000, NULL) == cPhs_ERROR_e)
{
return cPhs_ERROR_e;
}
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
mCounter = 0;
field_0x5b0 = 0.0f;
if (fopAcM_isSwitch(this, getSwBit())) {
current.pos.y += -450.0f;
init_modeMoveDownEnd();
} else {
mShakeRot.x = 0;
mShakeRot.y = 0;
mShakeRot.z = 0;
mShakeStrength = 0.0f;
mShakeAmpY = 0.0f;
mShakeAmpZ = 0.0f;
mShakeAtten = 0.0f;
mMaxAtten = 0.0f;
mMinAtten = 0.0f;
init_modeWait();
}
setBaseMtx();
}
return phase_state;
}
/* 80598564-805985B4 000464 0050+00 1/0 0/0 0/0 .text Execute__13daSwShutter_cFPPA3_A4_f
*/
int daSwShutter_c::Execute(Mtx** param_0) {
moveMain();
*param_0 = &mpModel->getBaseTRMtx();
setBaseMtx();
return 1;
}
/* 805990F4-80599120 000014 002C+00 4/4 0/0 0/0 .bss l_HIO */
static daSwShutter_HIO_c l_HIO;
/* 805985B4-8059873C 0004B4 0188+00 1/1 0/0 0/0 .text moveMain__13daSwShutter_cFv */
void daSwShutter_c::moveMain() {
typedef void (daSwShutter_c::*modeFunc)();
static modeFunc mode_proc[] = {
&daSwShutter_c::modeWait,
&daSwShutter_c::modeMoveDownInit,
&daSwShutter_c::modeMoveDown,
&daSwShutter_c::modeMoveDownEnd,
};
(this->*mode_proc[mMode])();
mShakeRot.z = mShakeStrength * cM_scos(mCounter * (s16)cM_deg2s(mShakeAmpY));
mShakeRot.y = mShakeStrength * cM_ssin(mCounter * (s16)cM_deg2s(mShakeAmpZ));
cLib_addCalc(&mShakeStrength, 0.0f, mShakeAtten, mMaxAtten, mMinAtten);
mCounter++;
}
/* 8059873C-80598748 00063C 000C+00 1/1 0/0 0/0 .text init_modeWait__13daSwShutter_cFv */
void daSwShutter_c::init_modeWait() {
mMode = MODE_WAIT;
}
/* 80598748-8059879C 000648 0054+00 1/0 0/0 0/0 .text modeWait__13daSwShutter_cFv */
void daSwShutter_c::modeWait() {
if (fopAcM_isSwitch(this, getSwBit())) {
init_modeMoveDownInit();
}
}
/* 8059879C-805989D0 00069C 0234+00 1/1 0/0 0/0 .text init_modeMoveDownInit__13daSwShutter_cFv */
void daSwShutter_c::init_modeMoveDownInit() {
mShakeStrength = l_HIO.mShakeStrength;
mShakeAmpY = l_HIO.mShakeAmpY;
mShakeAmpZ = l_HIO.mShakeAmpZ;
mShakeAtten = l_HIO.mShakeAtten;
mMaxAtten = l_HIO.mMaxAtten;
mMinAtten = l_HIO.mMinAtten;
if (mModelType == TYPE_SUBDAN_e) {
dComIfGp_particle_set(0x8C73, &current.pos, &shape_angle, NULL);
dComIfGp_particle_set(0x8C74, &current.pos, &shape_angle, NULL);
} else {
dComIfGp_particle_set(0x8709, &current.pos, &shape_angle, NULL);
dComIfGp_particle_set(0x870A, &current.pos, &shape_angle, NULL);
}
mDoAud_seStart(Z2SE_OBJ_WALLSHUTTER_OPEN, &current.pos, 0,
dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
dComIfGp_getVibration().StartQuake(2, 15, cXyz(0.0f, 1.0f, 0.0f));
mMode = MODE_MOVE_DOWN_INIT;
}
/* 805989D0-80598A04 0008D0 0034+00 1/0 0/0 0/0 .text modeMoveDownInit__13daSwShutter_cFv
*/
void daSwShutter_c::modeMoveDownInit() {
if (mShakeStrength == 0.0f) {
init_modeMoveDown();
}
}
/* 80598A04-80598AFC 000904 00F8+00 1/1 0/0 0/0 .text init_modeMoveDown__13daSwShutter_cFv */
void daSwShutter_c::init_modeMoveDown() {
fopAcM_SetSpeedF(this, l_HIO.mInitSpeed);
if (mModelType == TYPE_SUBDAN_e) {
dComIfGp_particle_set(0x8C77, &current.pos, &shape_angle, NULL);
} else {
dComIfGp_particle_set(0x870D, &current.pos, &shape_angle, NULL);
}
mMode = MODE_MOVE_DOWN;
}
/* 80598AFC-80598D4C 0009FC 0250+00 1/0 0/0 0/0 .text modeMoveDown__13daSwShutter_cFv */
void daSwShutter_c::modeMoveDown() {
cLib_chaseF(&speedF, l_HIO.mMaxSpeed, l_HIO.mAcceleration);
f32 target_dist =
cLib_addCalc(&current.pos.y, home.pos.y + -450.0f, 1.0f, fopAcM_GetSpeedF(this), 1.0f);
if (mModelType == TYPE_SUBDAN_e) {
mEmitterID0 = dComIfGp_particle_set(mEmitterID0, 0x8C75, &current.pos, &shape_angle, NULL);
mEmitterID1 = dComIfGp_particle_set(mEmitterID1, 0x8C76, &current.pos, &shape_angle, NULL);
} else {
mEmitterID0 = dComIfGp_particle_set(mEmitterID0, 0x870B, &current.pos, &shape_angle, NULL);
mEmitterID1 = dComIfGp_particle_set(mEmitterID1, 0x870C, &current.pos, &shape_angle, NULL);
}
if (target_dist == 0.0f) {
dComIfGp_getVibration().StopQuake(15);
dComIfGp_getVibration().StartShock(l_HIO.mVibrationStrength, 15, cXyz(0.0f, 1.0f, 0.0f));
init_modeMoveDownEnd();
}
}
/* 80598D4C-80598D58 000C4C 000C+00 2/2 0/0 0/0 .text init_modeMoveDownEnd__13daSwShutter_cFv */
void daSwShutter_c::init_modeMoveDownEnd() {
mMode = MODE_MOVE_DOWN_END;
}
/* 80598D58-80598D5C 000C58 0004+00 1/0 0/0 0/0 .text modeMoveDownEnd__13daSwShutter_cFv
*/
void daSwShutter_c::modeMoveDownEnd() {}
/* 80598D5C-80598E00 000C5C 00A4+00 1/0 0/0 0/0 .text Draw__13daSwShutter_cFv */
int daSwShutter_c::Draw() {
g_env_light.settingTevStruct(16, &current.pos, &tevStr);
g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr);
dComIfGd_setListBG();
mDoExt_modelUpdateDL(mpModel);
dComIfGd_setList();
return 1;
}
/* 80598E00-80598E40 000D00 0040+00 1/0 0/0 0/0 .text Delete__13daSwShutter_cFv */
int daSwShutter_c::Delete() {
dComIfG_resDelete(&mPhase, l_resNameIdx[mModelType]);
return 1;
}
/* 80598E40-80598E6C 000D40 002C+00 1/0 0/0 0/0 .text daSwShutter_Draw__FP13daSwShutter_c
*/
static int daSwShutter_Draw(daSwShutter_c* i_this) {
return i_this->MoveBGDraw();
}
/* 80598E6C-80598E8C 000D6C 0020+00 1/0 0/0 0/0 .text daSwShutter_Execute__FP13daSwShutter_c */
static int daSwShutter_Execute(daSwShutter_c* i_this) {
return i_this->MoveBGExecute();
}
/* 80598E8C-80598EAC 000D8C 0020+00 1/0 0/0 0/0 .text daSwShutter_Delete__FP13daSwShutter_c */
static int daSwShutter_Delete(daSwShutter_c* i_this) {
return i_this->MoveBGDelete();
}
/* 80598EAC-80598ECC 000DAC 0020+00 1/0 0/0 0/0 .text daSwShutter_Create__FP10fopAc_ac_c
*/
static int daSwShutter_Create(fopAc_ac_c* i_this) {
return ((daSwShutter_c*)i_this)->create();
}
/* 80599050-80599070 -00001 0020+00 1/0 0/0 0/0 .data l_daSwShutter_Method */
static actor_method_class l_daSwShutter_Method = {
(process_method_func)daSwShutter_Create__FP10fopAc_ac_c,
(process_method_func)daSwShutter_Delete__FP13daSwShutter_c,
(process_method_func)daSwShutter_Execute__FP13daSwShutter_c,
0,
(process_method_func)daSwShutter_Draw__FP13daSwShutter_c,
(process_method_func)daSwShutter_Create, (process_method_func)daSwShutter_Delete,
(process_method_func)daSwShutter_Execute, (process_method_func)NULL,
(process_method_func)daSwShutter_Draw,
};
/* 80599070-805990A0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_SwallShutter */
extern actor_process_profile_definition g_profile_Obj_SwallShutter = {
fpcLy_CURRENT_e, // mLayerID
3, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_SwallShutter, // mProcName
&g_fpcLf_Method.mBase, // sub_method
sizeof(daSwShutter_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
619, // mPriority
&l_daSwShutter_Method, // sub_method
0x00044000, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
fpcLy_CURRENT_e, // mLayerID
3, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_SwallShutter, // mProcName
&g_fpcLf_Method.mBase, // sub_method
sizeof(daSwShutter_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
619, // mPriority
&l_daSwShutter_Method, // sub_method
0x00044000, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
/* 805990A0-805990C8 0000D8 0028+00 1/1 0/0 0/0 .data __vt__13daSwShutter_c */
SECTION_DATA extern void* __vt__13daSwShutter_c[10] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)CreateHeap__13daSwShutter_cFv,
(void*)Create__16dBgS_MoveBgActorFv,
(void*)Execute__13daSwShutter_cFPPA3_A4_f,
(void*)Draw__13daSwShutter_cFv,
(void*)Delete__13daSwShutter_cFv,
(void*)IsDelete__16dBgS_MoveBgActorFv,
(void*)ToFore__16dBgS_MoveBgActorFv,
(void*)ToBack__16dBgS_MoveBgActorFv,
};
/* 805990C8-805990D4 000100 000C+00 2/2 0/0 0/0 .data __vt__17daSwShutter_HIO_c */
SECTION_DATA extern void* __vt__17daSwShutter_HIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__17daSwShutter_HIO_cFv,
};
/* 805990D4-805990E0 00010C 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */
SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__14mDoHIO_entry_cFv,
};
/* 805981EC-8059825C 0000EC 0070+00 1/1 0/0 0/0 .text __ct__17daSwShutter_HIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daSwShutter_HIO_c::daSwShutter_HIO_c() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/__ct__17daSwShutter_HIO_cFv.s"
}
#pragma pop
/* 8059825C-805982A4 00015C 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm mDoHIO_entry_c::~mDoHIO_entry_c() {
extern "C" asm void __dt__14mDoHIO_entry_cFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/__dt__14mDoHIO_entry_cFv.s"
}
#pragma pop
/* 805982A4-80598344 0001A4 00A0+00 2/2 0/0 0/0 .text setBaseMtx__13daSwShutter_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daSwShutter_c::setBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/setBaseMtx__13daSwShutter_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80598F98-80598FA0 000020 0008+00 1/1 0/0 0/0 .rodata l_bmdIdx */
SECTION_RODATA static u8 const l_bmdIdx[8] = {
0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04,
};
COMPILER_STRIP_GATE(0x80598F98, &l_bmdIdx);
/* 80598344-805983C4 000244 0080+00 1/0 0/0 0/0 .text CreateHeap__13daSwShutter_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daSwShutter_c::CreateHeap() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/CreateHeap__13daSwShutter_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80598FA0-80598FA8 000028 0008+00 0/1 0/0 0/0 .rodata l_dzbIdx */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const l_dzbIdx[8] = {
0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07,
};
COMPILER_STRIP_GATE(0x80598FA0, &l_dzbIdx);
#pragma pop
/* 80598FA8-80598FAC 000030 0004+00 0/2 0/0 0/0 .rodata @3730 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3730 = -450.0f;
COMPILER_STRIP_GATE(0x80598FA8, &lit_3730);
#pragma pop
/* 805983C4-80598564 0002C4 01A0+00 1/1 0/0 0/0 .text create__13daSwShutter_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daSwShutter_c::create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/create__13daSwShutter_cFv.s"
}
#pragma pop
/* 80598564-805985B4 000464 0050+00 1/0 0/0 0/0 .text Execute__13daSwShutter_cFPPA3_A4_f
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daSwShutter_c::Execute(f32 (**param_0)[3][4]) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/Execute__13daSwShutter_cFPPA3_A4_f.s"
}
#pragma pop
/* ############################################################################################## */
/* 80598FAC-80598FB0 000034 0004+00 1/1 0/0 0/0 .rodata @3766 */
SECTION_RODATA static u32 const lit_3766 = 0x43360B61;
COMPILER_STRIP_GATE(0x80598FAC, &lit_3766);
/* 805990E8-805990F4 000008 000C+00 1/1 0/0 0/0 .bss @3624 */
static u8 lit_3624[12];
/* 805990F4-80599120 000014 002C+00 4/4 0/0 0/0 .bss l_HIO */
static u8 l_HIO[44];
/* 80599120-80599124 000040 0004+00 1/1 0/0 0/0 .bss None */
static u8 data_80599120[4];
/* 805985B4-8059873C 0004B4 0188+00 1/1 0/0 0/0 .text moveMain__13daSwShutter_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daSwShutter_c::moveMain() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/moveMain__13daSwShutter_cFv.s"
}
#pragma pop
/* 8059873C-80598748 00063C 000C+00 1/1 0/0 0/0 .text init_modeWait__13daSwShutter_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daSwShutter_c::init_modeWait() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/init_modeWait__13daSwShutter_cFv.s"
}
#pragma pop
/* 80598748-8059879C 000648 0054+00 1/0 0/0 0/0 .text modeWait__13daSwShutter_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daSwShutter_c::modeWait() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/modeWait__13daSwShutter_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80598FB0-80598FB4 000038 0004+00 1/3 0/0 0/0 .rodata @3826 */
SECTION_RODATA static f32 const lit_3826 = 1.0f;
COMPILER_STRIP_GATE(0x80598FB0, &lit_3826);
/* 80598FB4-80598FB8 00003C 0004+00 0/1 0/0 0/0 .rodata @3827 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3827 = -1.0f;
COMPILER_STRIP_GATE(0x80598FB4, &lit_3827);
#pragma pop
/* 8059879C-805989D0 00069C 0234+00 1/1 0/0 0/0 .text init_modeMoveDownInit__13daSwShutter_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daSwShutter_c::init_modeMoveDownInit() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/init_modeMoveDownInit__13daSwShutter_cFv.s"
}
#pragma pop
/* 805989D0-80598A04 0008D0 0034+00 1/0 0/0 0/0 .text modeMoveDownInit__13daSwShutter_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daSwShutter_c::modeMoveDownInit() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/modeMoveDownInit__13daSwShutter_cFv.s"
}
#pragma pop
/* 80598A04-80598AFC 000904 00F8+00 1/1 0/0 0/0 .text init_modeMoveDown__13daSwShutter_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daSwShutter_c::init_modeMoveDown() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/init_modeMoveDown__13daSwShutter_cFv.s"
}
#pragma pop
/* 80598AFC-80598D4C 0009FC 0250+00 1/0 0/0 0/0 .text modeMoveDown__13daSwShutter_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daSwShutter_c::modeMoveDown() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/modeMoveDown__13daSwShutter_cFv.s"
}
#pragma pop
/* 80598D4C-80598D58 000C4C 000C+00 2/2 0/0 0/0 .text init_modeMoveDownEnd__13daSwShutter_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daSwShutter_c::init_modeMoveDownEnd() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/init_modeMoveDownEnd__13daSwShutter_cFv.s"
}
#pragma pop
/* 80598D58-80598D5C 000C58 0004+00 1/0 0/0 0/0 .text modeMoveDownEnd__13daSwShutter_cFv
*/
void daSwShutter_c::modeMoveDownEnd() {
/* empty function */
}
/* 80598D5C-80598E00 000C5C 00A4+00 1/0 0/0 0/0 .text Draw__13daSwShutter_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daSwShutter_c::Draw() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/Draw__13daSwShutter_cFv.s"
}
#pragma pop
/* 80598E00-80598E40 000D00 0040+00 1/0 0/0 0/0 .text Delete__13daSwShutter_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daSwShutter_c::Delete() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/Delete__13daSwShutter_cFv.s"
}
#pragma pop
/* 80598E40-80598E6C 000D40 002C+00 1/0 0/0 0/0 .text daSwShutter_Draw__FP13daSwShutter_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daSwShutter_Draw(daSwShutter_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/daSwShutter_Draw__FP13daSwShutter_c.s"
}
#pragma pop
/* 80598E6C-80598E8C 000D6C 0020+00 1/0 0/0 0/0 .text daSwShutter_Execute__FP13daSwShutter_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daSwShutter_Execute(daSwShutter_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/daSwShutter_Execute__FP13daSwShutter_c.s"
}
#pragma pop
/* 80598E8C-80598EAC 000D8C 0020+00 1/0 0/0 0/0 .text daSwShutter_Delete__FP13daSwShutter_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daSwShutter_Delete(daSwShutter_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/daSwShutter_Delete__FP13daSwShutter_c.s"
}
#pragma pop
/* 80598EAC-80598ECC 000DAC 0020+00 1/0 0/0 0/0 .text daSwShutter_Create__FP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daSwShutter_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/daSwShutter_Create__FP10fopAc_ac_c.s"
}
#pragma pop
/* 80598ECC-80598F28 000DCC 005C+00 2/1 0/0 0/0 .text __dt__17daSwShutter_HIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daSwShutter_HIO_c::~daSwShutter_HIO_c() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/__dt__17daSwShutter_HIO_cFv.s"
}
#pragma pop
/* 80598F28-80598F64 000E28 003C+00 0/0 1/0 0/0 .text __sinit_d_a_obj_sWallShutter_cpp */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __sinit_d_a_obj_sWallShutter_cpp() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_sWallShutter/d_a_obj_sWallShutter/__sinit_d_a_obj_sWallShutter_cpp.s"
}
#pragma pop
#pragma push
#pragma force_active on
REGISTER_CTORS(0x80598F28, __sinit_d_a_obj_sWallShutter_cpp);
#pragma pop
/* 80598FB8-80598FB8 000040 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+42 -15
View File
@@ -1,6 +1,6 @@
/**
* @file d_a_obj_zraMark.cpp
*
* Iza's River Ride Destructible Buoy
*/
#include "rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark.h"
@@ -111,7 +111,6 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" extern void* __vt__16Z2SoundObjSimple[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_meter2_info[248];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
@@ -121,6 +120,7 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
/* 80D42658-80D42678 000078 0020+00 1/1 0/0 0/0 .text createSolidHeap__FP10fopAc_ac_c */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -258,10 +258,11 @@ SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
};
/* 80D42678-80D4287C 000098 0204+00 1/1 0/0 0/0 .text Create__14daObjZraMark_cFv */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjZraMark_c::Create() {
asm int daObjZraMark_c::Create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark/Create__14daObjZraMark_cFv.s"
}
@@ -290,50 +291,55 @@ COMPILER_STRIP_GATE(0x80D43E0C, &lit_4124);
#pragma pop
/* 80D4287C-80D42A7C 00029C 0200+00 1/1 0/0 0/0 .text CreateHeap__14daObjZraMark_cFv */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjZraMark_c::CreateHeap() {
asm int daObjZraMark_c::CreateHeap() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark/CreateHeap__14daObjZraMark_cFv.s"
}
#pragma pop
/* 80D42A7C-80D42B0C 00049C 0090+00 1/1 0/0 0/0 .text Execute__14daObjZraMark_cFv */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjZraMark_c::Execute() {
asm int daObjZraMark_c::Execute() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark/Execute__14daObjZraMark_cFv.s"
}
#pragma pop
/* 80D42B0C-80D42C98 00052C 018C+00 1/1 0/0 0/0 .text Draw__14daObjZraMark_cFv */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjZraMark_c::Draw() {
asm int daObjZraMark_c::Draw() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark/Draw__14daObjZraMark_cFv.s"
}
#pragma pop
/* 80D42C98-80D42CE0 0006B8 0048+00 1/1 0/0 0/0 .text Delete__14daObjZraMark_cFv */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjZraMark_c::Delete() {
asm int daObjZraMark_c::Delete() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark/Delete__14daObjZraMark_cFv.s"
}
#pragma pop
/* 80D42CE0-80D42D2C 000700 004C+00 1/1 0/0 0/0 .text getType__14daObjZraMark_cFv */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjZraMark_c::getType() {
asm int daObjZraMark_c::getType() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark/getType__14daObjZraMark_cFv.s"
}
@@ -359,6 +365,7 @@ COMPILER_STRIP_GATE(0x80D43E40, &lit_4296);
#pragma pop
/* 80D42D2C-80D42EE0 00074C 01B4+00 2/2 0/0 0/0 .text setBaseMtx__14daObjZraMark_cFv */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -369,6 +376,7 @@ asm void daObjZraMark_c::setBaseMtx() {
#pragma pop
/* 80D42EE0-80D42F5C 000900 007C+00 1/1 0/0 0/0 .text col_init__14daObjZraMark_cFv */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -388,6 +396,7 @@ SECTION_RODATA static f32 const lit_4401 = -1.0f;
COMPILER_STRIP_GATE(0x80D43E48, &lit_4401);
/* 80D42F5C-80D432C8 00097C 036C+00 1/1 0/0 0/0 .text col_set__14daObjZraMark_cFv */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -398,10 +407,11 @@ asm void daObjZraMark_c::col_set() {
#pragma pop
/* 80D432C8-80D43314 000CE8 004C+00 1/1 0/0 0/0 .text schHoz__14daObjZraMark_cFv */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjZraMark_c::schHoz() {
asm daNpc_Hoz_c* daObjZraMark_c::schHoz() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark/schHoz__14daObjZraMark_cFv.s"
}
@@ -409,16 +419,18 @@ asm void daObjZraMark_c::schHoz() {
/* 80D43314-80D43370 000D34 005C+00 0/0 0/0 1/1 .text entryPointer__14daObjZraMark_cFP10fopAc_ac_c
*/
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjZraMark_c::entryPointer(fopAc_ac_c* param_0) {
asm bool daObjZraMark_c::entryPointer(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark/entryPointer__14daObjZraMark_cFP10fopAc_ac_c.s"
}
#pragma pop
/* 80D43370-80D433F4 000D90 0084+00 1/1 0/0 0/0 .text informBlast__14daObjZraMark_cFv */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -429,6 +441,7 @@ asm void daObjZraMark_c::informBlast() {
#pragma pop
/* 80D433F4-80D43414 000E14 0020+00 1/0 0/0 0/0 .text daObjZraMark_Execute__FP14daObjZraMark_c */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -439,6 +452,7 @@ static asm void daObjZraMark_Execute(daObjZraMark_c* param_0) {
#pragma pop
/* 80D43414-80D43434 000E34 0020+00 1/0 0/0 0/0 .text daObjZraMark_Draw__FP14daObjZraMark_c */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -454,6 +468,7 @@ static bool daObjZraMark_IsDelete(daObjZraMark_c* param_0) {
}
/* 80D4343C-80D4345C 000E5C 0020+00 1/0 0/0 0/0 .text daObjZraMark_Delete__FP14daObjZraMark_c */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -465,6 +480,7 @@ static asm void daObjZraMark_Delete(daObjZraMark_c* param_0) {
/* 80D4345C-80D4347C 000E7C 0020+00 1/0 0/0 0/0 .text daObjZraMark_create__FP10fopAc_ac_c
*/
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -476,10 +492,11 @@ static asm void daObjZraMark_create(fopAc_ac_c* param_0) {
/* 80D4347C-80D434F8 000E9C 007C+00 1/1 0/0 0/0 .text create__16_ZraMark_Hahen_cFRC4cXyzScScScSc
*/
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void _ZraMark_Hahen_c::create(cXyz const& param_0, s8 param_1, s8 param_2, s8 param_3,
asm int _ZraMark_Hahen_c::create(cXyz const& param_0, s8 param_1, s8 param_2, s8 param_3,
s8 param_4) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark/create__16_ZraMark_Hahen_cFRC4cXyzScScScSc.s"
@@ -494,10 +511,11 @@ SECTION_RODATA static u8 const sHahenBmdType[8] = {
COMPILER_STRIP_GATE(0x80D43E4C, &sHahenBmdType);
/* 80D434F8-80D4357C 000F18 0084+00 1/1 0/0 0/0 .text loadModel__16_ZraMark_Hahen_cFv */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void _ZraMark_Hahen_c::loadModel() {
asm BOOL _ZraMark_Hahen_c::loadModel() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark/loadModel__16_ZraMark_Hahen_cFv.s"
}
@@ -606,6 +624,7 @@ static u8 roottype[4];
static u8 data_80D44024[4];
/* 80D4357C-80D43808 000F9C 028C+00 1/1 0/0 0/0 .text init__16_ZraMark_Hahen_cFRC4cXyzScScSc */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -621,6 +640,7 @@ SECTION_RODATA static f32 const lit_4571 = 9.0f;
COMPILER_STRIP_GATE(0x80D43F8C, &lit_4571);
/* 80D43808-80D43864 001228 005C+00 1/1 0/0 0/0 .text calcSpeed__16_ZraMark_Hahen_cFv */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -631,6 +651,7 @@ asm void _ZraMark_Hahen_c::calcSpeed() {
#pragma pop
/* 80D43864-80D438C8 001284 0064+00 2/2 0/0 0/0 .text setMtx__16_ZraMark_Hahen_cFv */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -641,6 +662,7 @@ asm void _ZraMark_Hahen_c::setMtx() {
#pragma pop
/* 80D438C8-80D43968 0012E8 00A0+00 1/1 0/0 0/0 .text draw__16_ZraMark_Hahen_cFv */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -652,10 +674,11 @@ asm void _ZraMark_Hahen_c::draw() {
/* 80D43968-80D439F8 001388 0090+00 1/1 0/0 0/0 .text
* create__20_ZraMark_Hahen_Mng_cFRC4cXyzScScScSc */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void _ZraMark_Hahen_Mng_c::create(cXyz const& param_0, s8 param_1, s8 param_2, s8 param_3,
asm int _ZraMark_Hahen_Mng_c::create(cXyz const& param_0, s8 param_1, s8 param_2, s8 param_3,
s8 param_4) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark/create__20_ZraMark_Hahen_Mng_cFRC4cXyzScScScSc.s"
@@ -663,6 +686,7 @@ asm void _ZraMark_Hahen_Mng_c::create(cXyz const& param_0, s8 param_1, s8 param_
#pragma pop
/* 80D439F8-80D43A74 001418 007C+00 1/1 0/0 0/0 .text calc__20_ZraMark_Hahen_Mng_cFv */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -673,6 +697,7 @@ asm void _ZraMark_Hahen_Mng_c::calc() {
#pragma pop
/* 80D43A74-80D43ACC 001494 0058+00 1/1 0/0 0/0 .text draw__20_ZraMark_Hahen_Mng_cFv */
// matches with literals
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -703,7 +728,8 @@ extern "C" asm void func_80D43ACC(void* _this, int param_0, int param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm _ZraMark_Hahen_c::~_ZraMark_Hahen_c() {
// asm _ZraMark_Hahen_c::~_ZraMark_Hahen_c() {
extern "C" asm void __dt__16_ZraMark_Hahen_cFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark/__dt__16_ZraMark_Hahen_cFv.s"
}
@@ -713,7 +739,8 @@ asm _ZraMark_Hahen_c::~_ZraMark_Hahen_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm _ZraMark_Hahen_c::_ZraMark_Hahen_c() {
// asm _ZraMark_Hahen_c::_ZraMark_Hahen_c() {
extern "C" asm void __ct__16_ZraMark_Hahen_cFv() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark/__ct__16_ZraMark_Hahen_cFv.s"
}
@@ -0,0 +1,703 @@
/**
* @file d_a_obj_zraMark.cpp
*
*/
#include "rel/d/a/obj/d_a_obj_zraMark/d_a_obj_zraMark.h"
#include "SSystem/SComponent/c_lib.h"
#include "SSystem/SComponent/c_math.h"
#include "d/meter/d_meter2_info.h"
#include "dol2asm.h"
#include "rel/d/a/npc/d_a_npc_hoz/d_a_npc_hoz.h"
#include "rel/d/a/npc/d_a_npc_zra/d_a_npc_zra.h"
//
// Forward References:
//
extern "C" static void createSolidHeap__FP10fopAc_ac_c();
extern "C" void Create__14daObjZraMark_cFv();
extern "C" void CreateHeap__14daObjZraMark_cFv();
extern "C" void Execute__14daObjZraMark_cFv();
extern "C" void Draw__14daObjZraMark_cFv();
extern "C" void Delete__14daObjZraMark_cFv();
extern "C" void getType__14daObjZraMark_cFv();
extern "C" void setBaseMtx__14daObjZraMark_cFv();
extern "C" void col_init__14daObjZraMark_cFv();
extern "C" void col_set__14daObjZraMark_cFv();
extern "C" void schHoz__14daObjZraMark_cFv();
extern "C" void entryPointer__14daObjZraMark_cFP10fopAc_ac_c();
extern "C" void informBlast__14daObjZraMark_cFv();
extern "C" static void daObjZraMark_Execute__FP14daObjZraMark_c();
extern "C" static void daObjZraMark_Draw__FP14daObjZraMark_c();
extern "C" static bool daObjZraMark_IsDelete__FP14daObjZraMark_c();
extern "C" static void daObjZraMark_Delete__FP14daObjZraMark_c();
extern "C" static void daObjZraMark_create__FP10fopAc_ac_c();
extern "C" void create__16_ZraMark_Hahen_cFRC4cXyzScScScSc();
extern "C" void loadModel__16_ZraMark_Hahen_cFv();
extern "C" void init__16_ZraMark_Hahen_cFRC4cXyzScScSc();
extern "C" void calcSpeed__16_ZraMark_Hahen_cFv();
extern "C" void setMtx__16_ZraMark_Hahen_cFv();
extern "C" void draw__16_ZraMark_Hahen_cFv();
extern "C" void create__20_ZraMark_Hahen_Mng_cFRC4cXyzScScScSc();
extern "C" void calc__20_ZraMark_Hahen_Mng_cFv();
extern "C" void draw__20_ZraMark_Hahen_Mng_cFv();
extern "C" void func_80D43ACC(void* _this, int, int);
extern "C" void __dt__16_ZraMark_Hahen_cFv();
extern "C" void __ct__16_ZraMark_Hahen_cFv();
extern "C" void __ct__11J3DLightObjFv();
extern "C" void __dt__18daNpcF_ActorMngr_cFv();
extern "C" void __ct__18daNpcF_ActorMngr_cFv();
extern "C" void __dt__8cM3dGCylFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" extern char const* const d_a_obj_zraMark__stringBase0;
//
// External References:
//
extern "C" void scaleM__14mDoMtx_stack_cFfff();
extern "C" void scaleM__14mDoMtx_stack_cFRC4cXyz();
extern "C" void XYZrotM__14mDoMtx_stack_cFRC5csXyz();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcM_SearchByName__FsPP10fopAc_ac_c();
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void dComIfGp_getReverb__Fi();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" void ChkTgHit__12dCcD_GObjInfFv();
extern "C" void GetTgHitObj__12dCcD_GObjInfFv();
extern "C" void GetTgHitObjSe__12dCcD_GObjInfFv();
extern "C" void getHitSeID__12dCcD_GObjInfFUci();
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
extern "C" void initialize__18daNpcF_ActorMngr_cFv();
extern "C" void entry__18daNpcF_ActorMngr_cFP10fopAc_ac_c();
extern "C" void getActorP__18daNpcF_ActorMngr_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_tevstr_init__FP12dKy_tevstr_cScUc();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void __apl__5csXyzFR5csXyz();
extern "C" void cM_rndF__Ff();
extern "C" void SetC__8cM3dGCylFRC4cXyz();
extern "C" void SetH__8cM3dGCylFf();
extern "C" void SetR__8cM3dGCylFf();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void __dt__14Z2SoundObjBaseFv();
extern "C" void deleteObject__14Z2SoundObjBaseFv();
extern "C" void startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase();
extern "C" void __ct__16Z2SoundObjSimpleFv();
extern "C" void __dl__FPv();
extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo();
extern "C" void __construct_array();
extern "C" void _savegpr_22();
extern "C" void _savegpr_25();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_22();
extern "C" void _restgpr_25();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_CylAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" extern void* __vt__16Z2SoundObjSimple[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
/* 80D42658-80D42678 000078 0020+00 1/1 0/0 0/0 .text createSolidHeap__FP10fopAc_ac_c */
static int createSolidHeap(fopAc_ac_c* i_this) {
return ((daObjZraMark_c*)i_this)->CreateHeap();
}
/* 80D43D88-80D43D9C 000000 0014+00 4/4 0/0 0/0 .rodata l_DATA */
static const daObjZraMark_Hio_Param_c l_DATA = {
8.0f, // mMarkSize
2.0f, // mInteriorMarkSize
1.2f, //
45.0f, // mMarkCollisionRadius
820.0f, // mMarkCollisionHeight
};
/* 80D43D9C-80D43DE0 000014 0044+00 1/1 0/0 0/0 .rodata l_sph_src */
static const dCcD_SrcCyl l_sph_src = {
{
{0x0, {{0x0, 0x0, 0x0}, {0xD8FBFDFF, 0x11}, 0x79}}, // mObj
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x8}, // mGObjAt
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x1}, // mGObjTg
{0x0}, // mGObjCo
}, // mObjInf
{
{0.0f, 0.0f, 0.0f}, // mCenter
0.0f, // mRadius
0.0f, // mHeight
} // mCylAttr
};
/* 80D43DE0-80D43DF0 000058 0010+00 0/1 0/0 0/0 .rodata l_arcIdx */
static const int l_arcIdx[] = {3, 6, 5, 4};
/* 80D43FA0-80D43FA4 000000 0004+00 1/1 0/0 0/0 .data None */
/* SECTION_DATA static u8 data_80D43FA0[4] = {
0x00,
0x00,
0x00,
0x00,
}; */
/* 80D43FA4-80D43FA8 -00001 0004+00 4/4 0/0 0/0 .data l_arcName */
SECTION_DATA static char* l_arcName[1] = {"buoy"};
/* 80D42678-80D4287C 000098 0204+00 1/1 0/0 0/0 .text Create__14daObjZraMark_cFv */
int daObjZraMark_c::Create() {
fopAcM_SetupActor(this, daObjZraMark_c);
mType = getType();
int phase_state = cPhs_ERROR_e;
for (int i = 0; i < 1; i++) {
phase_state = dComIfG_resLoad(&mPhase[i], l_arcName[i]);
if (phase_state != cPhs_COMPLEATE_e) {
OS_REPORT("リソース読み込み失敗!! :: %s \n", l_arcName[i]);
return phase_state;
}
}
if (phase_state == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, createSolidHeap, 0x85B0)) {
return cPhs_ERROR_e;
}
setBaseMtx();
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
fopAcM_setCullSizeFar(this, 3.0f);
fopAcM_setCullSizeBox(this, -60.0f, -500.0f, -60.0f, 60.0f, 500.0f, 60.0f);
mpHoz = NULL;
initBlastFlag();
col_init();
mSound.init(&current.pos, 1);
}
return phase_state;
}
/* 80D4287C-80D42A7C 00029C 0200+00 1/1 0/0 0/0 .text CreateHeap__14daObjZraMark_cFv */
int daObjZraMark_c::CreateHeap() {
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName[0], l_arcIdx[mType]);
JUT_ASSERT(0x176, modelData != 0);
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
if (mpModel == NULL) {
return 0;
}
s8 color;
if (mType == TYPE_BRANCH_GREEN || mType == TYPE_GREEN) {
color = 0;
} else {
color = 1;
}
s8 var_r29;
cXyz pos(current.pos);
switch (get_MarkType()) {
case 0:
var_r29 = 2;
if (!is_branch_pat()) {
pos.y += l_DATA.mMarkCollisionHeight / 2;
}
break;
case 1:
var_r29 = 1;
if (!is_branch_pat()) {
pos.y += l_DATA.mMarkCollisionHeight / 16;
}
break;
case 2:
var_r29 = 0;
if (!is_branch_pat()) {
pos.y += l_DATA.mMarkCollisionHeight / 20;
}
break;
}
s32 room_no = fopAcM_GetRoomNo(this);
if (!mHahenMngr.create(pos, room_no, color, var_r29, 0)) {
// "------------------Fragment Generation Error\n"
OS_REPORT("------------------破片生成ミス\n");
return FALSE;
}
return TRUE;
}
/* 80D42A7C-80D42B0C 00049C 0090+00 1/1 0/0 0/0 .text Execute__14daObjZraMark_cFv */
int daObjZraMark_c::Execute() {
if (is_blasted()) {
if (is_branch_pat()) {
setBaseMtx();
}
mHahenMngr.decTimer();
mHahenMngr.calc();
} else {
setBaseMtx();
col_set();
}
return 1;
}
/* 80D42B0C-80D42C98 00052C 018C+00 1/1 0/0 0/0 .text Draw__14daObjZraMark_cFv */
int daObjZraMark_c::Draw() {
if (is_blasted()) {
mHahenMngr.draw();
if (is_branch_pat()) {
_Vanish_Vase();
} else {
return 1;
}
} else {
if (is_branch_pat()) {
_Disp_Vase();
}
}
g_env_light.settingTevStruct(16, &current.pos, &tevStr);
g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr);
dComIfGd_setListBG();
mDoExt_modelUpdateDL(mpModel);
dComIfGd_setList();
return 1;
}
/* 80D42C98-80D42CE0 0006B8 0048+00 1/1 0/0 0/0 .text Delete__14daObjZraMark_cFv */
int daObjZraMark_c::Delete() {
for (int i = 0; i < 1; i++) {
dComIfG_resDelete(&mPhase[i], l_arcName[i]);
}
mSound.deleteObject();
return 1;
}
/* 80D42CE0-80D42D2C 000700 004C+00 1/1 0/0 0/0 .text getType__14daObjZraMark_cFv */
int daObjZraMark_c::getType() {
u8 prm = fopAcM_GetParam(this) >> 8;
switch (prm) {
case 1:
return 1;
case 2:
return 2;
case 3:
return 3;
default:
return 0;
}
}
/* 80D42D2C-80D42EE0 00074C 01B4+00 2/2 0/0 0/0 .text setBaseMtx__14daObjZraMark_cFv */
void daObjZraMark_c::setBaseMtx() {
static const Vec l_coOffset[] = {
{8.0f, -50.0f, 0.0f},
{8.0f, 0.0f, 0.0f},
{8.0f, -50.0f, 0.0f},
{0.0f, 0.0f, 0.0f},
};
cXyz cc_pos(l_coOffset[mType].x, l_coOffset[mType].y, l_coOffset[mType].z);
f32 size;
f32 cc_height;
switch (get_MarkType()) {
case 0:
size = l_DATA.mMarkSize;
cc_height = l_DATA.mMarkCollisionHeight;
break;
case 1:
cc_pos.y -= 20.0f;
size = l_DATA.mInteriorMarkSize;
cc_height =
l_DATA.mMarkCollisionHeight / (l_DATA.mMarkSize / l_DATA.mInteriorMarkSize) + 40.0f;
break;
case 2:
size = l_DATA.field_0x8;
cc_height = l_DATA.mMarkCollisionHeight / (l_DATA.mMarkSize / l_DATA.field_0x8);
break;
}
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::XYZrotM(shape_angle);
mDoMtx_stack_c::scaleM(size, size, size);
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
mDoMtx_stack_c::multVec(&cc_pos, &cc_pos);
MTXCopy(mDoMtx_stack_c::get(), field_0x574);
mCcCyl.SetC(cc_pos);
mCcCyl.SetH(cc_height);
mCcCyl.SetR(l_DATA.mMarkCollisionRadius * size);
}
/* 80D42EE0-80D42F5C 000900 007C+00 1/1 0/0 0/0 .text col_init__14daObjZraMark_cFv */
void daObjZraMark_c::col_init() {
mCcStts.Init(0xFF, 0xFF, this);
mCcCyl.Set(l_sph_src);
mCcCyl.SetStts(&mCcStts);
if (get_MarkType() == 0) {
mCcCyl.OffCoSetBit();
}
}
/* 80D42F5C-80D432C8 00097C 036C+00 1/1 0/0 0/0 .text col_set__14daObjZraMark_cFv */
void daObjZraMark_c::col_set() {
if (mpHoz == NULL) {
mpHoz = schHoz();
}
if (mCcCyl.ChkTgHit()) {
if (checkHitAt(mCcCyl.GetTgHitObj())) {
cXyz pos(current.pos);
switch (get_MarkType()) {
case 0:
onBlastFlag();
mCcCyl.OffTgSetBit();
Z2GetAudioMgr()->seStart(Z2SE_OBJ_MG_CANOE_TSUBO_BRK, &pos, 0, 0, 1.0f, 1.0f, -1.0f,
-1.0f, 0);
if (mType >= 2) {
dMeter2Info_setNowCount(dMeter2Info_getNowCount() + 2);
Z2GetAudioMgr()->seStart(Z2SE_SY_MG_CANOE_SCORE_2, NULL, 0, 0, 1.0f, 1.0f,
-1.0f, -1.0f, 0);
} else {
dMeter2Info_setNowCount(dMeter2Info_getNowCount() + 1);
Z2GetAudioMgr()->seStart(Z2SE_SY_MG_CANOE_SCORE, NULL, 0, 0, 1.0f, 1.0f, -1.0f,
-1.0f, 0);
}
informBlast();
break;
case 1:
if (daPy_getPlayerActorClass()->checkCanoeSlider()) {
mCcCyl.ClrTgHit();
return;
}
if (mpHoz != NULL) {
mpHoz->setPotBreakFlag();
}
case 2:
if (daPy_getPlayerActorClass()->checkCanoeSlider()) {
mCcCyl.ClrTgHit();
return;
}
onBlastFlag();
mCcCyl.OffTgSetBit();
Z2GetAudioMgr()->seStart(Z2SE_OBJ_SAMPLE_TSUBO_BRK, &pos, 0, 0, 1.0f, 1.0f, -1.0f,
-1.0f, 0);
}
} else {
mSound.startCollisionSE(mCcCyl.GetTgHitObjHitSeID(1), 2, NULL);
}
mCcCyl.ClrTgHit();
}
mSound.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
dComIfG_Ccsp()->Set(&mCcCyl);
}
/* 80D432C8-80D43314 000CE8 004C+00 1/1 0/0 0/0 .text schHoz__14daObjZraMark_cFv */
daNpc_Hoz_c* daObjZraMark_c::schHoz() {
fopAc_ac_c* hoz = NULL;
if (fopAcM_SearchByName(PROC_NPC_HOZ, &hoz) && hoz != NULL) {
return (daNpc_Hoz_c*)hoz;
}
return NULL;
}
/* 80D43314-80D43370 000D34 005C+00 0/0 0/0 1/1 .text entryPointer__14daObjZraMark_cFP10fopAc_ac_c
*/
bool daObjZraMark_c::entryPointer(fopAc_ac_c* i_actor) {
if (field_0x72c < 2) {
mActorMngr[field_0x72c].entry(i_actor);
field_0x72c++;
return true;
}
return false;
}
/* 80D43370-80D433F4 000D90 0084+00 1/1 0/0 0/0 .text informBlast__14daObjZraMark_cFv */
void daObjZraMark_c::informBlast() {
if (field_0x72c != 0) {
for (int i = 0; i < field_0x72c; i++) {
fopAc_ac_c* actorp = mActorMngr[i].getActorP();
if (actorp != NULL && fopAcM_GetName(actorp) == PROC_NPC_ZRA) {
((daNpc_zrA_c*)actorp)->setBlastFlag(1);
}
}
}
}
/* 80D433F4-80D43414 000E14 0020+00 1/0 0/0 0/0 .text daObjZraMark_Execute__FP14daObjZraMark_c */
static int daObjZraMark_Execute(daObjZraMark_c* i_this) {
return i_this->Execute();
}
/* 80D43414-80D43434 000E34 0020+00 1/0 0/0 0/0 .text daObjZraMark_Draw__FP14daObjZraMark_c */
static int daObjZraMark_Draw(daObjZraMark_c* i_this) {
return i_this->Draw();
}
/* 80D43434-80D4343C 000E54 0008+00 1/0 0/0 0/0 .text daObjZraMark_IsDelete__FP14daObjZraMark_c */
static int daObjZraMark_IsDelete(daObjZraMark_c* i_this) {
return 1;
}
/* 80D4343C-80D4345C 000E5C 0020+00 1/0 0/0 0/0 .text daObjZraMark_Delete__FP14daObjZraMark_c */
static int daObjZraMark_Delete(daObjZraMark_c* i_this) {
return i_this->Delete();
}
/* 80D4345C-80D4347C 000E7C 0020+00 1/0 0/0 0/0 .text daObjZraMark_create__FP10fopAc_ac_c
*/
static int daObjZraMark_create(fopAc_ac_c* i_this) {
return ((daObjZraMark_c*)i_this)->Create();
}
/* 80D4347C-80D434F8 000E9C 007C+00 1/1 0/0 0/0 .text create__16_ZraMark_Hahen_cFRC4cXyzScScScSc
*/
int _ZraMark_Hahen_c::create(const cXyz& i_pos, s8 i_roomNo, s8 i_color, s8 param_3, s8 i_no) {
setColor(i_color);
if (loadModel()) {
init(i_pos, i_roomNo, param_3, i_no);
setMtx();
return 1;
}
return 0;
}
/* 80D434F8-80D4357C 000F18 0084+00 1/1 0/0 0/0 .text loadModel__16_ZraMark_Hahen_cFv */
BOOL _ZraMark_Hahen_c::loadModel() {
static const int sHahenBmdType[] = {7, 8};
J3DModelData* modelData =
(J3DModelData*)dComIfG_getObjectRes(l_arcName[0], sHahenBmdType[getColor()]);
JUT_ASSERT(0x428, modelData != 0);
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
if (mpModel == NULL) {
// "--------------Can't load Fragment Model\n"
OS_REPORT("--------------破片モデルを読み込めません\n");
return 0;
}
return 1;
}
/* 80D4357C-80D43808 000F9C 028C+00 1/1 0/0 0/0 .text init__16_ZraMark_Hahen_cFRC4cXyzScScSc */
void _ZraMark_Hahen_c::init(cXyz const& i_pos, s8 i_roomNo, s8 param_2, s8 i_no) {
static const f32 sScale[] = {
3.0f, 2.0f, 6.0f, 4.0f, 2.0f, 6.0f, 3.0f, 1.0f, 0.5f, 0.69999999f, 0.5f, 1.2f, 1.0f, 0.8f,
};
static const f32 sRoot[4][7][2] = {
{
{78.8f, 54.9f},
{101.9f, 62.4f},
{122.2f, 18.9f},
{124.2f, 63.5f},
{83.599998f, 60.299999f},
{118.6f, 54.099998f},
{73.9f, 22.0f},
},
{
{111.5f, 42.0f},
{110.2f, 21.6f},
{127.1f, 18.6f},
{99.3f, 65.0f},
{75.8f, 39.799999f},
{106.1f, 46.9f},
{71.699997f, 34.7f},
},
{
{82.599998f, 18.1f},
{132.6f, 48.799999f},
{119.2f, 43.0f},
{56.7f, 66.099998f},
{89.0f, 57.299999f},
{91.8f, 41.0f},
{78.3f, 31.0f},
},
{
{98.4f, 23.6f},
{125.0f, 20.2f},
{62.5f, 54.7f},
{119.2f, 47.299999f},
{79.9f, 53.799999f},
{61.7f, 58.099998f},
{57.599998f, 29.1f},
},
};
static int roottype = -1;
roottype = (roottype + 1) & 3;
s8 var_r28 = i_no % 7;
int var_r26 = cLib_getRndValue(0, 0xFFFF);
int var_r25 = cLib_getRndValue(0, 0xFFFF);
int var_r24 = cLib_getRndValue(0, 0xFFFF);
mAngle.set(var_r26, var_r25, var_r24);
var_r26 = cLib_getRndValue(0x400, 0x1800);
var_r25 = cLib_getRndValue(0x400, 0x1800);
var_r24 = cLib_getRndValue(0x400, 0x1800);
field_0x3aa.set(var_r26, var_r25, var_r24);
f32 scale = sScale[i_no] + 2.0f;
f32 y_speed = sRoot[roottype][var_r28][0];
f32 xz_speed = sRoot[roottype][var_r28][1];
if (param_2 == 1) {
scale /= l_DATA.mMarkSize / l_DATA.mInteriorMarkSize;
y_speed /= 2.5f;
xz_speed /= 2.5f;
} else if (param_2 == 0) {
scale /= l_DATA.mMarkSize / l_DATA.mInteriorMarkSize;
y_speed /= 1.5f;
xz_speed /= 3.0f;
}
if (i_no >= 7) {
y_speed /= 1.5f;
xz_speed /= 2.0f;
}
field_0x3b0.setall(scale);
mSpeed.set(0.0f, y_speed, 0.0f);
field_0x3c0 = xz_speed;
field_0x3bc = i_no * 0x4800;
f32 rnd_xz = cM_rndF(35.0f) + 10.0f;
f32 rnd_y = cM_rndF(30.0f) - 15.0f;
cXyz pos;
pos.x = i_pos.x + rnd_xz * cM_ssin(field_0x3bc);
pos.y = i_pos.y + rnd_y;
pos.z = i_pos.z + rnd_xz * cM_scos(field_0x3bc);
setPos(pos);
dKy_tevstr_init(&mTevstr, i_roomNo, 0xFF);
}
/* 80D43808-80D43864 001228 005C+00 1/1 0/0 0/0 .text calcSpeed__16_ZraMark_Hahen_cFv */
void _ZraMark_Hahen_c::calcSpeed() {
cXyz speed;
speed.x = field_0x3c0 * cM_ssin(field_0x3bc);
speed.y = mSpeed.y - 9.0f;
speed.z = field_0x3c0 * cM_scos(field_0x3bc);
setSpeed(speed);
}
/* 80D43864-80D438C8 001284 0064+00 2/2 0/0 0/0 .text setMtx__16_ZraMark_Hahen_cFv */
void _ZraMark_Hahen_c::setMtx() {
mDoMtx_stack_c::transS(mPos.x, mPos.y, mPos.z);
mDoMtx_stack_c::XYZrotM(mAngle);
mDoMtx_stack_c::scaleM(field_0x3b0);
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
}
/* 80D438C8-80D43968 0012E8 00A0+00 1/1 0/0 0/0 .text draw__16_ZraMark_Hahen_cFv */
void _ZraMark_Hahen_c::draw() {
g_env_light.settingTevStruct(16, &mPos, &mTevstr);
g_env_light.setLightTevColorType_MAJI(mpModel, &mTevstr);
dComIfGd_setListBG();
mDoExt_modelUpdateDL(mpModel);
dComIfGd_setList();
}
/* 80D43968-80D439F8 001388 0090+00 1/1 0/0 0/0 .text
* create__20_ZraMark_Hahen_Mng_cFRC4cXyzScScScSc */
int _ZraMark_Hahen_Mng_c::create(const cXyz& i_pos, s8 i_roomNo, s8 i_color, s8 param_3,
s8 unused) {
_ZraMark_Hahen_c* hahen = mHahen;
for (int i = 0; i < 14; i++) {
if (!hahen->create(i_pos, i_roomNo, i_color, param_3, i)) {
return 0;
}
hahen++;
}
setTimer(200);
return 1;
}
/* 80D439F8-80D43A74 001418 007C+00 1/1 0/0 0/0 .text calc__20_ZraMark_Hahen_Mng_cFv */
void _ZraMark_Hahen_Mng_c::calc() {
if (getTimer() > 0) {
_ZraMark_Hahen_c* hahen = mHahen;
for (int i = 0; i < 14; i++) {
hahen->fall();
hahen->setMtx();
hahen++;
}
}
}
/* 80D43A74-80D43ACC 001494 0058+00 1/1 0/0 0/0 .text draw__20_ZraMark_Hahen_Mng_cFv */
void _ZraMark_Hahen_Mng_c::draw() {
if (getTimer() > 0) {
_ZraMark_Hahen_c* hahen = mHahen;
for (int i = 0; i < 14; i++) {
hahen->draw();
hahen++;
}
}
}
/* 80D43FA8-80D43FC8 -00001 0020+00 1/0 0/0 0/0 .data l_daObjZraMark_Method */
static actor_method_class l_daObjZraMark_Method = {
(process_method_func)daObjZraMark_create__FP10fopAc_ac_c,
(process_method_func)daObjZraMark_Delete__FP14daObjZraMark_c,
(process_method_func)daObjZraMark_Execute__FP14daObjZraMark_c,
(process_method_func)daObjZraMark_IsDelete__FP14daObjZraMark_c,
(process_method_func)daObjZraMark_Draw__FP14daObjZraMark_c,
};
/* 80D43FC8-80D43FF8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_ZRA_MARK */
extern actor_process_profile_definition g_profile_ZRA_MARK = {
fpcLy_CURRENT_e, // mLayerID
7, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_ZRA_MARK, // mProcName
&g_fpcLf_Method.mBase, // sub_method
sizeof(daObjZraMark_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
392, // mPriority
&l_daObjZraMark_Method, // sub_method
0x00044100, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
+2 -2
View File
@@ -55,7 +55,7 @@ def cursesMenu(stdscr, values):
keys = list(values.keys())
options = [
f"{CONFIG_DESCRIPTIONS[key]}: ({"X" if values[key] else " "})" for key in keys
f"{CONFIG_DESCRIPTIONS[key]}: ({'X' if values[key] else ' '})" for key in keys
]
bool_values = [values[key] for key in keys]
@@ -73,7 +73,7 @@ def cursesMenu(stdscr, values):
elif key in (curses.KEY_ENTER, ord("\n"), 13):
bool_values[selected_idx] = not bool_values[selected_idx]
options[selected_idx] = (
f"{CONFIG_DESCRIPTIONS[keys[selected_idx]]}: ({"X" if bool_values[selected_idx] else " "})"
f"{CONFIG_DESCRIPTIONS[keys[selected_idx]]}: ({'X' if bool_values[selected_idx] else ' '})"
)
elif key in (27, ord("q")): # Escape, q
break
+1 -1
View File
@@ -763,7 +763,7 @@ def bti_to_png(name, data, writefunc):
def namedValueFromDict(value, dict):
if not value in dict:
print(
f"Format {value} is not a valid type. Valid types are {", ".join(dict.keys())}"
f"Format {value} is not a valid type. Valid types are {', '.join(dict.keys())}"
)
return None
return dict[value]