d_a_dmidna OK / f_op + misc cleanup (#276)

* some f_op / d_insect cleanup

* rename some vars according to tww

* d_a_dmidna OK

* remove asm
This commit is contained in:
TakaRikka 2023-02-10 09:07:47 -08:00 committed by GitHub
parent 6db9462224
commit 539edcf077
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
73 changed files with 5635 additions and 20433 deletions

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 | 24.289651% | 873588 | 3596544
.text | 24.311561% | 874376 | 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 | 32.271322% | 1297524 | 4020672
Total | 32.290921% | 1298312 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 32.271322% | 1297524 | 4020672
RELs | 33.171100% | 3814784 | 11500324
Total | 32.938015% | 5112308 | 15520996
main.dol | 32.290921% | 1298312 | 4020672
RELs | 33.179309% | 3815728 | 11500324
Total | 32.949174% | 5114040 | 15520996
## RELs
@ -72,7 +72,7 @@ d_a_cstatue | 29.155833% | 6728 | 23076
d_a_demo00 | 29.136000% | 7284 | 25000
d_a_demo_item | 33.863165% | 3920 | 11576
d_a_disappear | 45.091514% | 1084 | 2404
d_a_dmidna | 50.000000% | 944 | 1888
d_a_dmidna | 100.000000% | 1888 | 1888
d_a_do | 37.666220% | 14616 | 38804
d_a_door_boss | 40.856890% | 3700 | 9056
d_a_door_bossL5 | 39.221790% | 4032 | 10280
@ -785,4 +785,4 @@ d_a_vrbox2 | 34.977578% | 2184 | 6244
d_a_warp_bug | 54.940711% | 1112 | 2024
d_a_ykgr | 44.400631% | 2252 | 5072
f_pc_profile_lst | 100.000000% | 28156 | 28156
Total | 33.171100% | 3814784 | 11500324
Total | 33.179309% | 3815728 | 11500324

View File

@ -12,7 +12,7 @@ lbl_80271D18:
/* 80271D40 4B FF FF 91 */ bl firstInit__9JFWSystemFv
lbl_80271D44:
/* 80271D44 38 00 00 01 */ li r0, 1
/* 80271D48 98 0D 8C 3C */ stb r0, data_804511BC(r13)
/* 80271D48 98 0D 8C 3C */ stb r0, sInitCalled(r13)
/* 80271D4C 80 6D 81 FC */ lwz r3, aramAudioBufSize__Q29JFWSystem11CSetUpParam(r13)
/* 80271D50 80 8D 82 00 */ lwz r4, aramGraphBufSize__Q29JFWSystem11CSetUpParam(r13)
/* 80271D54 80 AD 82 04 */ lwz r5, streamPriority__Q29JFWSystem11CSetUpParam(r13)

View File

@ -27,7 +27,7 @@ lbl_8009D94C:
/* 8009D96C 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 8009D970 7D 89 03 A6 */ mtctr r12
/* 8009D974 4E 80 04 21 */ bctrl
/* 8009D978 88 8D 8A 49 */ lbz r4, struct_80450FC8+0x1(r13)
/* 8009D978 88 8D 8A 49 */ lbz r4, m_eye_move_flg+0x1(r13)
/* 8009D97C 28 04 00 00 */ cmplwi r4, 0
/* 8009D980 41 82 00 8C */ beq lbl_8009DA0C
/* 8009D984 80 1E 01 04 */ lwz r0, 0x104(r30)
@ -66,7 +66,7 @@ lbl_8009D9F8:
/* 8009DA04 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 8009DA08 48 00 00 20 */ b lbl_8009DA28
lbl_8009DA0C:
/* 8009DA0C 88 0D 8A 48 */ lbz r0, struct_80450FC8+0x0(r13)
/* 8009DA0C 88 0D 8A 48 */ lbz r0, m_eye_move_flg+0x0(r13)
/* 8009DA10 28 00 00 00 */ cmplwi r0, 0
/* 8009DA14 41 82 00 14 */ beq lbl_8009DA28
/* 8009DA18 C0 1E 00 FC */ lfs f0, 0xfc(r30)

View File

@ -313,7 +313,7 @@ lbl_800C8B98:
/* 800C8B98 38 00 00 00 */ li r0, 0
/* 800C8B9C 90 1F 05 80 */ stw r0, 0x580(r31)
/* 800C8BA0 90 1F 05 84 */ stw r0, 0x584(r31)
/* 800C8BA4 38 6D 8A 49 */ la r3, struct_80450FC8+0x1(r13) /* 80450FC9-_SDA_BASE_ */
/* 800C8BA4 38 6D 8A 49 */ la r3, m_eye_move_flg+0x1(r13) /* 80450FC9-_SDA_BASE_ */
/* 800C8BA8 48 07 8F 41 */ bl func_80141AE8
/* 800C8BAC 80 7F 21 80 */ lwz r3, 0x2180(r31)
/* 800C8BB0 48 00 75 D1 */ bl offSetFlg__16daAlink_matAnm_cFv

View File

@ -224,16 +224,16 @@ lbl_800A1E00:
/* 800A1E18 D0 03 01 00 */ stfs f0, 0x100(r3)
/* 800A1E1C 80 7F 21 84 */ lwz r3, 0x2184(r31)
/* 800A1E20 D0 03 01 00 */ stfs f0, 0x100(r3)
/* 800A1E24 88 0D 8A 48 */ lbz r0, struct_80450FC8+0x0(r13)
/* 800A1E24 88 0D 8A 48 */ lbz r0, m_eye_move_flg+0x0(r13)
/* 800A1E28 28 00 00 00 */ cmplwi r0, 0
/* 800A1E2C 41 82 01 3C */ beq lbl_800A1F68
/* 800A1E30 38 00 00 00 */ li r0, 0
/* 800A1E34 98 0D 8A 48 */ stb r0, struct_80450FC8+0x0(r13)
/* 800A1E34 98 0D 8A 48 */ stb r0, m_eye_move_flg+0x0(r13)
/* 800A1E38 38 00 00 03 */ li r0, 3
/* 800A1E3C 98 0D 8A 49 */ stb r0, struct_80450FC8+0x1(r13)
/* 800A1E3C 98 0D 8A 49 */ stb r0, m_eye_move_flg+0x1(r13)
/* 800A1E40 48 00 01 28 */ b lbl_800A1F68
lbl_800A1E44:
/* 800A1E44 88 0D 8A 49 */ lbz r0, struct_80450FC8+0x1(r13)
/* 800A1E44 88 0D 8A 49 */ lbz r0, m_eye_move_flg+0x1(r13)
/* 800A1E48 28 00 00 00 */ cmplwi r0, 0
/* 800A1E4C 40 82 01 1C */ bne lbl_800A1F68
/* 800A1E50 C0 42 92 BC */ lfs f2, lit_6041(r2)
@ -292,7 +292,7 @@ lbl_800A1EE8:
/* 800A1EFC EF DE 00 32 */ fmuls f30, f30, f0
lbl_800A1F00:
/* 800A1F00 38 00 00 01 */ li r0, 1
/* 800A1F04 98 0D 8A 48 */ stb r0, struct_80450FC8+0x0(r13)
/* 800A1F04 98 0D 8A 48 */ stb r0, m_eye_move_flg+0x0(r13)
/* 800A1F08 80 7F 21 80 */ lwz r3, 0x2180(r31)
/* 800A1F0C 38 63 00 FC */ addi r3, r3, 0xfc
/* 800A1F10 C0 42 92 98 */ lfs f2, lit_5943(r2)

View File

@ -44,7 +44,7 @@ lbl_800AF84C:
/* 800AF86C 80 9E 21 58 */ lwz r4, 0x2158(r30)
/* 800AF870 48 28 04 55 */ bl entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey
/* 800AF874 38 00 00 03 */ li r0, 3
/* 800AF878 98 0D 8A 49 */ stb r0, struct_80450FC8+0x1(r13)
/* 800AF878 98 0D 8A 49 */ stb r0, m_eye_move_flg+0x1(r13)
/* 800AF87C C0 02 92 C0 */ lfs f0, lit_6108(r2)
/* 800AF880 80 7E 21 58 */ lwz r3, 0x2158(r30)
/* 800AF884 D0 03 00 08 */ stfs f0, 8(r3)

View File

@ -1,67 +0,0 @@
lbl_80035CC8:
/* 80035CC8 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80035CCC 7C 08 02 A6 */ mflr r0
/* 80035CD0 90 01 00 64 */ stw r0, 0x64(r1)
/* 80035CD4 39 61 00 60 */ addi r11, r1, 0x60
/* 80035CD8 48 32 C5 05 */ bl _savegpr_29
/* 80035CDC 7C 7D 1B 78 */ mr r29, r3
/* 80035CE0 7C 9E 23 78 */ mr r30, r4
/* 80035CE4 7C DF 33 78 */ mr r31, r6
/* 80035CE8 28 05 00 00 */ cmplwi r5, 0
/* 80035CEC 41 82 00 28 */ beq lbl_80035D14
/* 80035CF0 7C A3 2B 78 */ mr r3, r5
/* 80035CF4 4B FD 72 19 */ bl ZXYrotS__14mDoMtx_stack_cFRC5csXyz
/* 80035CF8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80035CFC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80035D00 3C 80 80 43 */ lis r4, BaseZ__4cXyz@ha /* 0x80430D3C@ha */
/* 80035D04 38 84 0D 3C */ addi r4, r4, BaseZ__4cXyz@l /* 0x80430D3C@l */
/* 80035D08 7F E5 FB 78 */ mr r5, r31
/* 80035D0C 48 31 10 61 */ bl PSMTXMultVec
/* 80035D10 48 00 00 20 */ b lbl_80035D30
lbl_80035D14:
/* 80035D14 3C 60 80 43 */ lis r3, BaseZ__4cXyz@ha /* 0x80430D3C@ha */
/* 80035D18 C4 03 0D 3C */ lfsu f0, BaseZ__4cXyz@l(r3) /* 0x80430D3C@l */
/* 80035D1C D0 1F 00 00 */ stfs f0, 0(r31)
/* 80035D20 C0 03 00 04 */ lfs f0, 4(r3)
/* 80035D24 D0 1F 00 04 */ stfs f0, 4(r31)
/* 80035D28 C0 03 00 08 */ lfs f0, 8(r3)
/* 80035D2C D0 1F 00 08 */ stfs f0, 8(r31)
lbl_80035D30:
/* 80035D30 38 61 00 2C */ addi r3, r1, 0x2c
/* 80035D34 7F E4 FB 78 */ mr r4, r31
/* 80035D38 C0 22 83 60 */ lfs f1, lit_3655(r2)
/* 80035D3C 48 23 0E 49 */ bl __ml__4cXyzCFf
/* 80035D40 38 61 00 20 */ addi r3, r1, 0x20
/* 80035D44 7F C4 F3 78 */ mr r4, r30
/* 80035D48 38 A1 00 2C */ addi r5, r1, 0x2c
/* 80035D4C 48 23 0D E9 */ bl __mi__4cXyzCFRC3Vec
/* 80035D50 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 80035D54 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 80035D58 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 80035D5C D0 01 00 48 */ stfs f0, 0x48(r1)
/* 80035D60 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 80035D64 D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 80035D68 38 61 00 14 */ addi r3, r1, 0x14
/* 80035D6C 7F E4 FB 78 */ mr r4, r31
/* 80035D70 C0 22 83 60 */ lfs f1, lit_3655(r2)
/* 80035D74 48 23 0E 11 */ bl __ml__4cXyzCFf
/* 80035D78 38 61 00 08 */ addi r3, r1, 8
/* 80035D7C 7F C4 F3 78 */ mr r4, r30
/* 80035D80 38 A1 00 14 */ addi r5, r1, 0x14
/* 80035D84 48 23 0D 61 */ bl __pl__4cXyzCFRC3Vec
/* 80035D88 C0 01 00 08 */ lfs f0, 8(r1)
/* 80035D8C D0 01 00 38 */ stfs f0, 0x38(r1)
/* 80035D90 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80035D94 D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 80035D98 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80035D9C D0 01 00 40 */ stfs f0, 0x40(r1)
/* 80035DA0 7F A3 EB 78 */ mr r3, r29
/* 80035DA4 38 81 00 44 */ addi r4, r1, 0x44
/* 80035DA8 38 A1 00 38 */ addi r5, r1, 0x38
/* 80035DAC 48 23 95 3D */ bl SetStartEnd__8cM3dGLinFRC4cXyzRC4cXyz
/* 80035DB0 39 61 00 60 */ addi r11, r1, 0x60
/* 80035DB4 48 32 C4 75 */ bl _restgpr_29
/* 80035DB8 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80035DBC 7C 08 03 A6 */ mtlr r0
/* 80035DC0 38 21 00 60 */ addi r1, r1, 0x60
/* 80035DC4 4E 80 00 20 */ blr

View File

@ -9,7 +9,7 @@ lbl_801A572C:
/* 801A5748 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 801A574C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 801A5750 83 A3 5D 74 */ lwz r29, 0x5d74(r3)
/* 801A5754 88 0D 8A EA */ lbz r0, struct_80451068+0x2(r13)
/* 801A5754 88 0D 8A EA */ lbz r0, S_fuwan_sin+0x2(r13)
/* 801A5758 7C 00 07 75 */ extsb. r0, r0
/* 801A575C 40 82 00 30 */ bne lbl_801A578C
/* 801A5760 C0 02 A2 0C */ lfs f0, lit_4409(r2)
@ -22,9 +22,9 @@ lbl_801A572C:
/* 801A577C 38 BF 1D 74 */ addi r5, r31, 0x1d74
/* 801A5780 48 1B C4 A5 */ bl __register_global_object
/* 801A5784 38 00 00 01 */ li r0, 1
/* 801A5788 98 0D 8A EA */ stb r0, struct_80451068+0x2(r13)
/* 801A5788 98 0D 8A EA */ stb r0, S_fuwan_sin+0x2(r13)
lbl_801A578C:
/* 801A578C 88 0D 8A EB */ lbz r0, struct_80451068+0x3(r13)
/* 801A578C 88 0D 8A EB */ lbz r0, S_fuwan_sin+0x3(r13)
/* 801A5790 7C 00 07 75 */ extsb. r0, r0
/* 801A5794 40 82 00 30 */ bne lbl_801A57C4
/* 801A5798 C0 02 A2 0C */ lfs f0, lit_4409(r2)
@ -37,7 +37,7 @@ lbl_801A578C:
/* 801A57B4 38 BF 1D 8C */ addi r5, r31, 0x1d8c
/* 801A57B8 48 1B C4 6D */ bl __register_global_object
/* 801A57BC 38 00 00 01 */ li r0, 1
/* 801A57C0 98 0D 8A EB */ stb r0, struct_80451068+0x3(r13)
/* 801A57C0 98 0D 8A EB */ stb r0, S_fuwan_sin+0x3(r13)
lbl_801A57C4:
/* 801A57C4 48 00 5A BD */ bl dKy_camera_water_in_status_check__Fv
/* 801A57C8 2C 03 00 00 */ cmpwi r3, 0

View File

@ -439,7 +439,7 @@ lbl_801A0A14:
/* 801A0AA0 48 00 BA DD */ bl dKy_darkworld_check__Fv
/* 801A0AA4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 801A0AA8 41 82 00 70 */ beq lbl_801A0B18
/* 801A0AAC A8 0D 8A E8 */ lha r0, struct_80451068+0x0(r13)
/* 801A0AAC A8 0D 8A E8 */ lha r0, S_fuwan_sin+0x0(r13)
/* 801A0AB0 54 00 04 38 */ rlwinm r0, r0, 0, 0x10, 0x1c
/* 801A0AB4 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */
/* 801A0AB8 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */
@ -449,10 +449,10 @@ lbl_801A0A14:
/* 801A0AC8 FC 00 08 1E */ fctiwz f0, f1
/* 801A0ACC D8 01 00 C8 */ stfd f0, 0xc8(r1)
/* 801A0AD0 80 61 00 CC */ lwz r3, 0xcc(r1)
/* 801A0AD4 A8 0D 8A E8 */ lha r0, struct_80451068+0x0(r13)
/* 801A0AD4 A8 0D 8A E8 */ lha r0, S_fuwan_sin+0x0(r13)
/* 801A0AD8 7C 63 02 14 */ add r3, r3, r0
/* 801A0ADC 38 03 01 F4 */ addi r0, r3, 0x1f4
/* 801A0AE0 B0 0D 8A E8 */ sth r0, struct_80451068+0x0(r13)
/* 801A0AE0 B0 0D 8A E8 */ sth r0, S_fuwan_sin+0x0(r13)
/* 801A0AE4 C0 42 A2 F4 */ lfs f2, lit_6035(r2)
/* 801A0AE8 C8 22 A2 80 */ lfd f1, lit_4964(r2)
/* 801A0AEC 92 01 00 D4 */ stw r16, 0xd4(r1)

View File

@ -1,56 +0,0 @@
lbl_8001F3B4:
/* 8001F3B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001F3B8 7C 08 02 A6 */ mflr r0
/* 8001F3BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001F3C0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8001F3C4 93 C1 00 08 */ stw r30, 8(r1)
/* 8001F3C8 7C 7F 1B 78 */ mr r31, r3
/* 8001F3CC 88 03 00 0C */ lbz r0, 0xc(r3)
/* 8001F3D0 7C 00 07 75 */ extsb. r0, r0
/* 8001F3D4 40 82 00 6C */ bne lbl_8001F440
/* 8001F3D8 83 C3 00 10 */ lwz r30, 0x10(r3)
/* 8001F3DC 38 6D 87 68 */ la r3, fopKy_KANKYO_TYPE(r13) /* 80450CE8-_SDA_BASE_ */
/* 8001F3E0 48 00 12 7D */ bl fpcBs_MakeOfType__FPi
/* 8001F3E4 90 7F 00 C0 */ stw r3, 0xc0(r31)
/* 8001F3E8 80 1E 00 24 */ lwz r0, 0x24(r30)
/* 8001F3EC 90 1F 00 D8 */ stw r0, 0xd8(r31)
/* 8001F3F0 38 7F 00 C4 */ addi r3, r31, 0xc4
/* 8001F3F4 7F E4 FB 78 */ mr r4, r31
/* 8001F3F8 48 00 10 FD */ bl fopDwTg_Init__FP16create_tag_classPv
/* 8001F3FC 80 7F 00 AC */ lwz r3, 0xac(r31)
/* 8001F400 28 03 00 00 */ cmplwi r3, 0
/* 8001F404 41 82 00 3C */ beq lbl_8001F440
/* 8001F408 C0 03 00 00 */ lfs f0, 0(r3)
/* 8001F40C D0 1F 00 DC */ stfs f0, 0xdc(r31)
/* 8001F410 C0 03 00 04 */ lfs f0, 4(r3)
/* 8001F414 D0 1F 00 E0 */ stfs f0, 0xe0(r31)
/* 8001F418 C0 03 00 08 */ lfs f0, 8(r3)
/* 8001F41C D0 1F 00 E4 */ stfs f0, 0xe4(r31)
/* 8001F420 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 8001F424 D0 1F 00 E8 */ stfs f0, 0xe8(r31)
/* 8001F428 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 8001F42C D0 1F 00 EC */ stfs f0, 0xec(r31)
/* 8001F430 C0 03 00 14 */ lfs f0, 0x14(r3)
/* 8001F434 D0 1F 00 F0 */ stfs f0, 0xf0(r31)
/* 8001F438 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8001F43C 90 1F 00 F4 */ stw r0, 0xf4(r31)
lbl_8001F440:
/* 8001F440 80 7F 00 D8 */ lwz r3, 0xd8(r31)
/* 8001F444 7F E4 FB 78 */ mr r4, r31
/* 8001F448 48 00 30 85 */ bl fpcMtd_Create__FP20process_method_classPv
/* 8001F44C 7C 7E 1B 78 */ mr r30, r3
/* 8001F450 2C 1E 00 04 */ cmpwi r30, 4
/* 8001F454 40 82 00 18 */ bne lbl_8001F46C
/* 8001F458 7F E3 FB 78 */ mr r3, r31
/* 8001F45C 48 00 25 A5 */ bl fpcLf_GetPriority__FPC14leafdraw_class
/* 8001F460 7C 64 07 34 */ extsh r4, r3
/* 8001F464 38 7F 00 C4 */ addi r3, r31, 0xc4
/* 8001F468 48 00 10 45 */ bl fopDwTg_ToDrawQ__FP16create_tag_classi
lbl_8001F46C:
/* 8001F46C 7F C3 F3 78 */ mr r3, r30
/* 8001F470 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8001F474 83 C1 00 08 */ lwz r30, 8(r1)
/* 8001F478 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001F47C 7C 08 03 A6 */ mtlr r0
/* 8001F480 38 21 00 10 */ addi r1, r1, 0x10
/* 8001F484 4E 80 00 20 */ blr

View File

@ -1,57 +0,0 @@
lbl_8001F588:
/* 8001F588 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001F58C 7C 08 02 A6 */ mflr r0
/* 8001F590 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001F594 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8001F598 93 C1 00 08 */ stw r30, 8(r1)
/* 8001F59C 7C 7F 1B 78 */ mr r31, r3
/* 8001F5A0 88 03 00 0C */ lbz r0, 0xc(r3)
/* 8001F5A4 7C 00 07 75 */ extsb. r0, r0
/* 8001F5A8 40 82 00 70 */ bne lbl_8001F618
/* 8001F5AC 83 C3 00 10 */ lwz r30, 0x10(r3)
/* 8001F5B0 38 6D 87 70 */ la r3, fopMsg_MSG_TYPE(r13) /* 80450CF0-_SDA_BASE_ */
/* 8001F5B4 48 00 10 A9 */ bl fpcBs_MakeOfType__FPi
/* 8001F5B8 90 7F 00 C0 */ stw r3, 0xc0(r31)
/* 8001F5BC 80 1E 00 24 */ lwz r0, 0x24(r30)
/* 8001F5C0 90 1F 00 D8 */ stw r0, 0xd8(r31)
/* 8001F5C4 38 7F 00 C4 */ addi r3, r31, 0xc4
/* 8001F5C8 7F E4 FB 78 */ mr r4, r31
/* 8001F5CC 48 00 0F 29 */ bl fopDwTg_Init__FP16create_tag_classPv
/* 8001F5D0 7F E3 FB 78 */ mr r3, r31
/* 8001F5D4 48 00 04 71 */ bl fopMsgM_GetAppend__FPv
/* 8001F5D8 28 03 00 00 */ cmplwi r3, 0
/* 8001F5DC 41 82 00 3C */ beq lbl_8001F618
/* 8001F5E0 80 03 00 00 */ lwz r0, 0(r3)
/* 8001F5E4 90 1F 00 DC */ stw r0, 0xdc(r31)
/* 8001F5E8 C0 03 00 04 */ lfs f0, 4(r3)
/* 8001F5EC D0 1F 00 E0 */ stfs f0, 0xe0(r31)
/* 8001F5F0 C0 03 00 08 */ lfs f0, 8(r3)
/* 8001F5F4 D0 1F 00 E4 */ stfs f0, 0xe4(r31)
/* 8001F5F8 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 8001F5FC D0 1F 00 E8 */ stfs f0, 0xe8(r31)
/* 8001F600 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8001F604 90 1F 00 EC */ stw r0, 0xec(r31)
/* 8001F608 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8001F60C 90 1F 00 F0 */ stw r0, 0xf0(r31)
/* 8001F610 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8001F614 90 1F 00 F4 */ stw r0, 0xf4(r31)
lbl_8001F618:
/* 8001F618 80 7F 00 D8 */ lwz r3, 0xd8(r31)
/* 8001F61C 7F E4 FB 78 */ mr r4, r31
/* 8001F620 48 00 2E AD */ bl fpcMtd_Create__FP20process_method_classPv
/* 8001F624 7C 7E 1B 78 */ mr r30, r3
/* 8001F628 2C 1E 00 04 */ cmpwi r30, 4
/* 8001F62C 40 82 00 18 */ bne lbl_8001F644
/* 8001F630 7F E3 FB 78 */ mr r3, r31
/* 8001F634 48 00 23 CD */ bl fpcLf_GetPriority__FPC14leafdraw_class
/* 8001F638 7C 64 07 34 */ extsh r4, r3
/* 8001F63C 38 7F 00 C4 */ addi r3, r31, 0xc4
/* 8001F640 48 00 0E 6D */ bl fopDwTg_ToDrawQ__FP16create_tag_classi
lbl_8001F644:
/* 8001F644 7F C3 F3 78 */ mr r3, r30
/* 8001F648 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8001F64C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8001F650 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001F654 7C 08 03 A6 */ mtlr r0
/* 8001F658 38 21 00 10 */ addi r1, r1, 0x10
/* 8001F65C 4E 80 00 20 */ blr

View File

@ -1,28 +0,0 @@
lbl_8001E41C:
/* 8001E41C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8001E420 7C 08 02 A6 */ mflr r0
/* 8001E424 90 01 00 14 */ stw r0, 0x14(r1)
/* 8001E428 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8001E42C 93 C1 00 08 */ stw r30, 8(r1)
/* 8001E430 7C 7F 1B 78 */ mr r31, r3
/* 8001E434 88 03 00 0C */ lbz r0, 0xc(r3)
/* 8001E438 7C 00 07 75 */ extsb. r0, r0
/* 8001E43C 40 82 00 24 */ bne lbl_8001E460
/* 8001E440 83 DF 00 10 */ lwz r30, 0x10(r31)
/* 8001E444 38 7F 00 C4 */ addi r3, r31, 0xc4
/* 8001E448 38 80 00 01 */ li r4, 1
/* 8001E44C 48 24 84 05 */ bl cReq_Create__FP18request_base_classUc
/* 8001E450 80 1E 00 24 */ lwz r0, 0x24(r30)
/* 8001E454 90 1F 00 C0 */ stw r0, 0xc0(r31)
/* 8001E458 38 00 FF FF */ li r0, -1
/* 8001E45C 90 1F 00 C8 */ stw r0, 0xc8(r31)
lbl_8001E460:
/* 8001E460 80 7F 00 C0 */ lwz r3, 0xc0(r31)
/* 8001E464 7F E4 FB 78 */ mr r4, r31
/* 8001E468 48 00 40 65 */ bl fpcMtd_Create__FP20process_method_classPv
/* 8001E46C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8001E470 83 C1 00 08 */ lwz r30, 8(r1)
/* 8001E474 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001E478 7C 08 03 A6 */ mtlr r0
/* 8001E47C 38 21 00 10 */ addi r1, r1, 0x10
/* 8001E480 4E 80 00 20 */ blr

View File

@ -1,28 +0,0 @@
lbl_8045D0B4:
/* 8045D0B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8045D0B8 7C 08 02 A6 */ mflr r0
/* 8045D0BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8045D0C0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8045D0C4 93 C1 00 08 */ stw r30, 8(r1)
/* 8045D0C8 7C 7E 1B 79 */ or. r30, r3, r3
/* 8045D0CC 7C 9F 23 78 */ mr r31, r4
/* 8045D0D0 41 82 00 30 */ beq lbl_8045D100
/* 8045D0D4 38 7E 05 68 */ addi r3, r30, 0x568
/* 8045D0D8 3C 80 80 46 */ lis r4, l_arcName@ha /* 0x8045D290@ha */
/* 8045D0DC 38 84 D2 90 */ addi r4, r4, l_arcName@l /* 0x8045D290@l */
/* 8045D0E0 4B BC FF 29 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
/* 8045D0E4 7F C3 F3 78 */ mr r3, r30
/* 8045D0E8 38 80 00 00 */ li r4, 0
/* 8045D0EC 4B BB BB A1 */ bl __dt__10fopAc_ac_cFv
/* 8045D0F0 7F E0 07 35 */ extsh. r0, r31
/* 8045D0F4 40 81 00 0C */ ble lbl_8045D100
/* 8045D0F8 7F C3 F3 78 */ mr r3, r30
/* 8045D0FC 4B E7 1C 41 */ bl __dl__FPv
lbl_8045D100:
/* 8045D100 7F C3 F3 78 */ mr r3, r30
/* 8045D104 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8045D108 83 C1 00 08 */ lwz r30, 8(r1)
/* 8045D10C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8045D110 7C 08 03 A6 */ mtlr r0
/* 8045D114 38 21 00 10 */ addi r1, r1, 0x10
/* 8045D118 4E 80 00 20 */ blr

View File

@ -1,64 +0,0 @@
lbl_8045CED8:
/* 8045CED8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8045CEDC 7C 08 02 A6 */ mflr r0
/* 8045CEE0 90 01 00 34 */ stw r0, 0x34(r1)
/* 8045CEE4 39 61 00 30 */ addi r11, r1, 0x30
/* 8045CEE8 4B F0 52 F1 */ bl _savegpr_28
/* 8045CEEC 7C 7F 1B 78 */ mr r31, r3
/* 8045CEF0 38 60 00 58 */ li r3, 0x58
/* 8045CEF4 4B E7 1D 59 */ bl __nw__FUl
/* 8045CEF8 7C 7E 1B 79 */ or. r30, r3, r3
/* 8045CEFC 41 82 00 88 */ beq lbl_8045CF84
/* 8045CF00 3C 60 80 46 */ lis r3, l_arcName@ha /* 0x8045D290@ha */
/* 8045CF04 38 63 D2 90 */ addi r3, r3, l_arcName@l /* 0x8045D290@l */
/* 8045CF08 38 80 00 04 */ li r4, 4
/* 8045CF0C 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8045CF10 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8045CF14 3F 85 00 02 */ addis r28, r5, 2
/* 8045CF18 3B 9C C2 F8 */ addi r28, r28, -15624
/* 8045CF1C 7F 85 E3 78 */ mr r5, r28
/* 8045CF20 38 C0 00 80 */ li r6, 0x80
/* 8045CF24 4B BD F3 C9 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 8045CF28 7C 7D 1B 78 */ mr r29, r3
/* 8045CF2C 3C 60 80 46 */ lis r3, l_arcName@ha /* 0x8045D290@ha */
/* 8045CF30 38 63 D2 90 */ addi r3, r3, l_arcName@l /* 0x8045D290@l */
/* 8045CF34 38 80 00 08 */ li r4, 8
/* 8045CF38 7F 85 E3 78 */ mr r5, r28
/* 8045CF3C 38 C0 00 80 */ li r6, 0x80
/* 8045CF40 4B BD F3 AD */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 8045CF44 7C 64 1B 78 */ mr r4, r3
/* 8045CF48 38 00 00 00 */ li r0, 0
/* 8045CF4C 90 01 00 08 */ stw r0, 8(r1)
/* 8045CF50 90 01 00 0C */ stw r0, 0xc(r1)
/* 8045CF54 90 01 00 10 */ stw r0, 0x10(r1)
/* 8045CF58 7F C3 F3 78 */ mr r3, r30
/* 8045CF5C 38 A0 00 00 */ li r5, 0
/* 8045CF60 38 C0 00 00 */ li r6, 0
/* 8045CF64 7F A7 EB 78 */ mr r7, r29
/* 8045CF68 39 00 00 02 */ li r8, 2
/* 8045CF6C 3D 20 80 46 */ lis r9, lit_3769@ha /* 0x8045D298@ha */
/* 8045CF70 C0 29 D2 98 */ lfs f1, lit_3769@l(r9) /* 0x8045D298@l */
/* 8045CF74 39 20 00 00 */ li r9, 0
/* 8045CF78 39 40 FF FF */ li r10, -1
/* 8045CF7C 4B BB 38 55 */ bl __ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl
/* 8045CF80 7C 7E 1B 78 */ mr r30, r3
lbl_8045CF84:
/* 8045CF84 93 DF 05 74 */ stw r30, 0x574(r31)
/* 8045CF88 80 7F 05 74 */ lwz r3, 0x574(r31)
/* 8045CF8C 28 03 00 00 */ cmplwi r3, 0
/* 8045CF90 41 82 00 10 */ beq lbl_8045CFA0
/* 8045CF94 80 03 00 04 */ lwz r0, 4(r3)
/* 8045CF98 28 00 00 00 */ cmplwi r0, 0
/* 8045CF9C 40 82 00 0C */ bne lbl_8045CFA8
lbl_8045CFA0:
/* 8045CFA0 38 60 00 00 */ li r3, 0
/* 8045CFA4 48 00 00 08 */ b lbl_8045CFAC
lbl_8045CFA8:
/* 8045CFA8 38 60 00 01 */ li r3, 1
lbl_8045CFAC:
/* 8045CFAC 39 61 00 30 */ addi r11, r1, 0x30
/* 8045CFB0 4B F0 52 75 */ bl _restgpr_28
/* 8045CFB4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8045CFB8 7C 08 03 A6 */ mtlr r0
/* 8045CFBC 38 21 00 30 */ addi r1, r1, 0x30
/* 8045CFC0 4E 80 00 20 */ blr

View File

@ -1,50 +0,0 @@
lbl_8045CFE4:
/* 8045CFE4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8045CFE8 7C 08 02 A6 */ mflr r0
/* 8045CFEC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8045CFF0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8045CFF4 93 C1 00 08 */ stw r30, 8(r1)
/* 8045CFF8 7C 7E 1B 78 */ mr r30, r3
/* 8045CFFC 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 8045D000 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 8045D004 40 82 00 1C */ bne lbl_8045D020
/* 8045D008 28 1E 00 00 */ cmplwi r30, 0
/* 8045D00C 41 82 00 08 */ beq lbl_8045D014
/* 8045D010 4B BB BB 55 */ bl __ct__10fopAc_ac_cFv
lbl_8045D014:
/* 8045D014 80 1E 04 A0 */ lwz r0, 0x4a0(r30)
/* 8045D018 60 00 00 08 */ ori r0, r0, 8
/* 8045D01C 90 1E 04 A0 */ stw r0, 0x4a0(r30)
lbl_8045D020:
/* 8045D020 38 7E 05 68 */ addi r3, r30, 0x568
/* 8045D024 3C 80 80 46 */ lis r4, l_arcName@ha /* 0x8045D290@ha */
/* 8045D028 38 84 D2 90 */ addi r4, r4, l_arcName@l /* 0x8045D290@l */
/* 8045D02C 4B BC FE 91 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc
/* 8045D030 7C 7F 1B 78 */ mr r31, r3
/* 8045D034 2C 1F 00 04 */ cmpwi r31, 4
/* 8045D038 40 82 00 40 */ bne lbl_8045D078
/* 8045D03C 7F C3 F3 78 */ mr r3, r30
/* 8045D040 3C 80 80 46 */ lis r4, daDmidna_createHeap__FP10fopAc_ac_c@ha /* 0x8045CFC4@ha */
/* 8045D044 38 84 CF C4 */ addi r4, r4, daDmidna_createHeap__FP10fopAc_ac_c@l /* 0x8045CFC4@l */
/* 8045D048 3C A0 00 01 */ lis r5, 0x0001 /* 0x0000AEE0@ha */
/* 8045D04C 38 A5 AE E0 */ addi r5, r5, 0xAEE0 /* 0x0000AEE0@l */
/* 8045D050 4B BB D4 61 */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl
/* 8045D054 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8045D058 40 82 00 0C */ bne lbl_8045D064
/* 8045D05C 38 60 00 05 */ li r3, 5
/* 8045D060 48 00 00 1C */ b lbl_8045D07C
lbl_8045D064:
/* 8045D064 80 7E 05 74 */ lwz r3, 0x574(r30)
/* 8045D068 80 03 00 04 */ lwz r0, 4(r3)
/* 8045D06C 90 1E 05 24 */ stw r0, 0x524(r30)
/* 8045D070 7F C3 F3 78 */ mr r3, r30
/* 8045D074 48 00 00 D1 */ bl setMatrix__10daDmidna_cFv
lbl_8045D078:
/* 8045D078 7F E3 FB 78 */ mr r3, r31
lbl_8045D07C:
/* 8045D07C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8045D080 83 C1 00 08 */ lwz r30, 8(r1)
/* 8045D084 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8045D088 7C 08 03 A6 */ mtlr r0
/* 8045D08C 38 21 00 10 */ addi r1, r1, 0x10
/* 8045D090 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_8045D094:
/* 8045D094 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8045D098 7C 08 02 A6 */ mflr r0
/* 8045D09C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8045D0A0 4B FF FF 45 */ bl create__10daDmidna_cFv
/* 8045D0A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8045D0A8 7C 08 03 A6 */ mtlr r0
/* 8045D0AC 38 21 00 10 */ addi r1, r1, 0x10
/* 8045D0B0 4E 80 00 20 */ blr

View File

@ -1,11 +0,0 @@
lbl_8045D11C:
/* 8045D11C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8045D120 7C 08 02 A6 */ mflr r0
/* 8045D124 90 01 00 14 */ stw r0, 0x14(r1)
/* 8045D128 38 80 FF FF */ li r4, -1
/* 8045D12C 4B FF FF 89 */ bl __dt__10daDmidna_cFv
/* 8045D130 38 60 00 01 */ li r3, 1
/* 8045D134 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8045D138 7C 08 03 A6 */ mtlr r0
/* 8045D13C 38 21 00 10 */ addi r1, r1, 0x10
/* 8045D140 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_8045D268:
/* 8045D268 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8045D26C 7C 08 02 A6 */ mflr r0
/* 8045D270 90 01 00 14 */ stw r0, 0x14(r1)
/* 8045D274 4B FF FF 91 */ bl draw__10daDmidna_cFv
/* 8045D278 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8045D27C 7C 08 03 A6 */ mtlr r0
/* 8045D280 38 21 00 10 */ addi r1, r1, 0x10
/* 8045D284 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_8045D1E4:
/* 8045D1E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8045D1E8 7C 08 02 A6 */ mflr r0
/* 8045D1EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8045D1F0 4B FF FF B1 */ bl execute__10daDmidna_cFv
/* 8045D1F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8045D1F8 7C 08 03 A6 */ mtlr r0
/* 8045D1FC 38 21 00 10 */ addi r1, r1, 0x10
/* 8045D200 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_8045CFC4:
/* 8045CFC4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8045CFC8 7C 08 02 A6 */ mflr r0
/* 8045CFCC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8045CFD0 4B FF FF 09 */ bl createHeap__10daDmidna_cFv
/* 8045CFD4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8045CFD8 7C 08 03 A6 */ mtlr r0
/* 8045CFDC 38 21 00 10 */ addi r1, r1, 0x10
/* 8045CFE0 4E 80 00 20 */ blr

View File

@ -1,26 +0,0 @@
lbl_8045D204:
/* 8045D204 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8045D208 7C 08 02 A6 */ mflr r0
/* 8045D20C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8045D210 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8045D214 7C 7F 1B 78 */ mr r31, r3
/* 8045D218 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8045D21C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8045D220 38 80 00 00 */ li r4, 0
/* 8045D224 38 BF 04 D0 */ addi r5, r31, 0x4d0
/* 8045D228 38 DF 01 0C */ addi r6, r31, 0x10c
/* 8045D22C 4B D4 65 99 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c
/* 8045D230 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 8045D234 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 8045D238 80 9F 05 24 */ lwz r4, 0x524(r31)
/* 8045D23C 80 84 00 04 */ lwz r4, 4(r4)
/* 8045D240 38 BF 01 0C */ addi r5, r31, 0x10c
/* 8045D244 4B D4 7B 5D */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
/* 8045D248 80 7F 05 24 */ lwz r3, 0x524(r31)
/* 8045D24C 4B BB 0B 19 */ bl mDoExt_modelEntryDL__FP8J3DModel
/* 8045D250 38 60 00 01 */ li r3, 1
/* 8045D254 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8045D258 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8045D25C 7C 08 03 A6 */ mtlr r0
/* 8045D260 38 21 00 10 */ addi r1, r1, 0x10
/* 8045D264 4E 80 00 20 */ blr

View File

@ -1,18 +0,0 @@
lbl_8045D1A0:
/* 8045D1A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8045D1A4 7C 08 02 A6 */ mflr r0
/* 8045D1A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8045D1AC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8045D1B0 7C 7F 1B 78 */ mr r31, r3
/* 8045D1B4 80 63 05 74 */ lwz r3, 0x574(r3)
/* 8045D1B8 38 80 00 00 */ li r4, 0
/* 8045D1BC 38 A0 00 00 */ li r5, 0
/* 8045D1C0 4B BB 3E F1 */ bl play__16mDoExt_McaMorfSOFUlSc
/* 8045D1C4 7F E3 FB 78 */ mr r3, r31
/* 8045D1C8 4B FF FF 7D */ bl setMatrix__10daDmidna_cFv
/* 8045D1CC 38 60 00 01 */ li r3, 1
/* 8045D1D0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8045D1D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8045D1D8 7C 08 03 A6 */ mtlr r0
/* 8045D1DC 38 21 00 10 */ addi r1, r1, 0x10
/* 8045D1E0 4E 80 00 20 */ blr

View File

@ -1,24 +0,0 @@
lbl_8045D144:
/* 8045D144 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8045D148 7C 08 02 A6 */ mflr r0
/* 8045D14C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8045D150 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8045D154 7C 7F 1B 78 */ mr r31, r3
/* 8045D158 38 7F 04 D0 */ addi r3, r31, 0x4d0
/* 8045D15C 4B BA FC 09 */ bl transS__14mDoMtx_stack_cFRC4cXyz
/* 8045D160 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8045D164 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8045D168 A8 9F 04 E6 */ lha r4, 0x4e6(r31)
/* 8045D16C 4B BA F2 C9 */ bl mDoMtx_YrotM__FPA4_fs
/* 8045D170 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8045D174 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 8045D178 80 9F 05 24 */ lwz r4, 0x524(r31)
/* 8045D17C 38 84 00 24 */ addi r4, r4, 0x24
/* 8045D180 4B EE 93 31 */ bl PSMTXCopy
/* 8045D184 80 7F 05 74 */ lwz r3, 0x574(r31)
/* 8045D188 4B BB 40 65 */ bl modelCalc__16mDoExt_McaMorfSOFv
/* 8045D18C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8045D190 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8045D194 7C 08 03 A6 */ mtlr r0
/* 8045D198 38 21 00 10 */ addi r1, r1, 0x10
/* 8045D19C 4E 80 00 20 */ blr

View File

@ -16,7 +16,7 @@ struct dCamMapToolData {
/* 8015FEB8 */ void Set(s32, s32, fopAc_ac_c*, u16, u8);
/* 0x00 */ stage_camera2_data_class field_0x0;
/* 0x18 */ stage_arrow_class field_0x18;
/* 0x18 */ stage_arrow_data_class field_0x18;
/* 0x2C */ u32 field_0x2c;
/* 0x30 */ s32 field_0x30;
/* 0x34 */ fopAc_ac_c* field_0x34;
@ -332,6 +332,7 @@ public:
/* 801829AC */ void Bank();
bool Active() { return field_0x24 == 0; }
f32 TrimHeight() { return mTrimHeight; }
static u8 engine_tbl[240];
@ -405,6 +406,7 @@ public:
/* 0x1A0 */ int mCurMode;
/* 0x1A4 */ int mNextMode;
/* 0x1A8 */ int field_0x1a8;
/* 0x1AC */ int field_0x1ac;
/* 0x1B0 */ cSAngle field_0x1b0;
/* 0x1B4 */ f32 field_0x1b4;
/* 0x1B8 */ u8 field_0x1b8[4];
@ -452,7 +454,7 @@ public:
class {
public:
/* 0x00 */ u8 field_0x0[8];
/* 0x08 */ cSAngle field_0x8;
/* 0x08 */ cSGlobe field_0x8;
/* 0x10 */ u8 field_0x10[4];
}
/* 0x614 */ field_0x614[4];
@ -520,8 +522,8 @@ public:
/* 0x940 */ u8 field_0x940[0x970 - 0x940];
/* 0x970 */ dCamSetup_c mCamSetup;
/* 0xAEC */ dCamParam_c mCamParam;
/* 0xB0C */
};
/* 0xB0C */ u8 field_0xb0c[0xd58 - 0xb0c];
}; // Size: 0xD58
dCamera_c* dCam_getBody();
dCamera_c* dCam_getCamera();

View File

@ -1,29 +1,30 @@
#ifndef D_D_INSECT_H
#define D_D_INSECT_H
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
class dInsect_c : public fopAc_ac_c {
public:
/* 80110648 */ virtual void Insect_Release();
/* 8015E010 */ dInsect_c();
/* 8015E078 */ virtual void Insect_GetDemoMain();
/* 8015E26C */ virtual void CalcZBuffer(f32);
/* 8015E010 */ dInsect_c();
/* 8015E078 */ void Insect_GetDemoMain();
/* 8015E26C */ void CalcZBuffer(f32);
/* 80110648 */ virtual void Insect_Release() { field_0x56C = 1; }
private:
/* 0x56C */ u8 field_0x56C;
/* 0x56D */ u8 field_0x56D;
/* 0x56E */ u8 field_0x56E[10];
/* 0x578 */ u32 field_0x578;
/* 0x57C */ f32 field_0x57C;
/* 0x580 */ u8 field_0x580;
/* 0x580 */ u8 m_itemNo;
/* 0x581 */ u8 field_0x581;
/* 0x582 */ s16 field_0x582;
/* 0x582 */ s16 m_saveBitNo;
/* 0x584 */ u8 field_0x584;
/* 0x585 */ u8 field_0x585;
/* 0x586 */ u8 field_0x586[2];
/* 0x588 */ u32 field_0x588;
/* 0x58C */ int field_0x58C;
/* 0x588 */ u32 m_itemId;
/* 0x58C */ int m_mode;
};

View File

@ -8,16 +8,17 @@
class dJntColData_c {
public:
u8 field_0x0;
s8 mType;
u8 field_0x2[0xC - 0x2];
/* 0x0 */ u8 field_0x0;
/* 0x1 */ s8 mType;
/* 0x2 */ s16 mJntNum;
/* 0x4 */ u8 field_0x4[0xC - 0x4];
};
class dJntCol_c {
public:
/* 80035C8C */ dJntCol_c();
/* 80035CA0 */ int init(fopAc_ac_c*, dJntColData_c const*, J3DModel*, int);
/* 80035CC8 */ void setNowLine(cM3dGLin*, cXyz const*, csXyz const*, cXyz*);
/* 80035CC8 */ static void setNowLine(cM3dGLin*, cXyz const*, csXyz const*, cXyz*);
/* 80035DC8 */ void searchNearPos(cM3dGLin const*, cXyz const*, cXyz*, int) const;
/* 80036AEC */ void getArrowOffsetPosAndAngle(cXyz const*, csXyz const*, cXyz*, cXyz*) const;
/* 80036C44 */ int getHitmarkPosAndAngle(cXyz const*, csXyz const*, cXyz*, csXyz*, int) const;
@ -30,7 +31,7 @@ public:
s8 getType(int i) { return mData[i].mType; }
/* 0x00 */ dJntColData_c* mData;
/* 0x00 */ const dJntColData_c* mData;
/* 0x04 */ J3DModel* mModel;
/* 0x08 */ int field_0x8;
/* 0x0C */ int field_0xc;

View File

@ -1,9 +1,9 @@
#ifndef D_D_KYEFF_H
#define D_D_KYEFF_H
#include "dolphin/types.h"
#include "f_op/f_op_kankyo.h"
class dKyeff_c {
class dKyeff_c : public kankyo_class {
public:
int execute();
};

View File

@ -1,12 +1,11 @@
#ifndef D_D_KYEFF2_H
#define D_D_KYEFF2_H
#include "dolphin/types.h"
#include "SSystem/SComponent/c_phase.h"
#include "f_op/f_op_kankyo.h"
class dKyeff2_c {
class dKyeff2_c : public kankyo_class {
public:
bool execute();
int execute();
};
#endif /* D_D_KYEFF2_H */

View File

@ -15,4 +15,11 @@ public:
/* 0xF4 */ u32 mParam;
};
struct kankyo_process_profile_definition {
/* 0x00 */ leaf_process_profile_definition base;
/* 0x24 */ leafdraw_method_class* mSubMtd;
}; // Size: 0x28
extern leafdraw_method_class g_fopKy_Method;
#endif /* F_OP_F_OP_KANKYO_H */

View File

@ -2,28 +2,33 @@
#define F_F_OP_OVERLAP_MNG_H_
#include "SSystem/SComponent/c_request.h"
#include "dolphin/types.h"
#include "f_pc/f_pc_leaf.h"
class overlap_task_class {
class overlap_task_class : public leafdraw_class {
public:
/* 0x00 */ u8 field_0x00[0xC0];
/* 0xC0 */ leafdraw_method_class* field_0xc0;
/* 0xC4 */ u8 field_0xc4;
};
/* 0xC4 */ u8 field_0xc4; // used as both u8 and request_base_class* ??
/* 0xC8 */ int field_0xc8;
int fopOvlpM_SceneIsStop(void);
int fopOvlpM_SceneIsStart(void);
void fopOvlpM_Management(void);
int fopOvlpM_IsOutReq(overlap_task_class* pTaskClass);
void fopOvlpM_Done(overlap_task_class* pTaskClass);
}; // Size: 0xD8?
struct overlap_process_profile_definition {
/* 0x00 */ leaf_process_profile_definition base;
/* 0x24 */ leafdraw_method_class* mSubMtd;
}; // Size: 0x28
int fopOvlpM_SceneIsStop();
int fopOvlpM_SceneIsStart();
void fopOvlpM_Management();
int fopOvlpM_IsOutReq(overlap_task_class* i_this);
void fopOvlpM_Done(overlap_task_class* i_this);
void fopOvlpM_ToldAboutID(unsigned int param_1);
int fopOvlpM_IsPeek(void);
int fopOvlpM_IsDone(void);
int fopOvlpM_IsDoingReq(void);
int fopOvlpM_ClearOfReq(void);
int fopOvlpM_IsPeek();
int fopOvlpM_IsDone();
int fopOvlpM_IsDoingReq();
int fopOvlpM_ClearOfReq();
request_base_class* fopOvlpM_Request(s16 param_1, u16 param_2);
int fopOvlpM_Cancel(void);
int fopOvlpM_Cancel();
void fopOvlpM_Init();
#endif

View File

@ -12,6 +12,10 @@
#include "f_pc/f_pc_leaf.h"
#include "f_pc/f_pc_layer_iter.h"
enum {
fpcM_ERROR_PROCESS_ID_e = -1,
};
typedef int (*FastCreateReqFunc)(void*);
typedef void (*fpcM_ManagementFunc)(void);
typedef int (*fpcM_DrawIteraterFunc)(void*, void*);

View File

@ -12,8 +12,8 @@
class mDoExt_baseAnm {
public:
mDoExt_baseAnm() {}
/* 8000D320 */ int initPlay(s16 i_frameMax, int i_attribute, f32 i_rate, s16 i_start,
s16 param_4);
/* 8000D320 */ int initPlay(s16 i_frameMax, int i_attribute, f32 i_rate, s16 i_startF,
s16 i_endF);
/* 8000D428 */ int play();
void setPlaySpeed(f32 speed) { mFrameCtrl.setRate(speed); }
@ -141,7 +141,7 @@ public:
void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); }
J3DAnmTransform* getBckAnm() { return mAnm; }
void removeJoint (J3DModelData* i_modelData, u16 i_idx) {
void removeJoint(J3DModelData* i_modelData, u16 i_idx) {
J3DJoint* mpJnt = i_modelData->getJointNodePointer(i_idx);
mpJnt->setMtxCalc(0);
}
@ -259,7 +259,7 @@ public:
f32 getFrame() { return mFrameCtrl.getFrame(); }
u8 getPlayMode() { return mFrameCtrl.getAttribute(); }
bool isLoop() { return mFrameCtrl.checkState(2); }
f32 getEndFrame() { return mFrameCtrl.getEnd(); }
f32 getEndFrame() { return mFrameCtrl.getEnd(); }
bool isStop() {
bool stopped = true;

View File

@ -66,10 +66,10 @@ struct mDoMain {
static s8 developmentMode;
};
extern bool sOSReportDisabled;
extern bool data_80450B99;
extern bool data_80450B9A;
extern bool data_80450B9B;
extern bool sOSReportForceEnable;
extern bool __OSReport_disable;
extern bool __OSReport_Error_disable;
extern bool __OSReport_Warning_disable;
extern bool __OSReport_System_disable;
extern bool __OSReport_enable;
#endif /* M_DO_M_DO_MAIN_H */

View File

@ -1,6 +1,20 @@
#ifndef D_A_DMIDNA_H
#define D_A_DMIDNA_H
#include "dolphin/types.h"
#include "d/com/d_com_inf_game.h"
class daDmidna_c : public fopAc_ac_c {
public:
/* 8045CED8 */ int createHeap();
/* 8045CFE4 */ int create();
/* 8045D0B4 */ ~daDmidna_c();
/* 8045D144 */ void setMatrix();
/* 8045D1A0 */ int execute();
/* 8045D204 */ int draw();
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ u8 unk_0x570[4];
/* 0x574 */ mDoExt_McaMorfSO* mpModelMorf;
};
#endif /* D_A_DMIDNA_H */

View File

@ -142,8 +142,7 @@ JUTConsoleManager* JFWSystem::systemConsoleManager;
JUTConsole* JFWSystem::systemConsole;
/* 804511BC-804511C0 0006BC 0004+00 1/1 0/0 0/0 .sbss None */
static u8 data_804511BC;
// static bool sInitCalled
static u8 sInitCalled;
/* 80455240-80455244 003840 0004+00 1/1 0/0 0/0 .sdata2 @2242 */
SECTION_SDATA2 static f32 lit_2242 = 0.5f;
@ -161,7 +160,7 @@ void JFWSystem::init() {
if (rootHeap == NULL) {
firstInit();
}
data_804511BC = true;
sInitCalled = true;
JKRAram::create(CSetUpParam::aramAudioBufSize, CSetUpParam::aramGraphBufSize,
CSetUpParam::streamPriority, CSetUpParam::decompPriority,

View File

@ -1,273 +1,127 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_dmidna
//
/**
* d_a_dmidna.cpp
* Dying Midna Actor
*/
#include "rel/d/a/d_a_dmidna/d_a_dmidna.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct cXyz {};
struct mDoMtx_stack_c {
/* 8000CD64 */ void transS(cXyz const&);
static u8 now[48];
};
struct mDoExt_McaMorfCallBack2_c {};
struct mDoExt_McaMorfCallBack1_c {};
struct J3DAnmTransform {};
struct J3DModelData {};
struct Z2Creature {};
struct mDoExt_McaMorfSO {
/* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int,
int, Z2Creature*, u32, u32);
/* 800110B0 */ void play(u32, s8);
/* 800111EC */ void modelCalc();
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
/* 80018C8C */ ~fopAc_ac_c();
};
struct daDmidna_c {
/* 8045CED8 */ void createHeap();
/* 8045CFE4 */ void create();
/* 8045D0B4 */ ~daDmidna_c();
/* 8045D144 */ void setMatrix();
/* 8045D1A0 */ void execute();
/* 8045D204 */ void draw();
};
struct dKy_tevstr_c {};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct J3DModel {};
//
// Forward References:
//
extern "C" void createHeap__10daDmidna_cFv();
extern "C" static void daDmidna_createHeap__FP10fopAc_ac_c();
extern "C" void create__10daDmidna_cFv();
extern "C" static void daDmidna_Create__FP10fopAc_ac_c();
extern "C" void __dt__10daDmidna_cFv();
extern "C" static void daDmidna_Delete__FP10daDmidna_c();
extern "C" void setMatrix__10daDmidna_cFv();
extern "C" void execute__10daDmidna_cFv();
extern "C" static void daDmidna_Execute__FP10daDmidna_c();
extern "C" void draw__10daDmidna_cFv();
extern "C" static void daDmidna_Draw__FP10daDmidna_c();
extern "C" extern void* g_profile_DMIDNA[12];
//
// External References:
//
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
extern "C" void mDoExt_modelEntryDL__FP8J3DModel();
extern "C" void
__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl();
extern "C" void play__16mDoExt_McaMorfSOFUlSc();
extern "C" void modelCalc__16mDoExt_McaMorfSOFv();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void PSMTXCopy();
extern "C" void _savegpr_28();
extern "C" void _restgpr_28();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
//
// Declarations:
//
/* ############################################################################################## */
/* 8045D290-8045D298 000000 0007+01 3/3 0/0 0/0 .rodata l_arcName */
SECTION_RODATA static u8 const l_arcName[7 + 1 /* padding */] = {
0x44,
0x6D,
0x69,
0x64,
0x6E,
0x61,
0x00,
/* padding */
0x00,
};
COMPILER_STRIP_GATE(0x8045D290, &l_arcName);
/* 8045D298-8045D29C 000008 0004+00 1/1 0/0 0/0 .rodata @3769 */
SECTION_RODATA static f32 const lit_3769 = 1.0f;
COMPILER_STRIP_GATE(0x8045D298, &lit_3769);
static const char l_arcName[] = "Dmidna";
/* 8045CED8-8045CFC4 000078 00EC+00 1/1 0/0 0/0 .text createHeap__10daDmidna_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daDmidna_c::createHeap() {
nofralloc
#include "asm/rel/d/a/d_a_dmidna/d_a_dmidna/createHeap__10daDmidna_cFv.s"
int daDmidna_c::createHeap() {
mpModelMorf = new mDoExt_McaMorfSO((J3DModelData*)dComIfG_getObjectRes(l_arcName, 8), NULL,
NULL, (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 4),
2, 1.0f, 0, -1, NULL, 0, 0);
if (mpModelMorf == NULL || mpModelMorf->getModel() == NULL) {
return 0;
}
return 1;
}
#pragma pop
/* 8045CFC4-8045CFE4 000164 0020+00 1/1 0/0 0/0 .text daDmidna_createHeap__FP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daDmidna_createHeap(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_dmidna/d_a_dmidna/daDmidna_createHeap__FP10fopAc_ac_c.s"
static int daDmidna_createHeap(fopAc_ac_c* i_this) {
return static_cast<daDmidna_c*>(i_this)->createHeap();
}
#pragma pop
/* 8045CFE4-8045D094 000184 00B0+00 1/1 0/0 0/0 .text create__10daDmidna_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daDmidna_c::create() {
nofralloc
#include "asm/rel/d/a/d_a_dmidna/d_a_dmidna/create__10daDmidna_cFv.s"
int daDmidna_c::create() {
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daDmidna_c();
fopAcM_OnCondition(this, 8);
}
int phase = dComIfG_resLoad(&mPhase, l_arcName);
if (phase == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, daDmidna_createHeap, 0xAEE0)) {
return cPhs_ERROR_e;
}
model = mpModelMorf->getModel();
setMatrix();
}
return phase;
}
#pragma pop
/* 8045D094-8045D0B4 000234 0020+00 1/0 0/0 0/0 .text daDmidna_Create__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daDmidna_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_dmidna/d_a_dmidna/daDmidna_Create__FP10fopAc_ac_c.s"
static int daDmidna_Create(fopAc_ac_c* i_this) {
return static_cast<daDmidna_c*>(i_this)->create();
}
#pragma pop
/* 8045D0B4-8045D11C 000254 0068+00 1/1 0/0 0/0 .text __dt__10daDmidna_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daDmidna_c::~daDmidna_c() {
nofralloc
#include "asm/rel/d/a/d_a_dmidna/d_a_dmidna/__dt__10daDmidna_cFv.s"
daDmidna_c::~daDmidna_c() {
dComIfG_resDelete(&mPhase, l_arcName);
}
#pragma pop
/* 8045D11C-8045D144 0002BC 0028+00 1/0 0/0 0/0 .text daDmidna_Delete__FP10daDmidna_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daDmidna_Delete(daDmidna_c* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_dmidna/d_a_dmidna/daDmidna_Delete__FP10daDmidna_c.s"
static int daDmidna_Delete(daDmidna_c* i_this) {
i_this->~daDmidna_c();
return 1;
}
#pragma pop
/* 8045D144-8045D1A0 0002E4 005C+00 2/2 0/0 0/0 .text setMatrix__10daDmidna_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daDmidna_c::setMatrix() {
nofralloc
#include "asm/rel/d/a/d_a_dmidna/d_a_dmidna/setMatrix__10daDmidna_cFv.s"
void daDmidna_c::setMatrix() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::YrotM(shape_angle.y);
model->i_setBaseTRMtx(mDoMtx_stack_c::get());
mpModelMorf->modelCalc();
}
#pragma pop
/* 8045D1A0-8045D1E4 000340 0044+00 1/1 0/0 0/0 .text execute__10daDmidna_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daDmidna_c::execute() {
nofralloc
#include "asm/rel/d/a/d_a_dmidna/d_a_dmidna/execute__10daDmidna_cFv.s"
int daDmidna_c::execute() {
mpModelMorf->play(0, 0);
setMatrix();
return 1;
}
#pragma pop
/* 8045D1E4-8045D204 000384 0020+00 1/0 0/0 0/0 .text daDmidna_Execute__FP10daDmidna_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daDmidna_Execute(daDmidna_c* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_dmidna/d_a_dmidna/daDmidna_Execute__FP10daDmidna_c.s"
static int daDmidna_Execute(daDmidna_c* i_this) {
return i_this->execute();
}
#pragma pop
/* 8045D204-8045D268 0003A4 0064+00 1/1 0/0 0/0 .text draw__10daDmidna_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daDmidna_c::draw() {
nofralloc
#include "asm/rel/d/a/d_a_dmidna/d_a_dmidna/draw__10daDmidna_cFv.s"
int daDmidna_c::draw() {
g_env_light.settingTevStruct(0, &current.pos, &mTevStr);
g_env_light.setLightTevColorType_MAJI(model, &mTevStr);
mDoExt_modelEntryDL(model);
return 1;
}
#pragma pop
/* 8045D268-8045D288 000408 0020+00 1/0 0/0 0/0 .text daDmidna_Draw__FP10daDmidna_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daDmidna_Draw(daDmidna_c* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_dmidna/d_a_dmidna/daDmidna_Draw__FP10daDmidna_c.s"
static int daDmidna_Draw(daDmidna_c* i_this) {
return i_this->draw();
}
#pragma pop
/* ############################################################################################## */
/* 8045D29C-8045D2BC -00001 0020+00 1/0 0/0 0/0 .data l_daDmidna_Method */
SECTION_DATA static void* l_daDmidna_Method[8] = {
(void*)daDmidna_Create__FP10fopAc_ac_c,
(void*)daDmidna_Delete__FP10daDmidna_c,
(void*)daDmidna_Execute__FP10daDmidna_c,
(void*)NULL,
(void*)daDmidna_Draw__FP10daDmidna_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daDmidna_Method = {
(process_method_func)daDmidna_Create, (process_method_func)daDmidna_Delete,
(process_method_func)daDmidna_Execute, (process_method_func)NULL,
(process_method_func)daDmidna_Draw,
};
/* 8045D2BC-8045D2EC -00001 0030+00 0/0 0/0 1/0 .data g_profile_DMIDNA */
SECTION_DATA extern void* g_profile_DMIDNA[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x02D80000, (void*)&g_fpcLf_Method,
(void*)0x00000578, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x005D0000, (void*)&l_daDmidna_Method,
(void*)0x00060000, (void*)0x03000000,
extern actor_process_profile_definition g_profile_DMIDNA = {
-3,
7,
0xFFFD,
PROC_DMIDNA,
0,
&g_fpcLf_Method.mBase,
sizeof(daDmidna_c),
0,
0,
&g_fopAc_Method.base,
0x005D,
0,
0,
&l_daDmidna_Method,
0x00060000,
3,
0,
0,
0,
};

View File

@ -3164,10 +3164,10 @@ static u8 struct_80450FC4[4];
/* 80450FC8-80450FCC -00001 0004+00 5/5 0/0 0/0 .sbss None */
/* 80450FC8 0001+00 data_80450FC8 None */
static bool struct_80450FC8; // sEyeMoveFlg
static bool m_eye_move_flg;
/* 80450FC9 0003+00 data_80450FC9 None */
static u8 sMorfFrame;
static u8 m_morf_frame;
/* 80452C98-80452C9C 001298 0004+00 102/102 0/0 0/0 .sdata2 @5943 */
SECTION_SDATA2 static f32 lit_5943 = 0.5f;
@ -3215,8 +3215,8 @@ void daAlink_matAnm_c::init() {
field_0xf8 = tmp_0;
mNowOffsetX = tmp_0;
mNowOffsetY = tmp_0;
struct_80450FC8 = false; // sEyeMoveFlg
sMorfFrame = 0;
m_eye_move_flg = false;
m_morf_frame = 0;
mSetFlag = 0;
}
@ -3237,9 +3237,9 @@ asm void daAlink_matAnm_c::calc(J3DMaterial* param_0) const {
for (u32 i = 0; i < 8; i++) {
if (getTexMtxAnm(i).getAnmFlag()) {
J3DTexMtxInfo* info = &param_0->getTexGenBlock()->getTexMtx(i)->getTexMtxInfo();
if (sMorfFrame != 0) {
if (m_morf_frame != 0) {
if (mSetFlag == 0) {
f32 tmp = 1.0f / sMorfFrame;
f32 tmp = 1.0f / m_morf_frame;
info->field_0x10.field_0xc = field_0xf4 * (1.0f - tmp) +
info->field_0x10.field_0xc * tmp; info->field_0x10.mCheckFrame = field_0xf8 * (1.0f - tmp) +
info->field_0x10.field_0xc * tmp;
@ -3250,7 +3250,7 @@ info->field_0x10.field_0xc * tmp;
}
}
if (struct_80450FC8) {
if (m_eye_move_flg) {
info->field_0x10.field_0xc = mNowOffsetX;
info->field_0x10.mCheckFrame = mNowOffsetY;
}
@ -12617,7 +12617,7 @@ static s32 bgWaitFlg;
/* 80450FD0-80450FD8 -00001 0008+00 2/2 0/0 0/0 .sbss None */
/* 80450FD0 0001+00 data_80450FD0 None */
/* 80450FD1 0007+00 data_80450FD1 None */
static s8 struct_80450FD0;
static s8 struct_80450FD0; // init$
#pragma push
#pragma force_active on

View File

@ -446,8 +446,14 @@ SECTION_DEAD static char const* const stringBase_803790B8 = "@bg%04x";
/* 80450D8C-80450D90 -00001 0004+00 0/0 1/1 3/3 .sbss None */
/* 80450D8C 0001+00 data_80450D8C None */
// u8 daYkgr_c::m_flag;
/* 80450D8D 0001+00 data_80450D8D None */
// u8 daYkgr_c::m_alpha_flag;
/* 80450D8E 0002+00 data_80450D8E None */
// u8 daYkgr_c::m_alpha;
extern u8 struct_80450D8C[4];
u8 struct_80450D8C[4];

View File

@ -5,8 +5,6 @@
#include "d/d_bomb.h"
#include "d/d_procname.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
bool dBomb_c::checkStateCarry() {

File diff suppressed because it is too large Load Diff

View File

@ -1,111 +1,80 @@
//
// Generated By: dol2asm
// Translation Unit: d/d_insect
//
/**
* d_insect.cpp
*
*/
#include "d/d_insect.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "d/com/d_com_inf_game.h"
#include "d/menu/d_menu_insect.h"
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_lib.h"
//
// Forward References:
//
//
// External References:
//
extern "C" void Insect_Release__9dInsect_cFv();
//
// Declarations:
//
inline int dComIfGs_isEventBit(u16 event) {
return g_dComIfG_gameInfo.info.getSavedata().getEvent().isEventBit(event);
}
/* ############################################################################################## */
SECTION_DATA extern void* __vt__9dInsect_c[3 + 1 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)Insect_Release__9dInsect_cFv,
/* padding */
NULL,
};
/* 8015E010-8015E078 158950 0068+00 0/0 0/0 13/13 .text __ct__9dInsect_cFv */
dInsect_c::dInsect_c() {
field_0x588 = -1;
m_itemId = -1;
field_0x56C = 0;
field_0x56D = 1;
field_0x58C = 0;
field_0x580 = 0xD6;
m_mode = 0;
m_itemNo = M_MAYFLY;
field_0x584 = 0;
field_0x585 = 0;
}
/* ############################################################################################## */
/* 8015E078-8015E26C 1589B8 01F4+00 0/0 0/0 24/24 .text Insect_GetDemoMain__9dInsect_cFv
*/
void dInsect_c::Insect_GetDemoMain() {
switch (field_0x58C) {
switch (m_mode) {
case 0:
if (fopAcM_checkCarryNow(this)) {
cLib_offBit(mAttentionInfo.mFlags,0x10);
cLib_offBit(mAttentionInfo.mFlags, 0x10);
fopAcM_cancelCarryNow(this);
fopAcM_orderItemEvent(this,0,0);
fopAcM_orderItemEvent(this, 0, 0);
mEvtInfo.i_onCondition(8);
field_0x588 = fopAcM_createItemForTrBoxDemo(&current.pos,field_0x580,-1,fopAcM_GetRoomNo(this),0,0);
field_0x58C = 1;
m_itemId = fopAcM_createItemForTrBoxDemo(&current.pos, m_itemNo, -1,
fopAcM_GetRoomNo(this), NULL, NULL);
m_mode = 1;
if (dMenu_Insect_c::isCatchNotGiveInsect(field_0x580) != 0) {
if (dMenu_Insect_c::isCatchNotGiveInsect(m_itemNo) != 0) {
field_0x585 = 1;
}
} else {
cLib_onBit(mAttentionInfo.mFlags,0x10);
cLib_onBit(mAttentionInfo.mFlags, 0x10);
}
break;
case 1:
if (mEvtInfo.checkCommandItem()) {
if (field_0x588 != -1) {
dComIfGp_event_setItemPartnerId(field_0x588);
if (m_itemId != fpcM_ERROR_PROCESS_ID_e) {
dComIfGp_event_setItemPartnerId(m_itemId);
}
field_0x56D = 0;
field_0x58C = 2;
m_mode = 2;
} else {
fopAcM_orderItemEvent(this,0,0);
fopAcM_orderItemEvent(this, 0, 0);
mEvtInfo.i_onCondition(8);
}
break;
case 2:
if (dComIfGp_evmng_endCheck("DEFAULT_GETITEM")) {
if (dComIfGp_evmng_endCheck("DEFAULT_GETITEM")) {
i_dComIfGp_event_reset();
if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x582]) || field_0x585 != 0) {
if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[m_saveBitNo]) ||
field_0x585 != 0)
{
field_0x56D = 1;
field_0x58C = 0;
m_mode = 0;
if (field_0x584 == 0) {
fopAcM_createItem(&current.pos,0,-1,-1,0,0,0);
fopAcM_createItem(&current.pos, HEART, -1, -1, NULL, NULL, 0);
field_0x584 = 1;
}
} else {
fopAcM_delete(this);
}
}
break;
}
}
/* ############################################################################################## */
/* 8015E26C-8015E3F8 158BAC 018C+00 0/0 0/0 3/3 .text CalcZBuffer__9dInsect_cFf */
void dInsect_c::CalcZBuffer(f32 param_0) {
f32 camera_trim_height;
@ -114,20 +83,19 @@ void dInsect_c::CalcZBuffer(f32 param_0) {
pos = current.pos;
pos.y += 20.0f;
mDoLib_project(&pos, &pos_projected);
if (dComIfGp_getCamera(0)) {
camera_trim_height = *(f32*)&dComIfGp_getCamera(0)->mCamera.mCamSetup.mTypeTable;
camera_trim_height = dComIfGp_getCamera(0)->mCamera.mTrimHeight;
} else {
camera_trim_height = 0.0f;
}
if (pos_projected.x > 0.0f &&
pos_projected.x < 608.0f &&
pos_projected.y > camera_trim_height &&
pos_projected.y < 448.0f - camera_trim_height) {
dComIfGd_peekZ(pos_projected.x,pos_projected.y,&field_0x578);
if (pos_projected.x > 0.0f && pos_projected.x < 608.0f &&
pos_projected.y > camera_trim_height && pos_projected.y < 448.0f - camera_trim_height)
{
dComIfGd_peekZ(pos_projected.x, pos_projected.y, &field_0x578);
} else {
field_0x578 = 0;
}
@ -141,7 +109,8 @@ void dInsect_c::CalcZBuffer(f32 param_0) {
pos_projected.z = -10.0f;
}
field_0x57C = (((view_near + ((view_far * view_near) / pos_projected.z)) / (view_far - view_near)) + 1.0f) * 16777215.0f;
field_0x57C =
(((view_near + ((view_far * view_near) / pos_projected.z)) / (view_far - view_near)) +
1.0f) *
16777215.0f;
}
/* 80393D98-80393D98 0203F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */

View File

@ -93,48 +93,33 @@ dJntCol_c::dJntCol_c() {
* init__9dJntCol_cFP10fopAc_ac_cPC13dJntColData_cP8J3DModeli */
int dJntCol_c::init(fopAc_ac_c* i_actorP, dJntColData_c const* i_jntColP, J3DModel* i_modelP,
int param_3) {
mData = (dJntColData_c*)i_jntColP;
mData = i_jntColP;
mModel = i_modelP;
field_0x8 = param_3;
field_0xc = 0;
if (i_actorP) {
fopAcM_SetJntCol(i_actorP, this);
}
return 1;
}
/* ############################################################################################## */
/* 80451D60-80451D64 000360 0004+00 1/1 0/0 0/0 .sdata2 @3655 */
SECTION_SDATA2 static f32 lit_3655 = 500.0f;
/* 80035CC8-80035DC8 030608 0100+00 2/2 0/0 0/0 .text
* setNowLine__9dJntCol_cFP8cM3dGLinPC4cXyzPC5csXyzP4cXyz */
#ifdef NONMATCHING
// regalloc, parameters are loading in wrong?
void dJntCol_c::setNowLine(cM3dGLin* param_0, cXyz const* param_1, csXyz const* param_2,
void dJntCol_c::setNowLine(cM3dGLin* i_line, cXyz const* param_1, csXyz const* param_2,
cXyz* param_3) {
if (param_2) {
if (param_2 != NULL) {
mDoMtx_stack_c::ZXYrotS(*param_2);
mDoMtx_stack_c::multVec(&cXyz::BaseZ, param_3);
} else {
*param_3 = cXyz::BaseZ;
}
cXyz start_pos = *param_1 - *param_3 * FLOAT_LABEL(lit_3655);
cXyz end_pos = *param_1 + *param_3 * FLOAT_LABEL(lit_3655);
param_0->SetStartEnd(start_pos, end_pos);
cXyz start_pos = *param_1 - *param_3 * 500.0f;
cXyz end_pos = *param_1 + *param_3 * 500.0f;
i_line->SetStartEnd(start_pos, end_pos);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dJntCol_c::setNowLine(cM3dGLin* param_0, cXyz const* param_1, csXyz const* param_2,
cXyz* param_3) {
nofralloc
#include "asm/d/d_jnt_col/setNowLine__9dJntCol_cFP8cM3dGLinPC4cXyzPC5csXyzP4cXyz.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 803A78F8-803A7904 004A18 000C+00 4/4 21/21 0/0 .data __vt__8cM3dGLin */
@ -234,7 +219,7 @@ asm void dJntCol_c::getArrowOffsetPosAndAngle(cXyz const* param_0, csXyz const*
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dJntCol_c::getHitmarkPosAndAngle(cXyz const* param_0, csXyz const* param_1, cXyz* param_2,
csXyz* param_3, int param_4) const {
csXyz* param_3, int param_4) const {
nofralloc
#include "asm/d/d_jnt_col/getHitmarkPosAndAngle__9dJntCol_cCFPC4cXyzPC5csXyzP4cXyzP5csXyzi.s"
}
@ -246,6 +231,7 @@ void dJntCol_c::setArrowPosAndAngle(cXyz const* param_0, cXyz const* i_srcPos, i
cXyz* param_3, csXyz* i_arrowPosP) {
cXyz dst_pos;
mDoMtx_multVecSR(mModel->i_getAnmMtx(i_anmMtxIdx), i_srcPos, &dst_pos);
i_arrowPosP->x = dst_pos.atan2sY_XZ();
i_arrowPosP->y = dst_pos.atan2sX_Z();
mDoMtx_multVec(mModel->i_getAnmMtx(i_anmMtxIdx), param_0, param_3);

View File

@ -1,58 +1,24 @@
//
// Generated By: dol2asm
// Translation Unit: d/d_kyeff
//
/**
* d_kyeff.cpp
*
*/
#include "d/d_kyeff.h"
#include "Z2AudioLib/Z2EnvSeMgr.h"
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor.h"
#include "f_op/f_op_kankyo.h"
#include "os/OSTime.h"
#include "d/kankyo/d_kankyo.h"
#include "d/kankyo/d_kankyo_wether.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Forward References:
//
extern "C" static void dKyeff_Draw__FP8dKyeff_c();
extern "C" void execute__8dKyeff_cFv();
extern "C" static void dKyeff_Execute__FP8dKyeff_c();
extern "C" static bool dKyeff_IsDelete__FP8dKyeff_c();
extern "C" static void dKyeff_Delete__FP8dKyeff_c();
extern "C" static void dKyeff_Create__FP12kankyo_class();
extern "C" extern char const* const d_d_kyeff__stringBase0;
extern "C" extern void* g_profile_KYEFF[10 + 1 /* padding */];
//
// External References:
//
extern "C" void dKyw_wether_init__Fv();
extern "C" void dKyw_wether_delete__Fv();
extern "C" void dKyw_wether_move__Fv();
extern "C" void dKyw_wether_move_draw__Fv();
extern "C" void dKyw_wether_draw__Fv();
extern "C" void dKy_FiveSenses_fullthrottle_dark__Fv();
extern "C" void framework__10Z2EnvSeMgrFv();
extern "C" extern void* g_fopKy_Method[5 + 1 /* padding */];
extern "C" extern dScnKy_env_light_c g_env_light;
extern "C" extern Z2EnvSeMgr g_mEnvSeMgr;
//
// Declarations:
//
/* 801ADD00-801ADD38 1A8640 0038+00 2/2 0/0 0/0 .text dKankyo_DayProc__Fv */
void dKankyo_DayProc() {
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::tempBitLabels[91]);
}
static int dKyeff_Draw(dKyeff_c* ptr) {
static int dKyeff_Draw(dKyeff_c* i_this) {
dKyw_wether_draw();
return 1;
}
@ -62,21 +28,22 @@ int dKyeff_c::execute() {
if (strcmp(dComIfGp_getStartStageName(), "Name")) {
dKyw_wether_move();
}
dKyw_wether_move_draw();
dKy_FiveSenses_fullthrottle_dark();
mDoAud_mEnvse_framework();
return 1;
}
static int dKyeff_Execute(dKyeff_c* ptr) {
return ptr->execute();
static int dKyeff_Execute(dKyeff_c* i_this) {
return i_this->execute();
}
static int dKyeff_IsDelete(dKyeff_c* ptr) {
static int dKyeff_IsDelete(dKyeff_c* i_this) {
return 1;
}
static int dKyeff_Delete(dKyeff_c* ptr) {
static int dKyeff_Delete(dKyeff_c* i_this) {
dKyw_wether_delete();
return 1;
}
@ -105,7 +72,7 @@ SECTION_SDATA2 static f32 lit_3844 = 15.0f;
/* 801ADE00-801ADEA0 1A8740 00A0+00 1/0 0/0 0/0 .text dKyeff_Create__FP12kankyo_class */
// float data
#ifdef NONMATCHING
static int dKyeff_Create(kankyo_class* kankyo) {
static int dKyeff_Create(kankyo_class* i_this) {
OSCalendarTime time;
dKyw_wether_init();
@ -115,13 +82,14 @@ static int dKyeff_Create(kankyo_class* kankyo) {
g_env_light.mWind.pow = 0.7f;
g_env_light.mDaytime = time.hours * 15.0f;
}
return cPhs_COMPLEATE_e;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm int dKyeff_Create(kankyo_class* param_0) {
static asm int dKyeff_Create(kankyo_class* i_this) {
nofralloc
#include "asm/d/d_kyeff/dKyeff_Create__FP12kankyo_class.s"
}
@ -131,29 +99,25 @@ static asm int dKyeff_Create(kankyo_class* param_0) {
/* ############################################################################################## */
/* 803BC158-803BC16C -00001 0014+00 1/0 0/0 0/0 .data l_dKyeff_Method */
static leafdraw_method_class l_dKyeff_Method = {
(process_method_func)dKyeff_Create,
(process_method_func)dKyeff_Delete,
(process_method_func)dKyeff_Execute,
(process_method_func)dKyeff_IsDelete,
(process_method_func)dKyeff_Create, (process_method_func)dKyeff_Delete,
(process_method_func)dKyeff_Execute, (process_method_func)dKyeff_IsDelete,
(process_method_func)dKyeff_Draw,
};
extern "C" extern void* g_fopKy_Method[5 + 1 /* padding */];
/* 803BC16C-803BC198 -00001 0028+04 0/0 0/0 1/0 .data g_profile_KYEFF */
SECTION_DATA extern void* g_profile_KYEFF[10 + 1 /* padding */] = {
(void*)0xFFFFFFFD,
(void*)0x000CFFFD,
(void*)0x03110000,
(void*)&g_fpcLf_Method,
(void*)0x000000F8,
(void*)NULL,
(void*)NULL,
(void*)&g_fopKy_Method,
(void*)0x00050000,
(void*)&l_dKyeff_Method,
/* padding */
NULL,
extern kankyo_process_profile_definition g_profile_KYEFF = {
-3,
12,
0xFFFD,
PROC_KYEFF,
0,
&g_fpcLf_Method.mBase,
sizeof(dKyeff_c),
0,
0,
&g_fopKy_Method,
0x0005,
0,
0,
&l_dKyeff_Method,
};
/* 80394F38-80394F38 021598 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */

View File

@ -1,38 +1,36 @@
//
// Generated By: dol2asm
// Translation Unit: d/d_kyeff2
//
/**
* d_kyeff2.cpp
*
*/
#include "d/d_kyeff2.h"
#include "f_op/f_op_kankyo.h"
#include "d/d_procname.h"
#include "d/kankyo/d_kankyo_wether.h"
#include "dol2asm.h"
#include "dolphin/types.h"
static bool dKyeff2_Draw(dKyeff2_c* ptr) {
static int dKyeff2_Draw(dKyeff2_c* i_this) {
dKyw_wether_draw2();
return true;
return 1;
}
bool dKyeff2_c::execute() {
int dKyeff2_c::execute() {
dKyw_wether_move_draw2();
return true;
return 1;
}
static bool dKyeff2_Execute(dKyeff2_c* ptr) {
return ptr->execute();
static int dKyeff2_Execute(dKyeff2_c* i_this) {
return i_this->execute();
}
static bool dKyeff2_IsDelete(dKyeff2_c* ptr) {
return true;
static int dKyeff2_IsDelete(dKyeff2_c* i_this) {
return 1;
}
static bool dKyeff2_Delete(dKyeff2_c* ptr) {
static int dKyeff2_Delete(dKyeff2_c* i_this) {
dKyw_wether_delete2();
return true;
return 1;
}
static int dKyeff2_Create(kankyo_class* ptr) {
static int dKyeff2_Create(kankyo_class* i_this) {
dKyw_wether_init2();
return cPhs_COMPLEATE_e;
}
@ -40,27 +38,25 @@ static int dKyeff2_Create(kankyo_class* ptr) {
/* ############################################################################################## */
/* 803BC198-803BC1AC -00001 0014+00 1/0 0/0 0/0 .data l_dKyeff2_Method */
static leafdraw_method_class l_dKyeff2_Method = {
(process_method_func)dKyeff2_Create,
(process_method_func)dKyeff2_Delete,
(process_method_func)dKyeff2_Execute,
(process_method_func)dKyeff2_IsDelete,
(process_method_func)dKyeff2_Create, (process_method_func)dKyeff2_Delete,
(process_method_func)dKyeff2_Execute, (process_method_func)dKyeff2_IsDelete,
(process_method_func)dKyeff2_Draw,
};
extern "C" extern void* g_fopKy_Method[5 + 1 /* padding */];
/* 803BC1AC-803BC1D8 -00001 0028+04 0/0 0/0 1/0 .data g_profile_KYEFF2 */
SECTION_DATA extern void* g_profile_KYEFF2[10 + 1 /* padding */] = {
(void*)0xFFFFFFFD,
(void*)0x000CFFFD,
(void*)0x03120000,
(void*)&g_fpcLf_Method,
(void*)0x000000F8,
(void*)NULL,
(void*)NULL,
(void*)&g_fopKy_Method,
(void*)0x00030000,
(void*)&l_dKyeff2_Method,
/* padding */
NULL,
extern kankyo_process_profile_definition g_profile_KYEFF2 = {
-3,
12,
0xFFFD,
PROC_KYEFF2,
0,
&g_fpcLf_Method.mBase,
sizeof(dKyeff2_c),
0,
0,
&g_fopKy_Method,
0x0003,
0,
0,
&l_dKyeff2_Method,
};

View File

@ -8,14 +8,10 @@
#include "SSystem/SComponent/c_malloc.h"
#include "d/com/d_com_inf_game.h"
#include "d/com/d_com_static.h"
#include "d/d_procname.h"
#include "d/save/d_save_HIO.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_kankyo_mng.h"
#include "f_op/f_op_msg_mng.h"
#include "m_Do/m_Do_Reset.h"
#include "m_Do/m_Do_ext.h"
//
// Forward References:

View File

@ -2058,7 +2058,7 @@ static asm void dKy_calc_color_set(_GXColorS10* param_0, color_RGB_class* param_
/* 80451068 0002+00 data_80451068 S_fuwan_sin$5904 */
/* 8045106A 0001+00 data_8045106A None */
/* 8045106B 0005+00 data_8045106B None */
static u8 struct_80451068[8];
static u8 S_fuwan_sin[8];
/* 80453CE8-80453CEC 0022E8 0004+00 3/3 0/0 0/0 .sdata2 @6032 */
SECTION_SDATA2 static f32 lit_6032 = 100000.0f;

View File

@ -1,7 +1,5 @@
#include "f_ap/f_ap_game.h"
#include "SSystem/SComponent/c_counter.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_camera_mng.h"
#include "f_op/f_op_draw_tag.h"
#include "f_op/f_op_overlap_mng.h"

View File

@ -22,8 +22,8 @@ fopAc_ac_c::~fopAc_ac_c() {}
static int g_fopAc_type;
/* 80018CE0-80018D0C 013620 002C+00 0/0 12/12 391/391 .text fopAc_IsActor__FPv */
s32 fopAc_IsActor(void* actor) {
return fpcM_IsJustType(g_fopAc_type, ((fopAc_ac_c*)actor)->mAcType);
s32 fopAc_IsActor(void* i_this) {
return fpcM_IsJustType(g_fopAc_type, ((fopAc_ac_c*)i_this)->mAcType);
}
/* ############################################################################################## */
@ -31,61 +31,64 @@ s32 fopAc_IsActor(void* actor) {
u32 fopAc_ac_c::stopStatus;
/* 80018D0C-80018DD8 01364C 00CC+00 1/0 0/0 0/0 .text fopAc_Draw__FPv */
static int fopAc_Draw(void* actor) {
fopAc_ac_c* ac = (fopAc_ac_c*)actor;
static int fopAc_Draw(void* i_this) {
fopAc_ac_c* _this = (fopAc_ac_c*)i_this;
int ret = 1;
if (!dComIfGp_isPauseFlag()) {
if ((dComIfGp_event_moveApproval(ac) == 2 ||
(!fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) &&
(!fopAcM_checkStatus(ac, 0x100) || !fopAcM_cullingCheck(ac)))) &&
!fopAcM_checkStatus(ac, 0x21000000))
if ((dComIfGp_event_moveApproval(_this) == 2 ||
(!fopAcM_checkStatus(_this, fopAc_ac_c::stopStatus) &&
(!fopAcM_checkStatus(_this, 0x100) || !fopAcM_cullingCheck(_this)))) &&
!fopAcM_checkStatus(_this, 0x21000000))
{
fopAcM_OffCondition(ac, 4);
ret = fpcLf_DrawMethod((leafdraw_method_class*)ac->mSubMtd, ac);
fopAcM_OffCondition(_this, 4);
ret = fpcLf_DrawMethod((leafdraw_method_class*)_this->mSubMtd, _this);
} else {
fopAcM_OnCondition(ac, 4);
fopAcM_OnCondition(_this, 4);
}
fopAcM_OffStatus(ac, 0x1000000);
fopAcM_OffStatus(_this, 0x1000000);
}
return ret;
}
/* 80018DD8-80018F78 013718 01A0+00 1/0 0/0 0/0 .text fopAc_Execute__FPv */
static int fopAc_Execute(void* actor) {
fopAc_ac_c* ac = (fopAc_ac_c*)actor;
static int fopAc_Execute(void* i_this) {
fopAc_ac_c* _this = (fopAc_ac_c*)i_this;
int ret = 1;
if (!dComIfGp_isPauseFlag() && dScnPly_c::isPause()) {
if (!dComIfA_PauseCheck()) {
daSus_c::check(ac);
ac->mEvtInfo.beforeProc();
s32 move = dComIfGp_event_moveApproval(actor);
fopAcM_OffStatus(ac, 0x40000000);
daSus_c::check(_this);
_this->mEvtInfo.beforeProc();
s32 move = dComIfGp_event_moveApproval(i_this);
fopAcM_OffStatus(_this, 0x40000000);
if (!fopAcM_checkStatus(ac, 0x20000000) &&
(move == 2 || (move != 0 && !fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) &&
(!fopAcM_checkStatus(ac, 0x80) || !fopAcM_CheckCondition(ac, 4)))))
if (!fopAcM_checkStatus(_this, 0x20000000) &&
(move == 2 ||
(move != 0 && !fopAcM_checkStatus(_this, fopAc_ac_c::stopStatus) &&
(!fopAcM_checkStatus(_this, 0x80) || !fopAcM_CheckCondition(_this, 4)))))
{
fopAcM_OffCondition(ac, 2);
ac->next = ac->current;
ret = fpcMtd_Execute((process_method_class*)ac->mSubMtd, ac);
fopAcM_OffCondition(_this, 2);
_this->next = _this->current;
ret = fpcMtd_Execute((process_method_class*)_this->mSubMtd, _this);
} else {
ac->mEvtInfo.suspendProc(ac);
fopAcM_OnCondition(ac, 2);
_this->mEvtInfo.suspendProc(_this);
fopAcM_OnCondition(_this, 2);
}
if (fopAcM_checkStatus(ac, 0x20) && ac->orig.pos.y - ac->current.pos.y > 5000.0f) {
fopAcM_delete(ac);
if (fopAcM_checkStatus(_this, 0x20) &&
_this->orig.pos.y - _this->current.pos.y > 5000.0f)
{
fopAcM_delete(_this);
}
if (ac->current.pos.y < FLOAT_MIN) {
ac->current.pos.y = FLOAT_MIN;
if (_this->current.pos.y < FLOAT_MIN) {
_this->current.pos.y = FLOAT_MIN;
}
dKy_depth_dist_set(ac);
dKy_depth_dist_set(_this);
}
}
@ -93,28 +96,28 @@ static int fopAc_Execute(void* actor) {
}
/* 80018F78-80018FCC 0138B8 0054+00 1/0 0/0 0/0 .text fopAc_IsDelete__FPv */
static int fopAc_IsDelete(void* actor) {
fopAc_ac_c* ac = (fopAc_ac_c*)actor;
static int fopAc_IsDelete(void* i_this) {
fopAc_ac_c* _this = (fopAc_ac_c*)i_this;
int isDelete = fpcMtd_IsDelete((process_method_class*)ac->mSubMtd, ac);
int isDelete = fpcMtd_IsDelete((process_method_class*)_this->mSubMtd, _this);
if (isDelete == true) {
fopDwTg_DrawQTo(&ac->mDwTg);
fopDwTg_DrawQTo(&_this->mDwTg);
}
return isDelete;
}
/* 80018FCC-8001904C 01390C 0080+00 1/0 0/0 0/0 .text fopAc_Delete__FPv */
static int fopAc_Delete(void* actor) {
fopAc_ac_c* ac = (fopAc_ac_c*)actor;
static int fopAc_Delete(void* i_this) {
fopAc_ac_c* _this = (fopAc_ac_c*)i_this;
int deleted = fpcMtd_Delete((process_method_class*)ac->mSubMtd, ac);
int deleted = fpcMtd_Delete((process_method_class*)_this->mSubMtd, _this);
if (deleted == true) {
fopAcTg_ActorQTo(&ac->mAcTg);
fopDwTg_DrawQTo(&ac->mDwTg);
fopAcM_DeleteHeap(ac);
fopAcTg_ActorQTo(&_this->mAcTg);
fopDwTg_DrawQTo(&_this->mDwTg);
fopAcM_DeleteHeap(_this);
dDemo_actor_c* demoAc = dDemo_c::getActor(ac->mDemoActorId);
dDemo_actor_c* demoAc = dDemo_c::getActor(_this->mDemoActorId);
if (demoAc != NULL) {
demoAc->setActor(NULL);
}
@ -124,53 +127,53 @@ static int fopAc_Delete(void* actor) {
}
/* 8001904C-800193FC 01398C 03B0+00 1/0 0/0 0/0 .text fopAc_Create__FPv */
static int fopAc_Create(void* actor) {
fopAc_ac_c* ac = (fopAc_ac_c*)actor;
static int fopAc_Create(void* i_this) {
fopAc_ac_c* _this = (fopAc_ac_c*)i_this;
if (fpcM_IsFirstCreating(actor)) {
if (fpcM_IsFirstCreating(i_this)) {
actor_process_profile_definition* profile =
(actor_process_profile_definition*)fpcM_GetProfile(actor);
ac->mAcType = fpcBs_MakeOfType(&g_fopAc_type);
ac->mSubMtd = (profile_method_class*)profile->mSubMtd;
(actor_process_profile_definition*)fpcM_GetProfile(i_this);
_this->mAcType = fpcBs_MakeOfType(&g_fopAc_type);
_this->mSubMtd = (profile_method_class*)profile->mSubMtd;
fopAcTg_Init(&ac->mAcTg, ac);
fopAcTg_ToActorQ(&ac->mAcTg);
fopDwTg_Init(&ac->mDwTg, ac);
fopAcTg_Init(&_this->mAcTg, _this);
fopAcTg_ToActorQ(&_this->mAcTg);
fopDwTg_Init(&_this->mDwTg, _this);
ac->mStatus = profile->mStatus;
ac->mGroup = profile->mActorType;
ac->mCullType = profile->mCullType;
_this->mStatus = profile->mStatus;
_this->mGroup = profile->mActorType;
_this->mCullType = profile->mCullType;
fopAcM_prm_class* append = fopAcM_GetAppend(ac);
fopAcM_prm_class* append = fopAcM_GetAppend(_this);
if (append != NULL) {
fopAcM_SetParam(ac, append->mParameter);
ac->orig.pos = append->mPos;
ac->orig.angle = append->mAngle;
ac->shape_angle = append->mAngle;
ac->mParentPcId = append->mParentPId;
ac->mSubtype = append->mSubtype;
ac->mScale.set(append->mScale[0] * 0.1f, append->mScale[1] * 0.1f,
append->mScale[2] * 0.1f);
ac->mSetID = append->mEnemyNo;
ac->orig.roomNo = append->mRoomNo;
fopAcM_SetParam(_this, append->mParameter);
_this->orig.pos = append->mPos;
_this->orig.angle = append->mAngle;
_this->shape_angle = append->mAngle;
_this->mParentPcId = append->mParentPId;
_this->mSubtype = append->mSubtype;
_this->mScale.set(append->mScale[0] * 0.1f, append->mScale[1] * 0.1f,
append->mScale[2] * 0.1f);
_this->mSetID = append->mEnemyNo;
_this->orig.roomNo = append->mRoomNo;
}
ac->next = ac->orig;
ac->current = ac->orig;
ac->mEyePos = ac->orig.pos;
ac->mMaxFallSpeed = -100.0f;
ac->mAttentionInfo.field_0x0[0] = 1;
ac->mAttentionInfo.field_0x0[1] = 2;
ac->mAttentionInfo.field_0x0[2] = 3;
ac->mAttentionInfo.field_0x0[3] = 5;
ac->mAttentionInfo.field_0x4[0] = 6;
ac->mAttentionInfo.field_0x4[3] = 14;
ac->mAttentionInfo.field_0x4[1] = 15;
ac->mAttentionInfo.field_0x4[2] = 15;
ac->mAttentionInfo.field_0x8[0] = 51;
ac->mAttentionInfo.mPosition = ac->orig.pos;
ac->mAttentionInfo.field_0xa = 30;
dKy_tevstr_init(&ac->mTevStr, ac->orig.roomNo, -1);
_this->next = _this->orig;
_this->current = _this->orig;
_this->mEyePos = _this->orig.pos;
_this->mMaxFallSpeed = -100.0f;
_this->mAttentionInfo.field_0x0[0] = 1;
_this->mAttentionInfo.field_0x0[1] = 2;
_this->mAttentionInfo.field_0x0[2] = 3;
_this->mAttentionInfo.field_0x0[3] = 5;
_this->mAttentionInfo.field_0x4[0] = 6;
_this->mAttentionInfo.field_0x4[3] = 14;
_this->mAttentionInfo.field_0x4[1] = 15;
_this->mAttentionInfo.field_0x4[2] = 15;
_this->mAttentionInfo.field_0x8[0] = 51;
_this->mAttentionInfo.mPosition = _this->orig.pos;
_this->mAttentionInfo.field_0xa = 30;
dKy_tevstr_init(&_this->mTevStr, _this->orig.roomNo, -1);
int roomNo = dComIfGp_roomControl_getStayNo();
if (roomNo >= 0) {
@ -178,22 +181,22 @@ static int fopAc_Create(void* actor) {
}
dStage_FileList_dt_c* filelist = NULL;
if (ac->orig.roomNo >= 0) {
if (_this->orig.roomNo >= 0) {
filelist =
dComIfGp_roomControl_getStatusRoomDt(ac->orig.roomNo)->mRoomDt.getFileListInfo();
dComIfGp_roomControl_getStatusRoomDt(_this->orig.roomNo)->mRoomDt.getFileListInfo();
}
if (filelist != NULL) {
if (!dStage_FileList_dt_GetEnemyAppear1Flag(filelist)) {
u32 sw = dStage_FileList_dt_GetBitSw(filelist);
if (sw != 0xFF && dComIfGs_isSwitch(sw, ac->orig.roomNo) &&
if (sw != 0xFF && dComIfGs_isSwitch(sw, _this->orig.roomNo) &&
profile->mActorType == 2)
{
return cPhs_ERROR_e;
}
} else {
u32 sw = dStage_FileList_dt_GetBitSw(filelist);
if (sw != 0xFF && !dComIfGs_isSwitch(sw, ac->orig.roomNo) &&
if (sw != 0xFF && !dComIfGs_isSwitch(sw, _this->orig.roomNo) &&
profile->mActorType == 2)
{
return cPhs_ERROR_e;
@ -202,12 +205,12 @@ static int fopAc_Create(void* actor) {
}
}
int ret = fpcMtd_Create((process_method_class*)ac->mSubMtd, ac);
int ret = fpcMtd_Create((process_method_class*)_this->mSubMtd, _this);
if (ret == cPhs_COMPLEATE_e) {
s32 priority = fpcLf_GetPriority(ac);
fopDwTg_ToDrawQ(&ac->mDwTg, priority);
s32 priority = fpcLf_GetPriority(_this);
fopDwTg_ToDrawQ(&_this->mDwTg, priority);
} else if (ret == cPhs_ERROR_e) {
fopAcM_OnCondition(ac, 0x10);
fopAcM_OnCondition(_this, 0x10);
}
return ret;

View File

@ -1,13 +1,11 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_actor_iter
//
/**
* f_op_actor_iter.cpp
* Actor Process Iterator
*/
#include "f_op/f_op_actor_iter.h"
#include "SSystem/SComponent/c_list_iter.h"
#include "SSystem/SComponent/c_tag_iter.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor_tag.h"
//
@ -22,6 +20,7 @@ int fopAcIt_Executor(fopAcIt_ExecutorFunc pExecFunc, void* pData) {
} userData;
userData.func = pExecFunc;
userData.data = pData;
return cLsIt_Method(&g_fopAcTg_Queue, (cNdIt_MethodFunc)cTgIt_MethodCall, &userData);
}
@ -34,5 +33,6 @@ void* fopAcIt_Judge(fopAcIt_JudgeFunc pJudgeFunc, void* pData) {
} userData;
userData.func = pJudgeFunc;
userData.data = pData;
return cLsIt_Judge(&g_fopAcTg_Queue, (cNdIt_JudgeFunc)cTgIt_JudgeFilter, &userData);
}

View File

@ -1,33 +1,26 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_actor_tag
//
/**
* f_op_actor_tag.cpp
*
*/
#include "f_op/f_op_actor_tag.h"
#include "SSystem/SComponent/c_tag.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Declarations:
//
/* ############################################################################################## */
/* 803A35E0-803A35F0 000700 000C+04 1/1 2/2 0/0 .data g_fopAcTg_Queue */
node_list_class g_fopAcTg_Queue = {NULL, NULL, 0};
/* 80019834-80019860 014174 002C+00 0/0 1/1 0/0 .text fopAcTg_ToActorQ__FP16create_tag_class */
u32 fopAcTg_ToActorQ(create_tag_class* c) {
return cTg_Addition(&g_fopAcTg_Queue, c);
u32 fopAcTg_ToActorQ(create_tag_class* i_createTag) {
return cTg_Addition(&g_fopAcTg_Queue, i_createTag);
}
/* 80019860-80019880 0141A0 0020+00 0/0 1/1 0/0 .text fopAcTg_ActorQTo__FP16create_tag_class */
u32 fopAcTg_ActorQTo(create_tag_class* pTag) {
return cTg_SingleCutFromTree(pTag);
u32 fopAcTg_ActorQTo(create_tag_class* i_createTag) {
return cTg_SingleCutFromTree(i_createTag);
}
/* 80019880-800198A4 0141C0 0024+00 0/0 1/1 0/0 .text fopAcTg_Init__FP16create_tag_classPv */
u32 fopAcTg_Init(create_tag_class* pTag, void* data) {
cTg_Create(pTag, data);
u32 fopAcTg_Init(create_tag_class* i_createTag, void* data) {
cTg_Create(i_createTag, data);
return 1;
}

View File

@ -1,33 +1,28 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_camera
//
/**
* f_op_camera.cpp
* Camera Process Framework
*/
#include "f_op/f_op_camera.h"
#include "d/com/d_com_inf_game.h"
#include "d/s/d_s_play.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_draw_tag.h"
#include "f_op/f_op_msg_mng.h"
#include "f_pc/f_pc_leaf.h"
/* 8001E140-8001E180 018A80 0040+00 1/0 0/0 0/0 .text fopCam_Draw__FP12camera_class */
static s32 fopCam_Draw(camera_class* pCamera) {
static s32 fopCam_Draw(camera_class* i_this) {
s32 cam_proc = 1;
if (!dComIfGp_isPauseFlag()) {
cam_proc = fpcLf_DrawMethod(pCamera->mpMtd, pCamera);
cam_proc = fpcLf_DrawMethod(i_this->mpMtd, i_this);
}
return cam_proc;
}
/* 8001E180-8001E1C8 018AC0 0048+00 1/0 0/0 0/0 .text fopCam_Execute__FP12camera_class */
static int fopCam_Execute(camera_class* pCamera) {
static int fopCam_Execute(camera_class* i_this) {
int ret;
if (!dComIfGp_isPauseFlag() && dScnPly_c::isPause()) {
ret = fpcMtd_Execute((process_method_class*)pCamera->mpMtd, pCamera);
ret = fpcMtd_Execute((process_method_class*)i_this->mpMtd, i_this);
}
return ret;
@ -35,45 +30,46 @@ static int fopCam_Execute(camera_class* pCamera) {
/* 8001E1C8-8001E21C 018B08 0054+00 1/0 0/0 0/0 .text fopCam_IsDelete__FP12camera_class
*/
int fopCam_IsDelete(camera_class* pCamera) {
int delete_stat = fpcMtd_IsDelete((process_method_class*)pCamera->mpMtd, pCamera);
int fopCam_IsDelete(camera_class* i_this) {
int delete_stat = fpcMtd_IsDelete((process_method_class*)i_this->mpMtd, i_this);
if (delete_stat == 1) {
fopDwTg_DrawQTo(&pCamera->mCreateTag);
fopDwTg_DrawQTo(&i_this->mCreateTag);
}
return delete_stat;
}
/* 8001E21C-8001E270 018B5C 0054+00 1/0 0/0 0/0 .text fopCam_Delete__FP12camera_class */
int fopCam_Delete(camera_class* pCamera) {
int delete_stat = fpcMtd_Delete((process_method_class*)pCamera->mpMtd, pCamera);
int fopCam_Delete(camera_class* i_this) {
int delete_stat = fpcMtd_Delete((process_method_class*)i_this->mpMtd, i_this);
if (delete_stat == 1) {
fopDwTg_DrawQTo(&pCamera->mCreateTag);
fopDwTg_DrawQTo(&i_this->mCreateTag);
}
return delete_stat;
}
/* 8001E270-8001E308 018BB0 0098+00 1/0 0/0 0/0 .text fopCam_Create__FPv */
static int fopCam_Create(void* i_actorP) {
camera_class* camera = (camera_class*)i_actorP;
static int fopCam_Create(void* i_this) {
camera_class* _this = (camera_class*)i_this;
if (fpcM_IsFirstCreating(i_actorP)) {
camera_process_profile_definition* profile = (camera_process_profile_definition*) fpcM_GetProfile(i_actorP);
camera->mpMtd = profile->mSubMtd;
if (fpcM_IsFirstCreating(i_this)) {
camera_process_profile_definition* profile =
(camera_process_profile_definition*)fpcM_GetProfile(i_this);
_this->mpMtd = profile->mSubMtd;
fopDwTg_Init(&camera->mCreateTag, camera);
u32* append = (u32*)fpcM_GetAppend(camera);
fopDwTg_Init(&_this->mCreateTag, _this);
u32* append = (u32*)fpcM_GetAppend(_this);
if (append) {
fpcM_SetParam(camera, *append);
fpcM_SetParam(_this, *append);
}
}
int ret = fpcMtd_Create(&camera->mpMtd->mBase, camera);
int ret = fpcMtd_Create(&_this->mpMtd->mBase, _this);
if (ret == cPhs_COMPLEATE_e) {
s32 priority = fpcLf_GetPriority(camera);
fopDwTg_ToDrawQ(&camera->mCreateTag, priority);
s32 priority = fpcLf_GetPriority(_this);
fopDwTg_ToDrawQ(&_this->mCreateTag, priority);
}
return ret;
@ -82,9 +78,7 @@ static int fopCam_Create(void* i_actorP) {
/* ############################################################################################## */
/* 803A3860-803A3878 -00001 0014+04 0/0 2/0 0/0 .data g_fopCam_Method */
leafdraw_method_class g_fopCam_Method = {
(process_method_func)fopCam_Create,
(process_method_func)fopCam_Delete,
(process_method_func)fopCam_Execute,
(process_method_func)fopCam_IsDelete,
(process_method_func)fopCam_Draw
(process_method_func)fopCam_Create, (process_method_func)fopCam_Delete,
(process_method_func)fopCam_Execute, (process_method_func)fopCam_IsDelete,
(process_method_func)fopCam_Draw,
};

View File

@ -1,38 +1,28 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_camera_mng
//
/**
* f_op_camera_mng.cpp
* Camera Process Manager
*/
#include "f_op/f_op_camera_mng.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_pc/f_pc_stdcreate_req.h"
//
// Declarations:
//
/* ############################################################################################## */
/* 803F1DD8-803F1DE8 01EAF8 0010+00 1/1 0/0 0/0 .bss l_fopCamM_id */
static u32 l_fopCamM_id[4];
/* 8001E308-8001E310 018C48 0008+00 0/0 12/12 2/2 .text fopCamM_GetParam__FP12camera_class */
u32 fopCamM_GetParam(camera_class* pCamera) {
return pCamera->mBase.mParameters;
u32 fopCamM_GetParam(camera_class* i_this) {
return i_this->mBase.mParameters;
}
/* 8001E310-8001E374 018C50 0064+00 0/0 1/1 0/0 .text fopCamM_Create__FisPv */
u32 fopCamM_Create(int i_cameraIdx, s16 pProcName, void* param_3) {
l_fopCamM_id[i_cameraIdx] = fpcSCtRq_Request(fpcLy_CurrentLayer(), pProcName, 0, 0, param_3);
u32 fopCamM_Create(int i_cameraIdx, s16 i_procName, void* param_3) {
l_fopCamM_id[i_cameraIdx] = fpcSCtRq_Request(fpcLy_CurrentLayer(), i_procName, 0, 0, param_3);
return l_fopCamM_id[i_cameraIdx];
}
/* 8001E374-8001E378 018CB4 0004+00 0/0 1/1 0/0 .text fopCamM_Management__Fv */
void fopCamM_Management() {
/* empty function */
}
void fopCamM_Management() {}
/* 8001E378-8001E37C 018CB8 0004+00 0/0 1/1 0/0 .text fopCamM_Init__Fv */
void fopCamM_Init() {
/* empty function */
}
void fopCamM_Init() {}

View File

@ -1,37 +1,34 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_draw_iter
//
/**
* f_op_draw_iter.cpp
*
*/
#include "f_op/f_op_draw_iter.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_draw_tag.h"
//
// Declarations:
//
/* ############################################################################################## */
/* 80450CF8-80450D00 0001F8 0004+04 2/2 0/0 0/0 .sbss l_fopDwTg_id */
static s32 l_fopDwTg_id;
/* 80020400-80020444 01AD40 0044+00 2/2 0/0 0/0 .text fopDwIt_GetTag__Fv */
create_tag_class* fopDwIt_GetTag(void) {
create_tag_class* fopDwIt_GetTag() {
while (l_fopDwTg_id + 1 < g_fopDwTg_Queue.mNumLists) {
l_fopDwTg_id++;
node_class* tmp = g_fopDwTg_Queue.mpLists[l_fopDwTg_id].mpHead;
if (tmp != NULL) {
return (create_tag_class*)tmp;
}
}
return NULL;
}
/* 80020444-80020480 01AD84 003C+00 0/0 1/1 0/0 .text fopDwIt_Begin__Fv */
create_tag_class* fopDwIt_Begin(void) {
create_tag_class* fopDwIt_Begin() {
create_tag_class* createTagClass = (create_tag_class*)g_fopDwTg_Queue.mpLists->mpHead;
l_fopDwTg_id = 0;
if (createTagClass) {
return createTagClass;
}
@ -40,8 +37,8 @@ create_tag_class* fopDwIt_Begin(void) {
/* 80020480-800204AC 01ADC0 002C+00 0/0 1/1 0/0 .text fopDwIt_Next__FP16create_tag_class
*/
create_tag_class* fopDwIt_Next(create_tag_class* pCreateTag) {
create_tag_class* createTagClass = (create_tag_class*)pCreateTag->mpNode.mpNextNode;
create_tag_class* fopDwIt_Next(create_tag_class* i_createTag) {
create_tag_class* createTagClass = (create_tag_class*)i_createTag->mpNode.mpNextNode;
if (!createTagClass) {
createTagClass = fopDwIt_GetTag();
}

View File

@ -1,33 +1,28 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_draw_tag
//
/**
* f_op_draw_tag.cpp
*
*/
#include "f_op/f_op_draw_tag.h"
#include "dol2asm.h"
#include "global.h"
//
// Declarations:
//
/* ############################################################################################## */
/* 804505D0-804505D8 000050 0008+00 2/2 2/2 0/0 .sdata g_fopDwTg_Queue */
node_lists_tree_class g_fopDwTg_Queue = {NULL, 0};
/* 800204AC-800204D4 01ADEC 0028+00 0/0 4/4 2/2 .text fopDwTg_ToDrawQ__FP16create_tag_classi */
void fopDwTg_ToDrawQ(create_tag_class* pCreateTagClass, int priority) {
cTg_AdditionToTree(&g_fopDwTg_Queue, priority, pCreateTagClass);
void fopDwTg_ToDrawQ(create_tag_class* i_createTag, int i_priority) {
cTg_AdditionToTree(&g_fopDwTg_Queue, i_priority, i_createTag);
}
/* 800204D4-800204F4 01AE14 0020+00 0/0 8/8 3/3 .text fopDwTg_DrawQTo__FP16create_tag_class */
void fopDwTg_DrawQTo(create_tag_class* pCreateTagClass) {
cTg_SingleCutFromTree(pCreateTagClass);
void fopDwTg_DrawQTo(create_tag_class* i_createTag) {
cTg_SingleCutFromTree(i_createTag);
}
/* 800204F4-80020518 01AE34 0024+00 0/0 4/4 0/0 .text fopDwTg_Init__FP16create_tag_classPv */
bool fopDwTg_Init(create_tag_class* pCreateTagClass, void* pActor) {
cTg_Create(pCreateTagClass, pActor);
bool fopDwTg_Init(create_tag_class* i_createTag, void* i_process) {
cTg_Create(i_createTag, i_process);
return true;
}
@ -36,6 +31,6 @@ bool fopDwTg_Init(create_tag_class* pCreateTagClass, void* pActor) {
static node_list_class lists[1000];
/* 80020518-80020548 01AE58 0030+00 0/0 1/1 0/0 .text fopDwTg_CreateQueue__Fv */
void fopDwTg_CreateQueue(void) {
void fopDwTg_CreateQueue() {
cTr_Create(&g_fopDwTg_Queue, lists, ARRAY_SIZE(lists));
}

View File

@ -1,79 +1,58 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_kankyo
//
/**
* f_op_kankyo.cpp
* Environment process framework
*/
#include "f_op/f_op_kankyo.h"
#include "f_pc/f_pc_manager.h"
#include "d/com/d_com_inf_game.h"
#include "d/s/d_s_play.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "d/d_procname.h"
// //
// // External References:
// //
extern "C" void fopDwTg_ToDrawQ__FP16create_tag_classi();
extern "C" void fopDwTg_DrawQTo__FP16create_tag_class();
extern "C" void fopDwTg_Init__FP16create_tag_classPv();
extern "C" void fpcBs_MakeOfType__FPi();
extern "C" void fpcLf_GetPriority__FPC14leafdraw_class();
extern "C" void fpcLf_DrawMethod__FP21leafdraw_method_classPv();
extern "C" void fpcMtd_Execute__FP20process_method_classPv();
extern "C" void fpcMtd_IsDelete__FP20process_method_classPv();
extern "C" void fpcMtd_Delete__FP20process_method_classPv();
extern "C" void fpcMtd_Create__FP20process_method_classPv();
//
// Declarations:
//
#include "d/s/d_s_play.h"
#include "f_pc/f_pc_manager.h"
/* 8001F284-8001F2C0 019BC4 003C+00 1/0 0/0 0/0 .text fopKy_Draw__FPv */
static int fopKy_Draw(void* param_0) {
static int fopKy_Draw(void* i_this) {
int ret;
kankyo_class* env = (kankyo_class*)param_0;
kankyo_class* _this = (kankyo_class*)i_this;
if (!dComIfGp_isPauseFlag()) {
ret = fpcLf_DrawMethod(env->mSubMtd, param_0);
ret = fpcLf_DrawMethod(_this->mSubMtd, i_this);
}
return ret;
}
/* 8001F2C0-8001F314 019C00 0054+00 1/0 0/0 0/0 .text fopKy_Execute__FPv */
static int fopKy_Execute(void* param_0) {
static int fopKy_Execute(void* i_this) {
int ret;
kankyo_class* env = (kankyo_class*)param_0;
kankyo_class* _this = (kankyo_class*)i_this;
if (dScnPly_c::isPause() && (!dComIfGp_isPauseFlag() || fpcM_GetName(param_0) == PROC_ENVSE)) {
ret = fpcMtd_Execute(&env->mSubMtd->mBase,param_0);
if (dScnPly_c::isPause() && (!dComIfGp_isPauseFlag() || fpcM_GetName(i_this) == PROC_ENVSE)) {
ret = fpcMtd_Execute(&_this->mSubMtd->mBase, i_this);
}
return ret;
}
/* 8001F314-8001F368 019C54 0054+00 1/0 0/0 0/0 .text fopKy_IsDelete__FPv */
static int fopKy_IsDelete(void* param_0) {
static int fopKy_IsDelete(void* i_this) {
int ret;
kankyo_class* env = (kankyo_class*)param_0;
kankyo_class* _this = (kankyo_class*)i_this;
ret = fpcMtd_IsDelete(&env->mSubMtd->mBase,env);
ret = fpcMtd_IsDelete(&_this->mSubMtd->mBase, _this);
if (ret == 1) {
fopDwTg_DrawQTo(&env->mDwTg);
fopDwTg_DrawQTo(&_this->mDwTg);
}
return ret;
}
/* 8001F368-8001F3B4 019CA8 004C+00 1/0 0/0 0/0 .text fopKy_Delete__FPv */
static int fopKy_Delete(void* param_0) {
kankyo_class* env = (kankyo_class*)param_0;
static int fopKy_Delete(void* i_this) {
kankyo_class* _this = (kankyo_class*)i_this;
int ret = fpcMtd_Delete(&_this->mSubMtd->mBase, _this);
fopDwTg_DrawQTo(&_this->mDwTg);
int ret = fpcMtd_Delete(&env->mSubMtd->mBase,env);
fopDwTg_DrawQTo(&env->mDwTg);
return ret;
}
@ -82,53 +61,39 @@ static int fopKy_Delete(void* param_0) {
static int fopKy_KANKYO_TYPE;
/* 8001F3B4-8001F488 019CF4 00D4+00 1/0 0/0 0/0 .text fopKy_Create__FPv */
#ifdef NONMATCHING
// regalloc
static int fopKy_Create(void* param_0) {
kankyo_class* env = (kankyo_class*)param_0;
static int fopKy_Create(void* i_this) {
kankyo_class* _this = (kankyo_class*)i_this;
if (fpcM_IsFirstCreating(param_0)) {
// TODO: This should be kankyo_process_profile_definition
leaf_process_profile_definition* profile = (leaf_process_profile_definition*) fpcM_GetProfile(param_0);
if (fpcM_IsFirstCreating(i_this)) {
kankyo_process_profile_definition* profile =
(kankyo_process_profile_definition*)fpcM_GetProfile(i_this);
env->mBsType = fpcBs_MakeOfType(&fopKy_KANKYO_TYPE);
env->mSubMtd = profile->mBase.mMethods;
_this->mBsType = fpcBs_MakeOfType(&fopKy_KANKYO_TYPE);
_this->mSubMtd = profile->mSubMtd;
fopDwTg_Init((create_tag_class*)&env->mDwTg, env);
fopKyM_prm_class* append = (fopKyM_prm_class*)fopKyM_GetAppend(env);
fopDwTg_Init(&_this->mDwTg, _this);
fopKyM_prm_class* append = (fopKyM_prm_class*)fopKyM_GetAppend(_this);
if (append) {
env->mPos = append->mPos;
env->mScale = append->mScale;
env->mParam = append->mParam;
if (append != NULL) {
_this->mPos = append->mPos;
_this->mScale = append->mScale;
_this->mParam = append->mParam;
}
}
int ret = fpcMtd_Create(&env->mSubMtd->mBase, env);
int ret = fpcMtd_Create(&_this->mSubMtd->mBase, _this);
if (ret == cPhs_COMPLEATE_e) {
s16 priority = fpcM_DrawPriority(env);
fopDwTg_ToDrawQ((create_tag_class*)&env->mDwTg,priority);
s32 priority = fpcLf_GetPriority(_this);
fopDwTg_ToDrawQ(&_this->mDwTg, priority);
}
return ret;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void fopKy_Create(void* param_0) {
nofralloc
#include "asm/f_op/f_op_kankyo/fopKy_Create__FPv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 803A3940-803A3958 -00001 0014+04 0/0 7/0 0/0 .data g_fopKy_Method */
void* g_fopKy_Method[5] = {
fopKy_Create,
fopKy_Delete,
fopKy_Execute,
fopKy_IsDelete,
fopKy_Draw
leafdraw_method_class g_fopKy_Method = {
(process_method_func)fopKy_Create, (process_method_func)fopKy_Delete,
(process_method_func)fopKy_Execute, (process_method_func)fopKy_IsDelete,
(process_method_func)fopKy_Draw,
};

View File

@ -1,15 +1,13 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_kankyo_mng
//
/**
* f_op_kankyo.cpp
* Environment process manager
*/
#include "f_op/f_op_kankyo_mng.h"
#include "SSystem/SComponent/c_lib.h"
#include "SSystem/SComponent/c_malloc.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
#include "dol2asm.h"
#include "dolphin/types.h"
/* 8001F660-8001F6B8 019FA0 0058+00 2/2 0/0 0/0 .text fopKyM_CreateAppend__Fv */
static fopKyM_prm_class* fopKyM_CreateAppend() {
@ -24,91 +22,92 @@ static fopKyM_prm_class* fopKyM_CreateAppend() {
}
/* 8001F6B8-8001F748 019FF8 0090+00 2/2 0/0 0/0 .text createAppend__FiP4cXyzP4cXyz */
static fopKyM_prm_class* createAppend(int param, cXyz* pPos, cXyz* pScale) {
static fopKyM_prm_class* createAppend(int i_param, cXyz* i_pos, cXyz* i_scale) {
fopKyM_prm_class* params = fopKyM_CreateAppend();
if (params == NULL) {
return NULL;
}
if (pPos != NULL) {
params->mPos = *pPos;
if (i_pos != NULL) {
params->mPos = *i_pos;
}
if (pScale != NULL) {
params->mScale = *pScale;
if (i_scale != NULL) {
params->mScale = *i_scale;
}
params->mParam = param;
params->mParam = i_param;
return params;
}
/* 8001F748-8001F768 01A088 0020+00 0/0 3/3 1/1 .text fopKyM_Delete__FPv */
void fopKyM_Delete(void* process) {
fpcM_Delete(process);
void fopKyM_Delete(void* i_process) {
fpcM_Delete(i_process);
}
/* 8001F768-8001F7B8 01A0A8 0050+00 2/2 0/0 0/0 .text fopKyM_Create__FsPFPv_iPv */
static int fopKyM_Create(s16 procName, fopKyM_CreateFunc createFunc, void* process) {
return fpcM_Create(procName, createFunc, process);
static int fopKyM_Create(s16 i_procName, fopKyM_CreateFunc i_createFunc, void* i_process) {
return fpcM_Create(i_procName, i_createFunc, i_process);
}
/* 8001F7B8-8001F818 01A0F8 0060+00 0/0 3/3 1/1 .text fopKyM_create__FsiP4cXyzP4cXyzPFPv_i */
int fopKyM_create(s16 procName, int param, cXyz* pPos, cXyz* pScale,
fopKyM_CreateFunc createFunc) {
fopKyM_prm_class* params = createAppend(param, pPos, pScale);
int fopKyM_create(s16 i_procName, int i_param, cXyz* i_pos, cXyz* i_scale,
fopKyM_CreateFunc i_createFunc) {
fopKyM_prm_class* params = createAppend(i_param, i_pos, i_scale);
if (params == NULL) {
return -1;
}
return fopKyM_Create(procName, createFunc, params);
return fopKyM_Create(i_procName, i_createFunc, params);
}
/* 8001F818-8001F87C 01A158 0064+00 0/0 1/1 0/0 .text fopKyM_fastCreate__FsiP4cXyzP4cXyzPFPv_i */
base_process_class* fopKyM_fastCreate(s16 procName, int param, cXyz* pPos, cXyz* pScale,
fopKyM_CreateFunc createFunc) {
fopKyM_prm_class* params = createAppend(param, pPos, pScale);
base_process_class* fopKyM_fastCreate(s16 i_procName, int i_param, cXyz* i_pos, cXyz* i_scale,
fopKyM_CreateFunc i_createFunc) {
fopKyM_prm_class* params = createAppend(i_param, i_pos, i_scale);
if (params == NULL) {
return NULL;
}
return fpcM_FastCreate(procName, createFunc, NULL, params);
return fpcM_FastCreate(i_procName, i_createFunc, NULL, params);
}
/* 8001F87C-8001F90C 01A1BC 0090+00 0/0 6/6 37/37 .text fopKyM_createWpillar__FPC4cXyzfi
*/
int fopKyM_createWpillar(cXyz const* pPos, f32 scale, int param) {
int fopKyM_createWpillar(cXyz const* i_pos, f32 scale, int i_param) {
fopKyM_prm_class* params = fopKyM_CreateAppend();
if (params == NULL) {
return -1;
}
params->mPos = *pPos;
params->mPos = *i_pos;
params->mScale.x = scale;
params->mScale.y = scale;
params->mScale.z = scale;
params->mParam = param;
params->mParam = i_param;
return fopKyM_Create(PROC_WPILLAR, NULL, params);
}
/* 8001F90C-8001F9B4 01A24C 00A8+00 0/0 0/0 3/3 .text fopKyM_createMpillar__FPC4cXyzf */
int fopKyM_createMpillar(cXyz const* param_0, f32 param_1) {
int fopKyM_createMpillar(cXyz const* i_pos, f32 i_size) {
static u16 m_name[2] = {
0x8757,
0x8758,
};
cXyz tmp;
tmp.x = param_1;
tmp.y = param_1;
tmp.z = param_1;
cXyz scale;
scale.x = i_size;
scale.y = i_size;
scale.z = i_size;
for (int i = 0; i < 2; i++) {
dComIfGp_particle_set(m_name[i], param_0, NULL, &tmp);
dComIfGp_particle_set(m_name[i], i_pos, NULL, &scale);
}
return -1;
}

View File

@ -1,81 +1,49 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_msg
//
/**
* f_op_msg.cpp
* Message Process Framework
*/
#include "f_op/f_op_msg.h"
#include "f_op/f_op_msg_mng.h"
#include "d/msg/d_msg_class.h"
#include "d/s/d_s_play.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Forward References:
//
extern "C" static void fopMsg_Draw__FPv();
extern "C" static void fopMsg_Execute__FPv();
extern "C" static void fopMsg_IsDelete__FPv();
extern "C" static void fopMsg_Delete__FPv();
extern "C" static void fopMsg_Create__FPv();
//
// External References:
//
extern "C" void fopMsgM_GetAppend__FPv();
extern "C" void fopDwTg_ToDrawQ__FP16create_tag_classi();
extern "C" void fopDwTg_DrawQTo__FP16create_tag_class();
extern "C" void fopDwTg_Init__FP16create_tag_classPv();
extern "C" void fpcBs_MakeOfType__FPi();
extern "C" void fpcLf_GetPriority__FPC14leafdraw_class();
extern "C" void fpcLf_DrawMethod__FP21leafdraw_method_classPv();
extern "C" void fpcMtd_Execute__FP20process_method_classPv();
extern "C" void fpcMtd_IsDelete__FP20process_method_classPv();
extern "C" void fpcMtd_Delete__FP20process_method_classPv();
extern "C" void fpcMtd_Create__FP20process_method_classPv();
//
// Declarations:
//
#include "f_op/f_op_msg_mng.h"
/* 8001F488-8001F4B0 019DC8 0028+00 1/0 0/0 0/0 .text fopMsg_Draw__FPv */
static int fopMsg_Draw(void* msg) {
msg_class* m = static_cast<msg_class*>(msg);
return fpcLf_DrawMethod(m->mSubMtd, msg);
static int fopMsg_Draw(void* i_this) {
msg_class* _this = static_cast<msg_class*>(i_this);
return fpcLf_DrawMethod(_this->mSubMtd, i_this);
}
/* 8001F4B0-8001F4E8 019DF0 0038+00 1/0 0/0 0/0 .text fopMsg_Execute__FPv */
static int fopMsg_Execute(void* msg) {
msg_class* m = static_cast<msg_class*>(msg);
static int fopMsg_Execute(void* i_this) {
msg_class* _this = static_cast<msg_class*>(i_this);
int stat = 1;
if (dScnPly_c::isPause()) {
stat = fpcMtd_Execute(&m->mSubMtd->mBase, msg);
stat = fpcMtd_Execute(&_this->mSubMtd->mBase, i_this);
}
return stat;
}
/* 8001F4E8-8001F53C 019E28 0054+00 1/0 0/0 0/0 .text fopMsg_IsDelete__FPv */
static int fopMsg_IsDelete(void* msg) {
msg_class* m = static_cast<msg_class*>(msg);
static int fopMsg_IsDelete(void* i_this) {
msg_class* _this = static_cast<msg_class*>(i_this);
int stat = fpcMtd_IsDelete(&m->mSubMtd->mBase, msg);
int stat = fpcMtd_IsDelete(&_this->mSubMtd->mBase, i_this);
if (stat == 1) {
fopDwTg_DrawQTo(&m->mDwTg);
fopDwTg_DrawQTo(&_this->mDwTg);
}
return stat;
}
/* 8001F53C-8001F588 019E7C 004C+00 1/0 0/0 0/0 .text fopMsg_Delete__FPv */
static int fopMsg_Delete(void* msg) {
msg_class* m = static_cast<msg_class*>(msg);
static int fopMsg_Delete(void* i_this) {
msg_class* _this = static_cast<msg_class*>(i_this);
int stat = fpcMtd_Delete(&m->mSubMtd->mBase, msg);
fopDwTg_DrawQTo(&m->mDwTg);
int stat = fpcMtd_Delete(&_this->mSubMtd->mBase, i_this);
fopDwTg_DrawQTo(&_this->mDwTg);
return stat;
}
@ -85,51 +53,38 @@ static int fopMsg_Delete(void* msg) {
static int fopMsg_MSG_TYPE;
/* 8001F588-8001F660 019EC8 00D8+00 1/0 0/0 0/0 .text fopMsg_Create__FPv */
#if defined NON_MATCHING
int fopMsg_Create(void* data) {
// r31 / r30 swap
msg_class *msg = (msg_class*)data;
int fopMsg_Create(void* i_this) {
msg_class* _this = (msg_class*)i_this;
if (fpcM_IsFirstCreating(msg)) {
msg_process_profile_definition* profile = (msg_process_profile_definition*) fpcM_GetProfile(msg);
msg->mMsgType = fpcBs_MakeOfType(&fopMsg_MSG_TYPE);
msg->mSubMtd = profile->mMethods;
fopDwTg_Init(&msg->mDwTg, msg);
fopMsg_prm_class * prm = fopMsgM_GetAppend(msg);
if (fpcM_IsFirstCreating(_this)) {
msg_process_profile_definition* profile =
(msg_process_profile_definition*)fpcM_GetProfile(i_this);
_this->mMsgType = fpcBs_MakeOfType(&fopMsg_MSG_TYPE);
_this->mSubMtd = profile->mSubMtd;
fopDwTg_Init(&_this->mDwTg, _this);
fopMsg_prm_class* prm = fopMsgM_GetAppend(_this);
if (prm != NULL) {
msg->mpActor = prm->mpActor;
msg->mPos = prm->mPos;
msg->mMsgID = prm->mMsgID;
msg->field_0xf0 = prm->field_0x14;
msg->field_0xf4 = prm->field_0x18;
_this->mpActor = prm->mpActor;
_this->mPos = prm->mPos;
_this->mMsgID = prm->mMsgID;
_this->field_0xf0 = prm->field_0x14;
_this->field_0xf4 = prm->field_0x18;
}
}
int status = fpcMtd_Create(&msg->mSubMtd->mBase, msg);
int status = fpcMtd_Create(&_this->mSubMtd->mBase, _this);
if (status == cPhs_COMPLEATE_e) {
s32 priority = fpcLf_GetPriority(msg);
fopDwTg_ToDrawQ(&msg->mDwTg, priority);
s32 priority = fpcLf_GetPriority(_this);
fopDwTg_ToDrawQ(&_this->mDwTg, priority);
}
return status;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm int fopMsg_Create(void* param_0) {
nofralloc
#include "asm/f_op/f_op_msg/fopMsg_Create__FPv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 803A3958-803A3970 -00001 0014+04 0/0 5/0 0/0 .data g_fopMsg_Method */
leafdraw_method_class g_fopMsg_Method = {
(process_method_func) fopMsg_Create,
(process_method_func) fopMsg_Delete,
(process_method_func) fopMsg_Execute,
(process_method_func) fopMsg_IsDelete,
(process_method_func) fopMsg_Draw,
(process_method_func)fopMsg_Create, (process_method_func)fopMsg_Delete,
(process_method_func)fopMsg_Execute, (process_method_func)fopMsg_IsDelete,
(process_method_func)fopMsg_Draw,
};

View File

@ -5,13 +5,13 @@
#include "f_op/f_op_msg_mng.h"
#include "JSystem/J2DGraph/J2DPane.h"
#include "JSystem/JMath/JMath.h"
#include "SSystem/SComponent/c_malloc.h"
#include "SSystem/SComponent/c_math.h"
#include "d/com/d_com_inf_game.h"
#include "d/msg/d_msg_object.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "JSystem/JMath/JMath.h"
#include "SSystem/SComponent/c_math.h"
//
// Forward References:
@ -39,19 +39,19 @@ s32 fopMsgM_setStageLayer(void* param_0) {
}
/* 8001FA24-8001FA44 01A364 0020+00 3/3 14/14 4/4 .text fopMsgM_SearchByID__FUi */
msg_class* fopMsgM_SearchByID(unsigned int id) {
return (msg_class*)fpcEx_SearchByID(id);
msg_class* fopMsgM_SearchByID(unsigned int i_id) {
return (msg_class*)fpcEx_SearchByID(i_id);
}
/* 8001FA44-8001FA4C 01A384 0008+00 0/0 2/2 0/0 .text fopMsgM_GetAppend__FPv */
fopMsg_prm_class* fopMsgM_GetAppend(void* msg) {
msg_class* m = static_cast<msg_class*>(msg);
return (fopMsg_prm_class*)m->mBase.mpUserData;
fopMsg_prm_class* fopMsgM_GetAppend(void* i_msg) {
msg_class* msg = static_cast<msg_class*>(i_msg);
return (fopMsg_prm_class*)msg->mBase.mpUserData;
}
/* 8001FA4C-8001FA6C 01A38C 0020+00 0/0 2/2 0/0 .text fopMsgM_Delete__FPv */
void fopMsgM_Delete(void* process) {
fpcM_Delete(process);
void fopMsgM_Delete(void* i_this) {
fpcM_Delete(i_this);
}
/* ############################################################################################## */
@ -65,8 +65,8 @@ SECTION_SDATA2 static u8 lit_3902[4] = {
/* 8001FA6C-8001FB50 01A3AC 00E4+00 1/1 0/0 0/0 .text createAppend__FP10fopAc_ac_cP4cXyzPUlPUlUi
*/
static fopMsg_prm_class* createAppend(fopAc_ac_c* pActor, cXyz* pPos, u32* pMsgID,
u32* param_3, unsigned int param_4) {
static fopMsg_prm_class* createAppend(fopAc_ac_c* i_actor, cXyz* i_pos, u32* i_msgID, u32* param_3,
unsigned int param_4) {
fopMsg_prm_class* params =
static_cast<fopMsg_prm_class*>(cMl::memalignB(-4, sizeof(fopMsg_prm_class)));
@ -74,19 +74,19 @@ static fopMsg_prm_class* createAppend(fopAc_ac_c* pActor, cXyz* pPos, u32* pMsgI
return NULL;
}
params->mpActor = pActor;
dMsgObject_setTalkActor(pActor);
params->mpActor = i_actor;
dMsgObject_setTalkActor(i_actor);
if (pMsgID != NULL) {
params->mMsgID = *pMsgID;
if (i_msgID != NULL) {
params->mMsgID = *i_msgID;
}
if (param_3 != NULL) {
params->field_0x14 = *param_3;
}
if (pPos != NULL) {
params->mPos = *pPos;
if (i_pos != NULL) {
params->mPos = *i_pos;
} else {
f32 tmp_0 = FLOAT_LABEL(lit_3902);
cXyz tmp(tmp_0, tmp_0, tmp_0);
@ -103,15 +103,15 @@ static fopMsg_prm_class* createAppend(fopAc_ac_c* pActor, cXyz* pPos, u32* pMsgI
static fopMsg_prm_timer* createTimerAppend(int param_0, u32 param_1, u8 param_2, u8 param_3,
f32 param_4, f32 param_5, f32 param_6, f32 param_7,
unsigned int param_8) {
fopMsg_prm_timer* timer = (fopMsg_prm_timer*)cMl::memalignB(-4,0x38);
if (timer == 0) {
timer = 0;
fopMsg_prm_timer* timer = (fopMsg_prm_timer*)cMl::memalignB(-4, 0x38);
if (timer == NULL) {
timer = NULL;
} else {
timer->field_0x0 = 0;
timer->field_0x10 = 0;
timer->field_0x14 = 0;
cXyz pos(FLOAT_LABEL(lit_3902),FLOAT_LABEL(lit_3902),FLOAT_LABEL(lit_3902));
cXyz pos(FLOAT_LABEL(lit_3902), FLOAT_LABEL(lit_3902), FLOAT_LABEL(lit_3902));
timer->field_0x4 = pos;
timer->field_0x18 = param_8;
timer->field_0x1c = param_0;
@ -125,7 +125,6 @@ static fopMsg_prm_timer* createTimerAppend(int param_0, u32 param_1, u8 param_2,
}
return timer;
}
/* 8001FC4C-8001FCC0 01A58C 0074+00 0/0 1/1 0/0 .text
@ -166,11 +165,11 @@ int fopMsgM_messageSet(u32 i_msgIdx, fopAc_ac_c* i_actorP, u32 param_2) {
}
if (dComIfGp_isHeapLockFlag() != 0 && dComIfGp_isHeapLockFlag() != 5 &&
dComIfGp_isHeapLockFlag() != 2 &&
dComIfGp_isHeapLockFlag() != 3 &&
dComIfGp_isHeapLockFlag() != 1) {
dComIfGp_isHeapLockFlag() != 2 && dComIfGp_isHeapLockFlag() != 3 &&
dComIfGp_isHeapLockFlag() != 1)
{
return -1;
} else {
dComIfGp_clearMesgAnimeTagInfo();
dComIfGp_clearMesgCameraTagInfo();
@ -179,7 +178,7 @@ int fopMsgM_messageSet(u32 i_msgIdx, fopAc_ac_c* i_actorP, u32 param_2) {
if (i_actorP) {
pos = i_actorP->mEyePos;
} else {
pos.set(FLOAT_LABEL(lit_3902),FLOAT_LABEL(lit_3902),FLOAT_LABEL(lit_3902));
pos.set(FLOAT_LABEL(lit_3902), FLOAT_LABEL(lit_3902), FLOAT_LABEL(lit_3902));
}
if (g_MsgObject_HIO_c.mMsgDebug == true) {
@ -193,7 +192,7 @@ int fopMsgM_messageSet(u32 i_msgIdx, fopAc_ac_c* i_actorP, u32 param_2) {
msg->mMsgID = i_msgIdx;
msg->field_0xf0 = param_2;
msg->mpActor = i_actorP;
msg->setMessageIndex(i_msgIdx,param_2,false);
msg->setMessageIndex(i_msgIdx, param_2, false);
return i_msgID;
} else {
return 0;
@ -208,13 +207,12 @@ int fopMsgM_messageSet(u32 msgIdx, u32 param_1) {
}
if (dComIfGp_isHeapLockFlag() != 0 && dComIfGp_isHeapLockFlag() != 5 &&
dComIfGp_isHeapLockFlag() != 2 &&
dComIfGp_isHeapLockFlag() != 3 &&
dComIfGp_isHeapLockFlag() != 1) {
dComIfGp_isHeapLockFlag() != 2 && dComIfGp_isHeapLockFlag() != 3 &&
dComIfGp_isHeapLockFlag() != 1)
{
return -1;
} else {
cXyz pos;
pos.z = FLOAT_LABEL(lit_3902);
pos.y = FLOAT_LABEL(lit_3902);
@ -229,7 +227,7 @@ int fopMsgM_messageSet(u32 msgIdx, u32 param_1) {
msg->field_0xf0 = param_1;
msg->mpActor = NULL;
msg->setTalkPartner(NULL);
msg->setMessageIndex(msgIdx,param_1,false);
msg->setMessageIndex(msgIdx, param_1, false);
return i_msgID;
}
@ -254,11 +252,11 @@ int fopMsgM_messageSetDemo(u32 param_0) {
}
if (dComIfGp_isHeapLockFlag() != 0 && dComIfGp_isHeapLockFlag() != 5 &&
dComIfGp_isHeapLockFlag() != 2 &&
dComIfGp_isHeapLockFlag() != 3 &&
dComIfGp_isHeapLockFlag() != 1) {
dComIfGp_isHeapLockFlag() != 2 && dComIfGp_isHeapLockFlag() != 3 &&
dComIfGp_isHeapLockFlag() != 1)
{
return -1;
} else {
cXyz pos;
pos.z = FLOAT_LABEL(lit_3902);
@ -272,7 +270,7 @@ int fopMsgM_messageSetDemo(u32 param_0) {
msg->mMsgID = param_0;
msg->field_0xf0 = 1000;
msg->mpActor = NULL;
msg->setMessageIndexDemo(param_0,false);
msg->setMessageIndexDemo(param_0, false);
return i_msgID;
} else {
return 0;
@ -281,9 +279,9 @@ int fopMsgM_messageSetDemo(u32 param_0) {
}
/* 800200C0-80020100 01AA00 0040+00 0/0 7/7 1/1 .text fopMsgM_messageGet__FPcUl */
char* fopMsgM_messageGet(char* msg, u32 string_id) {
dMeter2Info_getString(string_id, msg, NULL);
return msg;
char* fopMsgM_messageGet(char* i_stringBuf, u32 i_msgId) {
dMeter2Info_getString(i_msgId, i_stringBuf, NULL);
return i_stringBuf;
}
/* 80020100-80020108 01AA40 0008+00 0/0 1/1 0/0 .text fopMsgM_setMessageID__FUi */
@ -292,8 +290,8 @@ void fopMsgM_setMessageID(unsigned int msg_id) {
}
/* 80020108-80020158 01AA48 0050+00 0/0 2/2 0/0 .text fopMsgM_Create__FsPFPv_iPv */
u32 fopMsgM_Create(s16 param_0, int (*param_1)(void*), void* param_2) {
fpcM_Create(param_0,param_1,param_2);
u32 fopMsgM_Create(s16 i_procName, FastCreateReqFunc i_createFunc, void* i_process) {
fpcM_Create(i_procName, i_createFunc, i_process);
}
/* 80020158-80020160 -00001 0008+00 0/0 0/0 0/0 .text setAlpha__7J2DPaneFUc */
@ -338,7 +336,7 @@ SECTION_SDATA2 static f64 lit_4303 = 4503601774854144.0 /* cast s32 to float */;
// regalloc + something up with case 2
f64 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) {
f32 ret;
if (param_0 <= 0) {
return FLOAT_LABEL(lit_4298);
} else {
@ -351,39 +349,39 @@ f64 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) {
ret = param_1;
f32 out_tmp = ret / param_0;
switch(param_2) {
case 0: {
ret = out_tmp * out_tmp;
break;
}
case 1: {
ret = JMAFastSqrt(out_tmp);
break;
}
case 2: { // seems like this should be default case, but it causes other issues
ret = out_tmp;
break;
}
case 3: {
f32 tmp = (FLOAT_LABEL(lit_4299) * out_tmp) - FLOAT_LABEL(lit_4298);
tmp = out_tmp * tmp;
ret = tmp - FLOAT_LABEL(lit_4298);
break;
}
case 4: {
f32 tmp = cM_ssin(FLOAT_LABEL(lit_4167) * (FLOAT_LABEL(lit_4300) * out_tmp));
ret = tmp * tmp;
break;
}
case 5: {
f32 tmp = cM_ssin(FLOAT_LABEL(lit_4167) * (FLOAT_LABEL(lit_4301) * out_tmp));
ret = tmp * tmp;
break;
}
case 6: {
ret = cM_ssin(FLOAT_LABEL(lit_4300) * out_tmp);
}
}
switch (param_2) {
case 0: {
ret = out_tmp * out_tmp;
break;
}
case 1: {
ret = JMAFastSqrt(out_tmp);
break;
}
case 2: { // seems like this should be default case, but it causes other issues
ret = out_tmp;
break;
}
case 3: {
f32 tmp = (FLOAT_LABEL(lit_4299) * out_tmp) - FLOAT_LABEL(lit_4298);
tmp = out_tmp * tmp;
ret = tmp - FLOAT_LABEL(lit_4298);
break;
}
case 4: {
f32 tmp = cM_ssin(FLOAT_LABEL(lit_4167) * (FLOAT_LABEL(lit_4300) * out_tmp));
ret = tmp * tmp;
break;
}
case 5: {
f32 tmp = cM_ssin(FLOAT_LABEL(lit_4167) * (FLOAT_LABEL(lit_4301) * out_tmp));
ret = tmp * tmp;
break;
}
case 6: {
ret = cM_ssin(FLOAT_LABEL(lit_4300) * out_tmp);
}
}
}
return ret;
@ -417,15 +415,15 @@ void J2DPicture::insert(char const* param_0, u8 param_1, f32 param_2) {
/* 8002039C-800203E0 01ACDC 0044+00 0/0 3/3 0/0 .text fopMsgM_createExpHeap__FUlP7JKRHeap
*/
JKRExpHeap* fopMsgM_createExpHeap(u32 param_0, JKRHeap* heap) {
if (heap == NULL) {
heap = mDoExt_getGameHeap();
JKRExpHeap* fopMsgM_createExpHeap(u32 i_heapSize, JKRHeap* i_heap) {
if (i_heap == NULL) {
i_heap = mDoExt_getGameHeap();
}
return JKRExpHeap::create(param_0, heap, false);
return JKRExpHeap::create(i_heapSize, i_heap, false);
}
/* 800203E0-80020400 01AD20 0020+00 0/0 3/3 0/0 .text fopMsgM_destroyExpHeap__FP10JKRExpHeap */
void fopMsgM_destroyExpHeap(JKRExpHeap* heap) {
heap->destroy();
void fopMsgM_destroyExpHeap(JKRExpHeap* i_heap) {
i_heap->destroy();
}

View File

@ -1,81 +1,56 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_overlap
//
/**
* f_op_overlap.cpp
* Overlap Process Framework
*/
#include "f_op/f_op_overlap.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_overlap_mng.h"
//
// Forward References:
//
extern "C" static void fopOvlp_Draw__FPv();
extern "C" static void fopOvlp_Execute__FPv();
extern "C" static void fopOvlp_IsDelete__FPv();
extern "C" static void fopOvlp_Delete__FPv();
extern "C" static void fopOvlp_Create__FPv();
extern "C" extern void* g_fopOvlp_Method[5 + 1 /* padding */];
//
// External References:
//
extern "C" void fpcLf_DrawMethod__FP21leafdraw_method_classPv();
extern "C" void fpcMtd_Execute__FP20process_method_classPv();
extern "C" void fpcMtd_IsDelete__FP20process_method_classPv();
extern "C" void fpcMtd_Delete__FP20process_method_classPv();
extern "C" void fpcMtd_Create__FP20process_method_classPv();
extern "C" void cReq_Create__FP18request_base_classUc();
//
// Declarations:
//
#include "f_pc/f_pc_manager.h"
/* 8001E37C-8001E3A4 018CBC 0028+00 1/0 0/0 0/0 .text fopOvlp_Draw__FPv */
static s32 fopOvlp_Draw(void* ovlp) {
overlap_task_class* overlap = (overlap_task_class*)ovlp;
return fpcLf_DrawMethod(overlap->field_0xc0, ovlp);
static s32 fopOvlp_Draw(void* i_this) {
overlap_task_class* _this = (overlap_task_class*)i_this;
return fpcLf_DrawMethod(_this->field_0xc0, i_this);
}
/* 8001E3A4-8001E3CC 018CE4 0028+00 1/0 0/0 0/0 .text fopOvlp_Execute__FPv */
static s32 fopOvlp_Execute(void* ovlp) {
overlap_task_class* overlap = (overlap_task_class*)ovlp;
return fpcMtd_Execute(&overlap->field_0xc0->mBase, ovlp);
static s32 fopOvlp_Execute(void* i_this) {
overlap_task_class* _this = (overlap_task_class*)i_this;
return fpcMtd_Execute(&_this->field_0xc0->mBase, i_this);
}
/* 8001E3CC-8001E3F4 018D0C 0028+00 1/0 0/0 0/0 .text fopOvlp_IsDelete__FPv */
static s32 fopOvlp_IsDelete(void* ovlp) {
overlap_task_class* overlap = (overlap_task_class*)ovlp;
return fpcMtd_IsDelete(&overlap->field_0xc0->mBase, ovlp);
static s32 fopOvlp_IsDelete(void* i_this) {
overlap_task_class* _this = (overlap_task_class*)i_this;
return fpcMtd_IsDelete(&_this->field_0xc0->mBase, i_this);
}
/* 8001E3F4-8001E41C 018D34 0028+00 1/0 0/0 0/0 .text fopOvlp_Delete__FPv */
static s32 fopOvlp_Delete(void* ovlp) {
overlap_task_class* overlap = (overlap_task_class*)ovlp;
return fpcMtd_Delete(&overlap->field_0xc0->mBase, ovlp);
static s32 fopOvlp_Delete(void* i_this) {
overlap_task_class* _this = (overlap_task_class*)i_this;
return fpcMtd_Delete(&_this->field_0xc0->mBase, i_this);
}
/* 8001E41C-8001E484 018D5C 0068+00 1/0 0/0 0/0 .text fopOvlp_Create__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void fopOvlp_Create(void* param_0) {
nofralloc
#include "asm/f_op/f_op_overlap/fopOvlp_Create__FPv.s"
static s32 fopOvlp_Create(void* i_this) {
overlap_task_class* _this = (overlap_task_class*)i_this;
if (fpcM_IsFirstCreating(_this)) {
overlap_process_profile_definition* profile =
(overlap_process_profile_definition*)fpcM_GetProfile(_this);
cReq_Create((request_base_class*)&_this->field_0xc4, 1);
_this->field_0xc0 = profile->mSubMtd;
_this->field_0xc8 = -1;
}
return fpcMtd_Create(&_this->field_0xc0->mBase, _this);
}
#pragma pop
/* ############################################################################################## */
/* 803A3878-803A3890 -00001 0014+04 0/0 10/0 0/0 .data g_fopOvlp_Method */
SECTION_DATA extern void* g_fopOvlp_Method[5 + 1 /* padding */] = {
(void*)fopOvlp_Create__FPv,
(void*)fopOvlp_Delete__FPv,
(void*)fopOvlp_Execute__FPv,
(void*)fopOvlp_IsDelete__FPv,
(void*)fopOvlp_Draw__FPv,
/* padding */
NULL,
extern leafdraw_method_class g_fopOvlp_Method = {
(process_method_func)fopOvlp_Create, (process_method_func)fopOvlp_Delete,
(process_method_func)fopOvlp_Execute, (process_method_func)fopOvlp_IsDelete,
(process_method_func)fopOvlp_Draw,
};

View File

@ -1,27 +1,20 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_overlap_mng
//
/**
* f_op_overlap_mng.cpp
* Overlap Process Manager
*/
#include "f_op/f_op_overlap_mng.h"
#include "SSystem/SComponent/c_request.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_overlap_req.h"
#include "f_op/f_op_scene_pause.h"
#include "f_pc/f_pc_executor.h"
//
// Declarations:
//
/* ############################################################################################## */
/* 804505B0-804505B8 000030 0004+04 10/10 0/0 0/0 .sdata l_fopOvlpM_overlap */
// making it not an array put it in .bss
static request_base_class* l_fopOvlpM_overlap[1] = {NULL};
/* 8001E484-8001E4C4 018DC4 0040+00 0/0 1/1 0/0 .text fopOvlpM_SceneIsStop__Fv */
int fopOvlpM_SceneIsStop(void) {
int fopOvlpM_SceneIsStop() {
if (l_fopOvlpM_overlap[0]) {
return fopScnPause_Enable(
(scene_class*)fpcEx_SearchByID(l_fopOvlpM_overlap[0]->field_0x20[0x32]));
@ -31,7 +24,7 @@ int fopOvlpM_SceneIsStop(void) {
}
/* 8001E4C4-8001E504 018E04 0040+00 0/0 5/5 0/0 .text fopOvlpM_SceneIsStart__Fv */
int fopOvlpM_SceneIsStart(void) {
int fopOvlpM_SceneIsStart() {
if (l_fopOvlpM_overlap[0]) {
return fopScnPause_Disable(
(scene_class*)fpcEx_SearchByID(l_fopOvlpM_overlap[0]->field_0x20[0x32]));
@ -56,17 +49,17 @@ void fopOvlpM_ToldAboutID(unsigned int param_1) {
}
/* 8001E558-8001E574 018E98 001C+00 0/0 6/6 7/7 .text fopOvlpM_IsPeek__Fv */
int fopOvlpM_IsPeek(void) {
int fopOvlpM_IsPeek() {
return l_fopOvlpM_overlap[0] ? l_fopOvlpM_overlap[0]->field_0x8 : 0;
}
/* 8001E574-8001E5A8 018EB4 0034+00 0/0 1/1 0/0 .text fopOvlpM_IsDone__Fv */
int fopOvlpM_IsDone(void) {
int fopOvlpM_IsDone() {
return l_fopOvlpM_overlap[0] ? cReq_Is_Done(l_fopOvlpM_overlap[0]) : 0;
}
/* 8001E5A8-8001E5D0 018EE8 0028+00 0/0 3/3 1/1 .text fopOvlpM_IsDoingReq__Fv */
int fopOvlpM_IsDoingReq(void) {
int fopOvlpM_IsDoingReq() {
if (l_fopOvlpM_overlap[0] && l_fopOvlpM_overlap[0]->field_0x4 == 1) {
return 1;
}
@ -75,7 +68,7 @@ int fopOvlpM_IsDoingReq(void) {
}
/* 8001E5D0-8001E604 018F10 0034+00 0/0 1/1 0/0 .text fopOvlpM_ClearOfReq__Fv */
int fopOvlpM_ClearOfReq(void) {
int fopOvlpM_ClearOfReq() {
return l_fopOvlpM_overlap[0] ?
fopOvlpReq_OverlapClr((overlap_request_class*)l_fopOvlpM_overlap[0]) :
0;
@ -97,7 +90,7 @@ request_base_class* fopOvlpM_Request(s16 param_1, u16 param_2) {
}
/* 8001E650-8001E698 018F90 0048+00 0/0 1/1 0/0 .text fopOvlpM_Management__Fv */
void fopOvlpM_Management(void) {
void fopOvlpM_Management() {
if (l_fopOvlpM_overlap[0]) {
int tmp = fopOvlpReq_Handler((overlap_request_class*)l_fopOvlpM_overlap[0]);
if (6 <= tmp || 3 > tmp) {
@ -108,10 +101,11 @@ void fopOvlpM_Management(void) {
}
/* 8001E698-8001E6E8 018FD8 0050+00 0/0 1/1 0/0 .text fopOvlpM_Cancel__Fv */
int fopOvlpM_Cancel(void) {
int fopOvlpM_Cancel() {
if (!l_fopOvlpM_overlap[0]) {
return 1;
}
if (fopOvlpReq_Cancel((overlap_request_class*)l_fopOvlpM_overlap[0]) == true) {
l_fopOvlpM_overlap[0] = NULL;
return 1;
@ -121,6 +115,4 @@ int fopOvlpM_Cancel(void) {
}
/* 8001E6E8-8001E6EC 019028 0004+00 0/0 1/1 0/0 .text fopOvlpM_Init__Fv */
void fopOvlpM_Init() {
/* empty function */
}
void fopOvlpM_Init() {}

View File

@ -1,32 +1,27 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_overlap_req
//
/**
* f_op_overlap_req.cpp
* Overlap Process Request
*/
#include "f_op/f_op_overlap_req.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_pc/f_pc_executor.h"
#include "f_pc/f_pc_manager.h"
#include "f_pc/f_pc_stdcreate_req.h"
void fopOvlpReq_SetPeektime(overlap_request_class*, u16);
//
// Declarations:
//
/* 8001E6EC-8001E748 01902C 005C+00 2/1 0/0 0/0 .text
* fopOvlpReq_phase_Done__FP21overlap_request_class */
static int fopOvlpReq_phase_Done(overlap_request_class* pOvlpReq) {
if (fpcM_Delete(pOvlpReq->field_0x20) == 1) {
pOvlpReq->field_0x20 = 0;
pOvlpReq->field_0x4 = 0;
pOvlpReq->mPeektime = 0;
pOvlpReq->field_0x8 = 0;
pOvlpReq->field_0xc = 0;
static int fopOvlpReq_phase_Done(overlap_request_class* i_overlapReq) {
if (fpcM_Delete(i_overlapReq->field_0x20) == 1) {
i_overlapReq->field_0x20 = 0;
i_overlapReq->field_0x4 = 0;
i_overlapReq->mPeektime = 0;
i_overlapReq->field_0x8 = 0;
i_overlapReq->field_0xc = 0;
return 2;
}
return 0;
}
@ -39,104 +34,109 @@ static s32 fopOvlpReq_phase_IsDone(overlap_request_class* param_1) {
/* 8001E794-8001E7E4 0190D4 0050+00 1/0 0/0 0/0 .text
* fopOvlpReq_phase_IsWaitOfFadeout__FP21overlap_request_class */
static int fopOvlpReq_phase_IsWaitOfFadeout(overlap_request_class* pOvlpReq) {
if (cReq_Is_Done((request_base_class*)(pOvlpReq->field_0x20 + 0xC4))) {
pOvlpReq->field_0x8 = 0;
static int fopOvlpReq_phase_IsWaitOfFadeout(overlap_request_class* i_overlapReq) {
if (cReq_Is_Done((request_base_class*)(i_overlapReq->field_0x20 + 0xC4))) {
i_overlapReq->field_0x8 = 0;
return 2;
}
return 0;
}
/* 8001E7E4-8001E854 019124 0070+00 1/0 0/0 0/0 .text
* fopOvlpReq_phase_WaitOfFadeout__FP21overlap_request_class */
static int fopOvlpReq_phase_WaitOfFadeout(overlap_request_class* pOvlpReq) {
if (pOvlpReq->mPeektime) {
pOvlpReq->mPeektime--;
static int fopOvlpReq_phase_WaitOfFadeout(overlap_request_class* i_overlapReq) {
if (i_overlapReq->mPeektime) {
i_overlapReq->mPeektime--;
}
if (((u8)(pOvlpReq->field_0x0 & 0x3F)) == 2 && !pOvlpReq->mPeektime) {
cReq_Command((request_base_class*)(pOvlpReq->field_0x20 + 0xC4), 2);
if (((u8)(i_overlapReq->field_0x0 & 0x3F)) == 2 && !i_overlapReq->mPeektime) {
cReq_Command((request_base_class*)(i_overlapReq->field_0x20 + 0xC4), 2);
return 2;
}
pOvlpReq->field_0x8 = 1;
i_overlapReq->field_0x8 = 1;
return 0;
}
/* 8001E854-8001E8A4 019194 0050+00 1/0 0/0 0/0 .text
* fopOvlpReq_phase_IsComplete__FP21overlap_request_class */
static int fopOvlpReq_phase_IsComplete(overlap_request_class* pOvlpReq) {
if (cReq_Is_Done((request_base_class*)(pOvlpReq->field_0x20 + 0xC4))) {
cReq_Done((request_base_class*)pOvlpReq);
static int fopOvlpReq_phase_IsComplete(overlap_request_class* i_overlapReq) {
if (cReq_Is_Done((request_base_class*)(i_overlapReq->field_0x20 + 0xC4))) {
cReq_Done((request_base_class*)i_overlapReq);
return 2;
}
return 0;
}
/* 8001E8A4-8001E904 0191E4 0060+00 1/0 0/0 0/0 .text
* fopOvlpReq_phase_IsCreated__FP21overlap_request_class */
static int fopOvlpReq_phase_IsCreated(overlap_request_class* pOvlpReq) {
if (fpcM_IsCreating(pOvlpReq->field_0x14) == 0) {
base_process_class* pBaseProc = fpcEx_SearchByID(pOvlpReq->field_0x14);
if (!pBaseProc) {
return 5;
static int fopOvlpReq_phase_IsCreated(overlap_request_class* i_overlapReq) {
if (fpcM_IsCreating(i_overlapReq->field_0x14) == 0) {
base_process_class* pBaseProc = fpcEx_SearchByID(i_overlapReq->field_0x14);
if (pBaseProc == NULL) {
return cPhs_ERROR_e;
}
pOvlpReq->field_0x20 = (u8*)pBaseProc;
i_overlapReq->field_0x20 = (u8*)pBaseProc;
return 2;
}
return 0;
}
/* 8001E904-8001E954 019244 0050+00 1/0 0/0 0/0 .text
* fopOvlpReq_phase_Create__FP21overlap_request_class */
static int fopOvlpReq_phase_Create(overlap_request_class* pOvlpReq) {
fpcLy_SetCurrentLayer(pOvlpReq->pCurrentLayer);
pOvlpReq->field_0x14 = fpcSCtRq_Request(fpcLy_CurrentLayer(), pOvlpReq->field_0x10, 0, 0, 0);
static int fopOvlpReq_phase_Create(overlap_request_class* i_overlapReq) {
fpcLy_SetCurrentLayer(i_overlapReq->pCurrentLayer);
i_overlapReq->field_0x14 =
fpcSCtRq_Request(fpcLy_CurrentLayer(), i_overlapReq->field_0x10, 0, 0, 0);
return 2;
}
/* ############################################################################################## */
/* 803A3890-803A38B0 -00001 0020+00 1/1 0/0 0/0 .data phaseMethod$2260 */
cPhs__Handler phaseMethod[8] = {
(cPhs__Handler)fopOvlpReq_phase_Create,
(cPhs__Handler)fopOvlpReq_phase_IsCreated,
(cPhs__Handler)fopOvlpReq_phase_IsComplete,
(cPhs__Handler)fopOvlpReq_phase_WaitOfFadeout,
(cPhs__Handler)fopOvlpReq_phase_IsWaitOfFadeout,
(cPhs__Handler)fopOvlpReq_phase_IsDone,
(cPhs__Handler)fopOvlpReq_phase_Done,
(cPhs__Handler)NULL,
};
/* 8001E954-8001E9F0 019294 009C+00 0/0 1/1 0/0 .text
* fopOvlpReq_Request__FP21overlap_request_classsUs */
request_base_class* fopOvlpReq_Request(overlap_request_class* pOvlpReq, s16 param_2, u16 param_3) {
if (pOvlpReq->field_0x4 == 1) {
pOvlpReq = 0;
return (request_base_class*)pOvlpReq;
request_base_class* fopOvlpReq_Request(overlap_request_class* i_overlapReq, s16 param_2,
u16 param_3) {
static cPhs__Handler phaseMethod[8] = {
(cPhs__Handler)fopOvlpReq_phase_Create,
(cPhs__Handler)fopOvlpReq_phase_IsCreated,
(cPhs__Handler)fopOvlpReq_phase_IsComplete,
(cPhs__Handler)fopOvlpReq_phase_WaitOfFadeout,
(cPhs__Handler)fopOvlpReq_phase_IsWaitOfFadeout,
(cPhs__Handler)fopOvlpReq_phase_IsDone,
(cPhs__Handler)fopOvlpReq_phase_Done,
(cPhs__Handler)NULL,
};
if (i_overlapReq->field_0x4 == 1) {
i_overlapReq = 0;
return (request_base_class*)i_overlapReq;
}
cReq_Command((request_base_class*)pOvlpReq, 1);
pOvlpReq->field_0x10 = param_2;
cPhs_Set(&pOvlpReq->field_0x18, phaseMethod);
fopOvlpReq_SetPeektime(pOvlpReq, param_3);
pOvlpReq->field_0x4 = 1;
pOvlpReq->field_0x2 = 1;
pOvlpReq->field_0x20 = 0;
pOvlpReq->field_0x8 = 0;
pOvlpReq->field_0xc = 0;
pOvlpReq->pCurrentLayer = fpcLy_RootLayer();
return (request_base_class*)pOvlpReq;
cReq_Command((request_base_class*)i_overlapReq, 1);
i_overlapReq->field_0x10 = param_2;
cPhs_Set(&i_overlapReq->field_0x18, phaseMethod);
fopOvlpReq_SetPeektime(i_overlapReq, param_3);
i_overlapReq->field_0x4 = 1;
i_overlapReq->field_0x2 = 1;
i_overlapReq->field_0x20 = 0;
i_overlapReq->field_0x8 = 0;
i_overlapReq->field_0xc = 0;
i_overlapReq->pCurrentLayer = fpcLy_RootLayer();
return (request_base_class*)i_overlapReq;
}
/* 8001E9F0-8001EA88 019330 0098+00 0/0 1/1 0/0 .text
* fopOvlpReq_Handler__FP21overlap_request_class */
int fopOvlpReq_Handler(overlap_request_class* pOvlpReq) {
int phase_state = cPhs_Do(&pOvlpReq->field_0x18, pOvlpReq);
int fopOvlpReq_Handler(overlap_request_class* i_overlapReq) {
int phase_state = cPhs_Do(&i_overlapReq->field_0x18, i_overlapReq);
switch (phase_state) {
case cPhs_TWO_e:
return fopOvlpReq_Handler(pOvlpReq);
return fopOvlpReq_Handler(i_overlapReq);
case cPhs_ZERO_e:
return cPhs_ZERO_e;
case cPhs_ONE_e:
@ -153,31 +153,34 @@ int fopOvlpReq_Handler(overlap_request_class* pOvlpReq) {
/* 8001EA88-8001EAB4 0193C8 002C+00 0/0 1/1 0/0 .text fopOvlpReq_Cancel__FP21overlap_request_class
*/
int fopOvlpReq_Cancel(overlap_request_class* pOvlpReq) {
return fopOvlpReq_phase_Done(pOvlpReq) == 2 ? 1 : 0;
int fopOvlpReq_Cancel(overlap_request_class* i_overlapReq) {
return fopOvlpReq_phase_Done(i_overlapReq) == 2 ? 1 : 0;
}
/* 8001EAB4-8001EAC4 0193F4 0010+00 1/1 0/0 0/0 .text
* fopOvlpReq_Is_PeektimeLimit__FP21overlap_request_class */
int fopOvlpReq_Is_PeektimeLimit(overlap_request_class* pOvlpReq) {
return pOvlpReq->mPeektime == 0 ? 1 : 0;
int fopOvlpReq_Is_PeektimeLimit(overlap_request_class* i_overlapReq) {
return i_overlapReq->mPeektime == 0 ? 1 : 0;
}
/* 8001EAC4-8001EAD8 019404 0014+00 1/1 0/0 0/0 .text
* fopOvlpReq_SetPeektime__FP21overlap_request_classUs */
void fopOvlpReq_SetPeektime(overlap_request_class* pOvlpReq, u16 param_2) {
void fopOvlpReq_SetPeektime(overlap_request_class* i_overlapReq, u16 param_2) {
if (0x7fff < param_2) {
return;
}
pOvlpReq->mPeektime = param_2;
i_overlapReq->mPeektime = param_2;
}
/* 8001EAD8-8001EB34 019418 005C+00 0/0 1/1 0/0 .text
* fopOvlpReq_OverlapClr__FP21overlap_request_class */
int fopOvlpReq_OverlapClr(overlap_request_class* pOvlpReq) {
if ((u8)((pOvlpReq->field_0x0 >> 7) & 1) == 1 || !fopOvlpReq_Is_PeektimeLimit(pOvlpReq)) {
int fopOvlpReq_OverlapClr(overlap_request_class* i_overlapReq) {
if ((u8)((i_overlapReq->field_0x0 >> 7) & 1) == 1 || !fopOvlpReq_Is_PeektimeLimit(i_overlapReq))
{
return 0;
}
cReq_Create((request_base_class*)pOvlpReq, 2);
cReq_Create((request_base_class*)i_overlapReq, 2);
return 1;
}

View File

@ -1,32 +1,30 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_scene
//
/**
* f_op_scene.cpp
* Scene Process Framework
*/
#include "f_op/f_op_scene.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_scene_tag.h"
#include "f_pc/f_pc_manager.h"
/* 8001EB34-8001EB5C 019474 0028+00 1/0 0/0 0/0 .text fopScn_Draw__FP11scene_class */
static void fopScn_Draw(scene_class* pScene) {
fpcNd_DrawMethod((nodedraw_method_class*)pScene->mpMtd, pScene);
static void fopScn_Draw(scene_class* i_this) {
fpcNd_DrawMethod((nodedraw_method_class*)i_this->mpMtd, i_this);
}
/* 8001EB5C-8001EB84 01949C 0028+00 1/0 0/0 0/0 .text fopScn_Execute__FP11scene_class */
static void fopScn_Execute(scene_class* pScene) {
fpcMtd_Execute(pScene->mpMtd, pScene);
static void fopScn_Execute(scene_class* i_this) {
fpcMtd_Execute(i_this->mpMtd, i_this);
}
/* 8001EB84-8001EBAC 0194C4 0028+00 1/0 0/0 0/0 .text fopScn_IsDelete__FPv */
static s32 fopScn_IsDelete(void* pScene) {
return fpcMtd_IsDelete(static_cast<scene_class*>(pScene)->mpMtd, pScene);
static s32 fopScn_IsDelete(void* i_this) {
return fpcMtd_IsDelete(static_cast<scene_class*>(i_this)->mpMtd, i_this);
}
/* 8001EBAC-8001EC00 0194EC 0054+00 1/0 0/0 0/0 .text fopScn_Delete__FPv */
static s32 fopScn_Delete(void* pScene) {
scene_class* scene = static_cast<scene_class*>(pScene);
static s32 fopScn_Delete(void* i_this) {
scene_class* scene = static_cast<scene_class*>(i_this);
s32 ret = fpcMtd_Delete(scene->mpMtd, scene);
if (ret == 1) {
fopScnTg_QueueTo(&scene->mScnTg);
@ -35,27 +33,27 @@ static s32 fopScn_Delete(void* pScene) {
}
/* 8001EC00-8001EC74 019540 0074+00 1/0 0/0 0/0 .text fopScn_Create__FPv */
static s32 fopScn_Create(void* pScene) {
scene_class* scene = static_cast<scene_class*>(pScene);
if (fpcM_IsFirstCreating(pScene)) {
static s32 fopScn_Create(void* i_this) {
scene_class* scene = static_cast<scene_class*>(i_this);
if (fpcM_IsFirstCreating(i_this)) {
scene_process_profile_definition* profile =
(scene_process_profile_definition*)fpcM_GetProfile(pScene);
(scene_process_profile_definition*)fpcM_GetProfile(i_this);
scene->mpMtd = profile->mpMtd;
fopScnTg_Init(&scene->mScnTg, pScene);
fopScnTg_Init(&scene->mScnTg, i_this);
fopScnTg_ToQueue(&scene->mScnTg);
u32* append = (u32*)fpcM_GetAppend(pScene);
u32* append = (u32*)fpcM_GetAppend(i_this);
if (append != NULL) {
scene->mBase.mBase.mParameters = *append;
}
}
return fpcMtd_Create(scene->mpMtd, pScene);
return fpcMtd_Create(scene->mpMtd, i_this);
}
/* ############################################################################################## */
/* 803A38B0-803A38C8 -00001 0014+04 0/0 9/0 0/0 .data g_fopScn_Method */
nodedraw_method_class g_fopScn_Method = {
leafdraw_method_class g_fopScn_Method = {
(process_method_func)fopScn_Create, (process_method_func)fopScn_Delete,
(process_method_func)fopScn_Execute, (process_method_func)fopScn_IsDelete,
(process_method_func)fopScn_Draw,

View File

@ -1,20 +1,13 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_scene_iter
//
/**
* f_op_scene_iter.cpp
* Scene Process Iterator
*/
#include "f_op/f_op_scene_iter.h"
#include "SSystem/SComponent/c_list.h"
#include "SSystem/SComponent/c_list_iter.h"
#include "SSystem/SComponent/c_tag_iter.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_scene_tag.h"
//
// Declarations:
//
/* 8001EC74-8001ECB0 0195B4 003C+00 0/0 1/1 0/0 .text fopScnIt_Judge__FPFPvPv_PvPv */
void* fopScnIt_Judge(fop_ScnItFunc pFunc1, void* pData) {
struct {

View File

@ -1,19 +1,13 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_scene_mng
//
/**
* f_op_scene_mng.cpp
* Scene Process Manager
*/
#include "f_op/f_op_scene_mng.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_scene_iter.h"
#include "f_op/f_op_scene_req.h"
#include "f_pc/f_pc_searcher.h"
//
// Declarations:
//
/* 8001ECB0-8001ECE0 0195F0 0030+00 0/0 7/7 1/1 .text fopScnM_SearchByID__FUi */
scene_class* fopScnM_SearchByID(unsigned int id) {
return (scene_class*)fopScnIt_Judge((fop_ScnItFunc)fpcSch_JudgeByID, &id);
@ -24,20 +18,21 @@ scene_class* fopScnM_SearchByID(unsigned int id) {
static u32 l_scnRqID = 0xFFFFFFFF;
/* 8001ECE0-8001ED3C 019620 005C+00 0/0 4/4 1/1 .text fopScnM_ChangeReq__FP11scene_classssUs */
int fopScnM_ChangeReq(scene_class* pScene, s16 param_2, s16 param_3, u16 param_4) {
u32 sceneRequestID = fopScnRq_Request(2, pScene, param_2, 0, param_3, param_4);
int fopScnM_ChangeReq(scene_class* i_scene, s16 param_2, s16 param_3, u16 param_4) {
u32 sceneRequestID = fopScnRq_Request(2, i_scene, param_2, 0, param_3, param_4);
if (sceneRequestID == 0xFFFFFFFF) {
return 0;
}
l_scnRqID = sceneRequestID;
return 1;
}
/* 8001ED3C-8001ED84 01967C 0048+00 0/0 1/1 0/0 .text fopScnM_DeleteReq__FP11scene_class
*/
unsigned int fopScnM_DeleteReq(scene_class* pScene) {
u32 sceneRequestID = fopScnRq_Request(1, pScene, 0x7fff, 0, 0x7fff, 0);
unsigned int fopScnM_DeleteReq(scene_class* i_scene) {
u32 sceneRequestID = fopScnRq_Request(1, i_scene, 0x7FFF, 0, 0x7FFF, 0);
return sceneRequestID != 0xFFFFFFFF;
}
@ -57,11 +52,9 @@ u32 fopScnM_ReRequest(s16 param_1, u32 param_2) {
}
/* 8001EE10-8001EE30 019750 0020+00 0/0 1/1 0/0 .text fopScnM_Management__Fv */
void fopScnM_Management(void) {
void fopScnM_Management() {
fopScnRq_Handler();
}
/* 8001EE30-8001EE34 019770 0004+00 0/0 1/1 0/0 .text fopScnM_Init__Fv */
void fopScnM_Init() {
/* empty function */
}
void fopScnM_Init() {}

View File

@ -1,47 +1,44 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_scene_pause
//
/**
* f_op_scene_pause.cpp
* Scene Process Pause
*/
#include "f_op/f_op_scene_pause.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_pc/f_pc_executor.h"
#include "f_pc/f_pc_manager.h"
//
// Declarations:
//
/* 80020548-80020594 01AE88 004C+00 0/0 2/2 0/0 .text fopScnPause_Enable__FP11scene_class
*/
int fopScnPause_Enable(scene_class* pScene) {
if (pScene) {
fpcM_PauseEnable(pScene, 1);
fpcM_PauseEnable(pScene, 2);
int fopScnPause_Enable(scene_class* i_scene) {
if (i_scene) {
fpcM_PauseEnable(i_scene, 1);
fpcM_PauseEnable(i_scene, 2);
return 1;
}
return 0;
}
/* 80020594-8002064C 01AED4 00B8+00 0/0 2/2 0/0 .text fopScnPause_Disable__FP11scene_class */
int fopScnPause_Disable(scene_class* pScene) {
if (pScene) {
void* tmp = (void*)pScene->mBase.mBase.mLyTg.mpLayer->mpPcNode;
int fopScnPause_Disable(scene_class* i_scene) {
if (i_scene) {
void* tmp = (void*)i_scene->mBase.mBase.mLyTg.mpLayer->mpPcNode;
if (!tmp) {
fpcM_PauseDisable(pScene, 1);
fpcM_PauseDisable(pScene, 2);
fpcM_PauseDisable(i_scene, 1);
fpcM_PauseDisable(i_scene, 2);
} else if (fpcEx_IsExist((s32)((int*)tmp)[1]) == 1) {
if (!fpcM_IsPause(tmp, 1)) {
fpcM_PauseDisable(pScene, 1);
fpcM_PauseDisable(i_scene, 1);
}
if (!fpcM_IsPause(tmp, 2)) {
fpcM_PauseDisable(pScene, 2);
fpcM_PauseDisable(i_scene, 2);
}
}
return 1;
}
return 0;
}

View File

@ -1,21 +1,15 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_scene_req
//
/**
* f_op_scene_req.cpp
* Scene Process Request
*/
#include "f_op/f_op_scene_req.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_overlap_mng.h"
#include "f_pc/f_pc_executor.h"
//
// Declarations:
//
/* 8001EE34-8001EE64 019774 0030+00 1/0 0/0 0/0 .text
* fopScnRq_phase_ClearOverlap__FP19scene_request_class */
static cPhs__Step fopScnRq_phase_ClearOverlap(scene_request_class* param_0) {
static cPhs__Step fopScnRq_phase_ClearOverlap(scene_request_class* i_sceneReq) {
if (fopOvlpM_ClearOfReq() == 1) {
return cPhs_TWO_e;
} else {
@ -25,13 +19,13 @@ static cPhs__Step fopScnRq_phase_ClearOverlap(scene_request_class* param_0) {
/* 8001EE64-8001EE84 0197A4 0020+00 2/0 0/0 0/0 .text
* fopScnRq_phase_Execute__FP19scene_request_class */
static cPhs__Step fopScnRq_phase_Execute(scene_request_class* param_0) {
return (cPhs__Step)fpcNdRq_Execute(&param_0->mCrtReq);
static cPhs__Step fopScnRq_phase_Execute(scene_request_class* i_sceneReq) {
return (cPhs__Step)fpcNdRq_Execute(&i_sceneReq->mCrtReq);
}
/* 8001EE84-8001EEB4 0197C4 0030+00 1/0 0/0 0/0 .text
* fopScnRq_phase_IsDoingOverlap__FP19scene_request_class */
static cPhs__Step fopScnRq_phase_IsDoingOverlap(scene_request_class* param_0) {
static cPhs__Step fopScnRq_phase_IsDoingOverlap(scene_request_class* i_sceneReq) {
if (fopOvlpM_IsDoingReq() == 1) {
return cPhs_TWO_e;
} else {
@ -41,7 +35,7 @@ static cPhs__Step fopScnRq_phase_IsDoingOverlap(scene_request_class* param_0) {
/* 8001EEB4-8001EEE4 0197F4 0030+00 1/0 0/0 0/0 .text
* fopScnRq_phase_IsDoneOverlap__FP19scene_request_class */
static cPhs__Step fopScnRq_phase_IsDoneOverlap(scene_request_class* param_0) {
static cPhs__Step fopScnRq_phase_IsDoneOverlap(scene_request_class* i_sceneReq) {
if (fopOvlpM_IsDone() == 1) {
return cPhs_TWO_e;
} else {
@ -55,28 +49,27 @@ static s32 l_fopScnRq_IsUsingOfOverlap;
/* 8001EEE4-8001EF24 019824 0040+00 2/0 0/0 0/0 .text fopScnRq_phase_Done__FP19scene_request_class
*/
static cPhs__Step fopScnRq_phase_Done(scene_request_class* pScnRq) {
if (pScnRq->mCrtReq.mParameter != 1) {
fopScnPause_Disable((scene_class*)fpcEx_SearchByID(pScnRq->mCrtReq.mCreatingID));
static cPhs__Step fopScnRq_phase_Done(scene_request_class* i_sceneReq) {
if (i_sceneReq->mCrtReq.mParameter != 1) {
fopScnPause_Disable((scene_class*)fpcEx_SearchByID(i_sceneReq->mCrtReq.mCreatingID));
}
l_fopScnRq_IsUsingOfOverlap = 0;
return cPhs_TWO_e;
}
/* 8001EF24-8001EF6C 019864 0048+00 1/0 0/0 0/0 .text fopScnRq_Execute__FP19scene_request_class */
static void fopScnRq_Execute(scene_request_class* pScnRq) {
int tmp = cPhs_Do(&pScnRq->mReqPhsProcCls, pScnRq);
static void fopScnRq_Execute(scene_request_class* i_sceneReq) {
int tmp = cPhs_Do(&i_sceneReq->mReqPhsProcCls, i_sceneReq);
switch (tmp) {
case 2: {
fopScnRq_Execute(pScnRq);
}
case 2:
fopScnRq_Execute(i_sceneReq);
}
}
/* 8001EF6C-8001EFB0 0198AC 0044+00 1/0 0/0 0/0 .text
* fopScnRq_PostMethod__FPvP19scene_request_class */
static int fopScnRq_PostMethod(void* param_1, scene_request_class* pScnRq) {
if (pScnRq->mFadeRequest) {
static int fopScnRq_PostMethod(void* param_1, scene_request_class* i_sceneReq) {
if (i_sceneReq->mFadeRequest) {
fopScnPause_Enable((scene_class*)param_1);
fopOvlpM_ToldAboutID(((scene_class*)param_1)->mBase.mBase.mBsPcId);
}
@ -84,8 +77,8 @@ static int fopScnRq_PostMethod(void* param_1, scene_request_class* pScnRq) {
}
/* 8001EFB0-8001EFF0 0198F0 0040+00 1/0 0/0 0/0 .text fopScnRq_Cancel__FP19scene_request_class */
static int fopScnRq_Cancel(scene_request_class* pScnRq) {
if (pScnRq->mFadeRequest && !fopOvlpM_Cancel()) {
static int fopScnRq_Cancel(scene_request_class* i_sceneReq) {
if (i_sceneReq->mFadeRequest && !fopOvlpM_Cancel()) {
return 0;
} else {
return 1;
@ -94,57 +87,54 @@ static int fopScnRq_Cancel(scene_request_class* pScnRq) {
/* 8001EFF0-8001F034 019930 0044+00 1/1 0/0 0/0 .text fopScnRq_FadeRequest__FsUs */
static scene_request_class* fopScnRq_FadeRequest(s16 param_1, u16 param_2) {
request_base_class* tmp = NULL;
request_base_class* req = NULL;
if (l_fopScnRq_IsUsingOfOverlap == 0 && (tmp = fopOvlpM_Request(param_1, param_2), tmp != 0)) {
if (l_fopScnRq_IsUsingOfOverlap == 0 && (req = fopOvlpM_Request(param_1, param_2), req != NULL))
{
l_fopScnRq_IsUsingOfOverlap = 1;
}
return (scene_request_class*)tmp;
return (scene_request_class*)req;
}
/* ############################################################################################## */
/* 803A38C8-803A38D8 -00001 0010+00 1/1 0/0 0/0 .data submethod$2274 */
static node_create_request_method_class submethod = {
(process_method_func)fopScnRq_Execute,
(process_method_func)fopScnRq_Cancel,
NULL,
(process_method_func)fopScnRq_PostMethod,
};
/* 803A38D8-803A38F8 -00001 0020+00 0/1 0/0 0/0 .data noFadeFase$2275 */
static cPhs__Handler noFadeFase[8] = {
(cPhs__Handler)fopScnRq_phase_Execute,
(cPhs__Handler)fopScnRq_phase_Done,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
};
/* 803A38F8-803A3918 -00001 0020+00 0/1 0/0 0/0 .data fadeFase$2276 */
static cPhs__Handler fadeFase[8] = {
(cPhs__Handler)fopScnRq_phase_IsDoingOverlap,
(cPhs__Handler)fopScnRq_phase_IsDoneOverlap,
(cPhs__Handler)fopScnRq_phase_Execute,
(cPhs__Handler)fopScnRq_phase_ClearOverlap,
(cPhs__Handler)fopScnRq_phase_IsDoneOverlap,
(cPhs__Handler)fopScnRq_phase_Done,
NULL,
NULL,
};
/* 8001F034-8001F0FC 019974 00C8+00 0/0 3/3 0/0 .text fopScnRq_Request__FiP11scene_classsPvsUs */
s32 fopScnRq_Request(int param_1, scene_class* param_2, s16 param_3, void* param_4, s16 param_5,
s32 fopScnRq_Request(int param_1, scene_class* i_scene, s16 param_3, void* param_4, s16 param_5,
u16 param_6) {
static node_create_request_method_class submethod = {
(process_method_func)fopScnRq_Execute,
(process_method_func)fopScnRq_Cancel,
NULL,
(process_method_func)fopScnRq_PostMethod,
};
static cPhs__Handler noFadeFase[8] = {
(cPhs__Handler)fopScnRq_phase_Execute,
(cPhs__Handler)fopScnRq_phase_Done,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
};
static cPhs__Handler fadeFase[8] = {
(cPhs__Handler)fopScnRq_phase_IsDoingOverlap,
(cPhs__Handler)fopScnRq_phase_IsDoneOverlap,
(cPhs__Handler)fopScnRq_phase_Execute,
(cPhs__Handler)fopScnRq_phase_ClearOverlap,
(cPhs__Handler)fopScnRq_phase_IsDoneOverlap,
(cPhs__Handler)fopScnRq_phase_Done,
NULL,
NULL,
};
s32 ret;
int tmp = 0;
cPhs__Handler* phase_handler_table;
phase_handler_table = noFadeFase;
scene_request_class* pScnReq = (scene_request_class*)fpcNdRq_Request(
sizeof(scene_request_class), param_1, (process_node_class*)param_2, param_3, param_4,
sizeof(scene_request_class), param_1, (process_node_class*)i_scene, param_3, param_4,
&submethod);
if (!pScnReq) {
@ -172,6 +162,6 @@ s32 fopScnRq_ReRequest(unsigned int param_1, s16 param_2, void* param_3) {
}
/* 8001F11C-8001F13C 019A5C 0020+00 0/0 1/1 0/0 .text fopScnRq_Handler__Fv */
void fopScnRq_Handler(void) {
void fopScnRq_Handler() {
fpcNdRq_Handler();
}

View File

@ -1,19 +1,13 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_scene_tag
//
/**
* f_op_scene_tag.cpp
* Scene Process Tag
*/
#include "f_op/f_op_scene_tag.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Declarations:
//
/* 8001F13C-8001F15C 019A7C 0020+00 0/0 1/1 0/0 .text fopScnTg_QueueTo__FP15scene_tag_class */
void fopScnTg_QueueTo(scene_tag_class* pSceneTag) {
cTg_SingleCut((create_tag_class*)pSceneTag);
void fopScnTg_QueueTo(scene_tag_class* i_sceneTag) {
cTg_SingleCut((create_tag_class*)i_sceneTag);
}
/* ############################################################################################## */
@ -21,11 +15,11 @@ void fopScnTg_QueueTo(scene_tag_class* pSceneTag) {
node_list_class g_fopScnTg_SceneList = {NULL, NULL, 0};
/* 8001F15C-8001F188 019A9C 002C+00 0/0 1/1 0/0 .text fopScnTg_ToQueue__FP15scene_tag_class */
void fopScnTg_ToQueue(scene_tag_class* pSceneTag) {
cTg_Addition(&g_fopScnTg_SceneList, (create_tag_class*)pSceneTag);
void fopScnTg_ToQueue(scene_tag_class* i_sceneTag) {
cTg_Addition(&g_fopScnTg_SceneList, (create_tag_class*)i_sceneTag);
}
/* 8001F188-8001F1A8 019AC8 0020+00 0/0 1/1 0/0 .text fopScnTg_Init__FP15scene_tag_classPv */
void fopScnTg_Init(scene_tag_class* pSceneTag, void* pData) {
cTg_Create((create_tag_class*)pSceneTag, pData);
void fopScnTg_Init(scene_tag_class* i_sceneTag, void* pData) {
cTg_Create((create_tag_class*)i_sceneTag, pData);
}

View File

@ -1,51 +1,48 @@
//
// Generated By: dol2asm
// Translation Unit: f_op/f_op_view
//
/**
* f_op_view.cpp
* View Process Framework
*/
#include "f_op/f_op_view.h"
#include "f_pc/f_pc_manager.h"
#include "dol2asm.h"
#include "dolphin/types.h"
/* 8001F1A8-8001F1D0 019AE8 0028+00 1/0 0/0 0/0 .text fopVw_Draw__FP10view_class */
void fopVw_Draw(view_class* pView) {
fpcLf_DrawMethod(pView->mSubMtd, pView);
void fopVw_Draw(view_class* i_this) {
fpcLf_DrawMethod(i_this->mSubMtd, i_this);
}
/* 8001F1D0-8001F1F8 019B10 0028+00 1/0 0/0 0/0 .text fopVw_Execute__FP10view_class */
void fopVw_Execute(view_class* pView) {
fpcMtd_Execute(&pView->mSubMtd->mBase, pView);
void fopVw_Execute(view_class* i_this) {
fpcMtd_Execute(&i_this->mSubMtd->mBase, i_this);
}
/* 8001F1F8-8001F220 019B38 0028+00 1/0 0/0 0/0 .text fopVw_IsDelete__FPv */
s32 fopVw_IsDelete(void* data) {
view_class* pView = (view_class*)data;
return fpcMtd_IsDelete(&pView->mSubMtd->mBase, pView);
s32 fopVw_IsDelete(void* i_this) {
view_class* _this = (view_class*)i_this;
return fpcMtd_IsDelete(&_this->mSubMtd->mBase, _this);
}
/* 8001F220-8001F248 019B60 0028+00 1/0 0/0 0/0 .text fopVw_Delete__FP10view_class */
s32 fopVw_Delete(view_class* pView) {
return fpcMtd_Delete(&pView->mSubMtd->mBase, pView);
s32 fopVw_Delete(view_class* i_this) {
return fpcMtd_Delete(&i_this->mSubMtd->mBase, i_this);
}
/* 8001F248-8001F284 019B88 003C+00 1/0 0/0 0/0 .text fopVw_Create__FPv */
s32 fopVw_Create(void* data) {
view_class* pView = (view_class*)data;
s32 fopVw_Create(void* i_this) {
view_class* _this = (view_class*)i_this;
view_process_profile_definition* pProf = (view_process_profile_definition*)fpcM_GetProfile(pView);
pView->mSubMtd = pProf->mSubMtd;
pView->field_0xc4 = pProf->unk28;
view_process_profile_definition* pProf =
(view_process_profile_definition*)fpcM_GetProfile(_this);
_this->mSubMtd = pProf->mSubMtd;
_this->field_0xc4 = pProf->unk28;
return fpcMtd_Create(&pView->mSubMtd->mBase, pView);
return fpcMtd_Create(&_this->mSubMtd->mBase, _this);
}
/* ############################################################################################## */
/* 803A3928-803A3940 -00001 0014+04 0/0 2/0 0/0 .data g_fopVw_Method */
leafdraw_method_class g_fopVw_Method = {
(process_method_func)fopVw_Create,
(process_method_func)fopVw_Delete,
(process_method_func)fopVw_Execute,
(process_method_func)fopVw_IsDelete,
(process_method_func)fopVw_Create, (process_method_func)fopVw_Delete,
(process_method_func)fopVw_Execute, (process_method_func)fopVw_IsDelete,
(process_method_func)fopVw_Draw,
};

View File

@ -97,17 +97,10 @@ extern "C" void stopPatternedRumble__Q210JUTGamePad7CRumbleFs();
extern "C" void _savegpr_28();
extern "C" void _restgpr_28();
extern "C" extern u8 m_gamePad__8mDoCPd_c[16];
extern "C" extern u8 struct_80450D38;
//
// Declarations:
//
/* 80450D38-80450D40 0008+00 s=0 e=1 z=0 None .sbss None */
u8 struct_80450D38;
s8 data_80450D39;
/* 800220A0-800220C0 0020+00 s=1 e=1 z=0 None .text fpcM_Draw__FPv */
void fpcM_Draw(void* pProc) {
fpcDw_Execute((base_process_class*)pProc);
@ -139,16 +132,13 @@ void fpcM_Management(fpcM_ManagementFunc func1, fpcM_ManagementFunc func2) {
dComIfGd_peekZdata();
if (!dShutdownErrorMsg_c::execute()) {
if (data_80450D39 == 0) {
struct_80450D38 = 0;
data_80450D39 = 1;
}
static bool l_dvdError = false;
if (!dDvdErrorMsg_c::execute()) {
if (struct_80450D38 != 0) {
if (l_dvdError) {
dLib_time_c::startTime();
Z2GetSoundMgr()->pauseAllGameSound(false);
struct_80450D38 = 0;
l_dvdError = false;
}
cAPIGph_Painter();
@ -174,11 +164,11 @@ void fpcM_Management(fpcM_ManagementFunc func1, fpcM_ManagementFunc func2) {
}
dComIfGp_drawSimpleModel();
} else if (struct_80450D38 == 0) {
} else if (!l_dvdError) {
dLib_time_c::stopTime();
Z2GetSoundMgr()->pauseAllGameSound(true);
mDoCPd_c::stopMotorWaveHard(0);
struct_80450D38 = 1;
l_dvdError = true;
}
}
}

View File

@ -477,21 +477,21 @@ SECTION_SDATA2 static f64 lit_3878 = 4503601774854144.0 /* cast s32 to float */;
/* 8000D320-8000D428 007C60 0108+00 6/6 0/0 0/0 .text initPlay__14mDoExt_baseAnmFsifss */
// matches with literals
#ifdef NONMATCHING
int mDoExt_baseAnm::initPlay(s16 i_frameMax, int i_attribute, f32 i_rate, s16 i_start,
s16 param_4) {
mFrameCtrl.setStart(i_start);
int mDoExt_baseAnm::initPlay(s16 i_frameMax, int i_attribute, f32 i_rate, s16 i_startF,
s16 i_endF) {
mFrameCtrl.setStart(i_startF);
if (param_4 < 0) {
if (i_endF < 0) {
mFrameCtrl.init(i_frameMax);
} else {
mFrameCtrl.init(param_4);
mFrameCtrl.init(i_endF);
}
mFrameCtrl.setAttribute(i_attribute);
mFrameCtrl.setRate(i_rate);
if (i_rate >= 0.0f) {
mFrameCtrl.setFrame(i_start);
mFrameCtrl.setFrame(i_startF);
} else {
mFrameCtrl.setFrame(mFrameCtrl.getEnd());
}
@ -532,7 +532,7 @@ asm int mDoExt_baseAnm::play() {
/* 8000D47C-8000D518 007DBC 009C+00 0/0 3/3 6/6 .text
* init__13mDoExt_bpkAnmFP16J3DMaterialTableP11J3DAnmColoriifss */
int mDoExt_bpkAnm::init(J3DMaterialTable* i_matTable, J3DAnmColor* i_bpk, int i_anmPlay,
int i_attribute, f32 i_rate, s16 i_start, s16 param_6) {
int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF) {
mpAnm = i_bpk;
mpAnm->searchUpdateMaterialID(i_matTable);
@ -544,7 +544,7 @@ int mDoExt_bpkAnm::init(J3DMaterialTable* i_matTable, J3DAnmColor* i_bpk, int i_
attribute = i_attribute;
}
return initPlay(mpAnm->getFrameMax(), attribute, i_rate, i_start, param_6);
return initPlay(mpAnm->getFrameMax(), attribute, i_rate, i_startF, i_endF);
}
return 1;
@ -560,7 +560,7 @@ void mDoExt_bpkAnm::entry(J3DMaterialTable* i_matTable, f32 i_frame) {
/* 8000D54C-8000D5E8 007E8C 009C+00 0/0 5/5 28/28 .text
* init__13mDoExt_btpAnmFP16J3DMaterialTableP16J3DAnmTexPatterniifss */
int mDoExt_btpAnm::init(J3DMaterialTable* i_matTable, J3DAnmTexPattern* i_btp, int i_anmPlay,
int i_attribute, f32 i_rate, s16 i_start, s16 param_6) {
int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF) {
mpAnm = i_btp;
mpAnm->searchUpdateMaterialID(i_matTable);
@ -572,7 +572,7 @@ int mDoExt_btpAnm::init(J3DMaterialTable* i_matTable, J3DAnmTexPattern* i_btp, i
attribute = i_attribute;
}
return initPlay(mpAnm->getFrameMax(), attribute, i_rate, i_start, param_6);
return initPlay(mpAnm->getFrameMax(), attribute, i_rate, i_startF, i_endF);
}
return 1;
@ -600,7 +600,7 @@ asm void mDoExt_btpAnm::entry(J3DMaterialTable* param_0, s16 param_1) {
/* 8000D63C-8000D6D8 007F7C 009C+00 0/0 6/6 137/137 .text
* init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss */
int mDoExt_btkAnm::init(J3DMaterialTable* i_matTable, J3DAnmTextureSRTKey* i_btk, int i_anmPlay,
int i_attribute, f32 i_rate, s16 i_start, s16 param_6) {
int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF) {
mpAnm = i_btk;
mpAnm->searchUpdateMaterialID(i_matTable);
@ -612,7 +612,7 @@ int mDoExt_btkAnm::init(J3DMaterialTable* i_matTable, J3DAnmTextureSRTKey* i_btk
attribute = i_attribute;
}
return initPlay(mpAnm->getFrameMax(), attribute, i_rate, i_start, param_6);
return initPlay(mpAnm->getFrameMax(), attribute, i_rate, i_startF, i_endF);
}
return 1;
@ -628,7 +628,7 @@ void mDoExt_btkAnm::entry(J3DMaterialTable* i_matTable, f32 i_frame) {
/* 8000D70C-8000D7A8 00804C 009C+00 0/0 8/8 112/112 .text
* init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss */
int mDoExt_brkAnm::init(J3DMaterialTable* i_matTable, J3DAnmTevRegKey* i_brk, int i_anmPlay,
int i_attribute, f32 i_rate, s16 i_start, s16 param_6) {
int i_attribute, f32 i_rate, s16 i_startF, s16 i_endF) {
mpAnm = i_brk;
mpAnm->searchUpdateMaterialID(i_matTable);
@ -640,7 +640,7 @@ int mDoExt_brkAnm::init(J3DMaterialTable* i_matTable, J3DAnmTevRegKey* i_brk, in
attribute = i_attribute;
}
return initPlay(mpAnm->getFrameMax(), attribute, i_rate, i_start, param_6);
return initPlay(mpAnm->getFrameMax(), attribute, i_rate, i_startF, i_endF);
}
return 1;
@ -2404,8 +2404,8 @@ void mDoExt_destroyExpHeap(JKRExpHeap* i_heap) {
/* 8000F1CC-8000F1EC 009B0C 0020+00 1/1 78/78 2/2 .text mDoExt_setCurrentHeap__FP7JKRHeap
*/
JKRHeap* mDoExt_setCurrentHeap(JKRHeap* i_heap) {
return i_heap->becomeCurrentHeap();
JKRHeap* mDoExt_setCurrentHeap(JKRHeap* heap) {
return heap->becomeCurrentHeap();
}
/* 8000F1EC-8000F1F4 -00001 0008+00 0/0 0/0 0/0 .text mDoExt_getCurrentHeap__Fv */

View File

@ -280,10 +280,6 @@ void mDoMch_HeapCheckAll() {
myHeapCheckRecursive(JKRHeap::sRootHeap);
}
static u8 debug_key0;
static u8 debug_key1;
static u8 debug_key2;
/* 8000B68C-8000B73C 005FCC 00B0+00 1/1 0/0 0/0 .text developKeyCheck__FUlUl */
static int developKeyCheck(u32 btnTrig, u32 btnHold) {
static u8 key_link;

View File

@ -233,8 +233,8 @@ OSTime mDoMain::sHungUpTime;
/* 80450B19 0001+00 data_80450B19 None */
/* 80450B1A 0002+00 data_80450B1A None */
static bool mDisplayHeapSize;
static u8 sDisplayHeap;
static bool sCheckHeap;
static u8 mSelectHeapBar;
static bool mCheckHeap;
/* 80005AD8-80005D4C 000418 0274+00 1/1 0/0 0/0 .text debugDisplay__Fv */
void debugDisplay() {
@ -246,8 +246,8 @@ void debugDisplay() {
"", "/ MaxFree", "/HeapSize", "Blk/Bytes", "Blk/Bytes",
};
if (sDisplayHeap >= 1 && sDisplayHeap <= 6) {
HeapCheckTable[sDisplayHeap - 1]->heapDisplay();
if (mSelectHeapBar >= 1 && mSelectHeapBar <= 6) {
HeapCheckTable[mSelectHeapBar - 1]->heapDisplay();
}
if (mDoMain::mHeapBriefType == 5) {
@ -428,7 +428,7 @@ s32 LOAD_COPYDATE(void*) {
static void debug() {
if (mDoMain::developmentMode) {
if (sCheckHeap) {
if (mCheckHeap) {
CheckHeap(PAD_3);
}
@ -745,15 +745,15 @@ extern u8 data_80450B90[4 + 4 /* padding */];
u8 data_80450B90[4 + 4 /* padding */];
/* 80450B98-80450B9C -00001 0004+00 0/0 6/6 0/0 .sbss None */
bool sOSReportDisabled;
bool __OSReport_disable;
bool data_80450B99;
bool __OSReport_Error_disable;
bool data_80450B9A;
bool __OSReport_Warning_disable;
bool data_80450B9B;
bool __OSReport_System_disable;
/* 80450B9C-80450BA0 00009C 0004+00 0/0 3/3 0/0 .sbss None */
bool sOSReportForceEnable;
bool __OSReport_enable;
/* 803739A0-803739A0 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */

View File

@ -72,22 +72,22 @@ void OSAttention(char* fmt, ...) {
/* 80006894-800068A0 0011D4 000C+00 0/0 1/1 0/0 .text OSReportDisable */
void OSReportDisable() {
sOSReportDisabled = true;
__OSReport_disable = true;
}
/* 800068A0-800068AC 0011E0 000C+00 0/0 1/1 0/0 .text OSReportEnable */
void OSReportEnable() {
sOSReportDisabled = false;
__OSReport_disable = false;
}
/* 800068AC-800068B8 0011EC 000C+00 4/4 0/0 0/0 .text OSReportForceEnableOn */
void OSReportForceEnableOn() {
sOSReportForceEnable = true;
__OSReport_enable = true;
}
/* 800068B8-800068C4 0011F8 000C+00 4/4 0/0 0/0 .text OSReportForceEnableOff */
void OSReportForceEnableOff() {
sOSReportForceEnable = false;
__OSReport_enable = false;
}
/* ############################################################################################## */
@ -163,7 +163,7 @@ void mDoPrintf_VReport(const char* fmt, va_list args) {
if (!print_initialized) {
OSReportInit();
}
if (sOSReportForceEnable || !sOSReportDisabled) {
if (__OSReport_enable || !__OSReport_disable) {
OSThread* currentThread = mDoExt_GetCurrentRunningThread__Fv();
if (__OSReport_MonopolyThread == NULL || __OSReport_MonopolyThread == currentThread) {
mDoPrintf_vprintf(fmt, args);
@ -204,7 +204,7 @@ void OSReport_FatalError(char* fmt, ...) {
/* 80006C0C-80006CEC 00154C 00E0+00 0/0 31/31 10/10 .text OSReport_Error */
void OSReport_Error(char* fmt, ...) {
print_errors++;
if (!data_80450B99) {
if (!__OSReport_Error_disable) {
va_list args;
va_start(args, fmt);
OSReportForceEnableOn();
@ -220,7 +220,7 @@ void OSReport_Error(char* fmt, ...) {
/* 80006CEC-80006DCC 00162C 00E0+00 0/0 6/6 0/0 .text OSReport_Warning */
void OSReport_Warning(char* fmt, ...) {
print_warings++;
if (!data_80450B9A) {
if (!__OSReport_Warning_disable) {
va_list args;
va_start(args, fmt);
OSReportForceEnableOn();
@ -236,7 +236,7 @@ void OSReport_Warning(char* fmt, ...) {
/* 80006DCC-80006E7C 00170C 00B0+00 0/0 1/1 0/0 .text OSReport_System */
void OSReport_System(char* fmt, ...) {
print_systems++;
if (!data_80450B9B) {
if (!__OSReport_System_disable) {
va_list args;
va_start(args, fmt);
OSReportForceEnableOn();