Merge pull request #314 from Trueffeloot/work5

d_a_tag_Lantern OK
This commit is contained in:
hatal175 2023-04-07 09:12:11 +03:00 committed by GitHub
commit 5d9e6374e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 134 additions and 570 deletions

View File

@ -21,8 +21,8 @@ Total | 34.306504% | 1379352 | 4020672
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 34.306504% | 1379352 | 4020672
RELs | 33.416206% | 3842972 | 11500324
Total | 33.646836% | 5222324 | 15520996
RELs | 33.426154% | 3844116 | 11500324
Total | 33.654206% | 5223468 | 15520996
## RELs
@ -735,7 +735,7 @@ d_a_tag_hstop | 100.000000% | 3424 | 3424
d_a_tag_instruction | 100.000000% | 712 | 712
d_a_tag_kago_fall | 34.469328% | 1416 | 4108
d_a_tag_kmsg | 32.037997% | 1484 | 4632
d_a_tag_lantern | 52.013423% | 1240 | 2384
d_a_tag_lantern | 100.000000% | 2384 | 2384
d_a_tag_lightball | 46.212121% | 976 | 2112
d_a_tag_lv2prchk | 35.734870% | 992 | 2776
d_a_tag_lv5soup | 100.000000% | 1908 | 1908
@ -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.416206% | 3842972 | 11500324
Total | 33.426154% | 3844116 | 11500324

View File

@ -1,14 +0,0 @@
lbl_8048EDA8:
/* 8048EDA8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048EDAC 7C 08 02 A6 */ mflr r0
/* 8048EDB0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048EDB4 38 80 FF FF */ li r4, -1
/* 8048EDB8 81 83 06 08 */ lwz r12, 0x608(r3)
/* 8048EDBC 81 8C 00 08 */ lwz r12, 8(r12)
/* 8048EDC0 7D 89 03 A6 */ mtctr r12
/* 8048EDC4 4E 80 04 21 */ bctrl
/* 8048EDC8 38 60 00 01 */ li r3, 1
/* 8048EDCC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8048EDD0 7C 08 03 A6 */ mtlr r0
/* 8048EDD4 38 21 00 10 */ addi r1, r1, 0x10
/* 8048EDD8 4E 80 00 20 */ blr

View File

@ -1,106 +0,0 @@
lbl_8048EDDC:
/* 8048EDDC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8048EDE0 7C 08 02 A6 */ mflr r0
/* 8048EDE4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8048EDE8 39 61 00 20 */ addi r11, r1, 0x20
/* 8048EDEC 4B ED 33 F1 */ bl _savegpr_29
/* 8048EDF0 7C 7F 1B 78 */ mr r31, r3
/* 8048EDF4 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8048EDF8 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8048EDFC 3B C4 0F 38 */ addi r30, r4, 0xf38
/* 8048EE00 88 04 4F AD */ lbz r0, 0x4fad(r4)
/* 8048EE04 28 00 00 00 */ cmplwi r0, 0
/* 8048EE08 41 82 00 80 */ beq lbl_8048EE88
/* 8048EE0C A0 1F 00 F8 */ lhz r0, 0xf8(r31)
/* 8048EE10 28 00 00 01 */ cmplwi r0, 1
/* 8048EE14 40 82 00 98 */ bne lbl_8048EEAC
/* 8048EE18 88 1F 06 04 */ lbz r0, 0x604(r31)
/* 8048EE1C 28 00 00 00 */ cmplwi r0, 0
/* 8048EE20 40 82 00 2C */ bne lbl_8048EE4C
/* 8048EE24 38 7F 05 68 */ addi r3, r31, 0x568
/* 8048EE28 7F E4 FB 78 */ mr r4, r31
/* 8048EE2C 80 BF 06 00 */ lwz r5, 0x600(r31)
/* 8048EE30 38 C0 00 00 */ li r6, 0
/* 8048EE34 38 E0 00 00 */ li r7, 0
/* 8048EE38 4B DB B1 59 */ bl init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c
/* 8048EE3C 88 7F 06 04 */ lbz r3, 0x604(r31)
/* 8048EE40 38 03 00 01 */ addi r0, r3, 1
/* 8048EE44 98 1F 06 04 */ stb r0, 0x604(r31)
/* 8048EE48 48 00 00 64 */ b lbl_8048EEAC
lbl_8048EE4C:
/* 8048EE4C 28 00 00 01 */ cmplwi r0, 1
/* 8048EE50 40 82 00 5C */ bne lbl_8048EEAC
/* 8048EE54 38 7F 05 68 */ addi r3, r31, 0x568
/* 8048EE58 7F E4 FB 78 */ mr r4, r31
/* 8048EE5C 38 A0 00 00 */ li r5, 0
/* 8048EE60 38 C0 00 00 */ li r6, 0
/* 8048EE64 4B DB B4 75 */ bl doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci
/* 8048EE68 2C 03 00 00 */ cmpwi r3, 0
/* 8048EE6C 41 82 00 40 */ beq lbl_8048EEAC
/* 8048EE70 38 7E 3F 90 */ addi r3, r30, 0x3f90
/* 8048EE74 4B BB 35 F5 */ bl reset__14dEvt_control_cFv
/* 8048EE78 38 00 00 00 */ li r0, 0
/* 8048EE7C 98 1F 06 04 */ stb r0, 0x604(r31)
/* 8048EE80 90 1F 05 F8 */ stw r0, 0x5f8(r31)
/* 8048EE84 48 00 00 28 */ b lbl_8048EEAC
lbl_8048EE88:
/* 8048EE88 80 1F 05 F8 */ lwz r0, 0x5f8(r31)
/* 8048EE8C 2C 00 00 00 */ cmpwi r0, 0
/* 8048EE90 41 82 00 1C */ beq lbl_8048EEAC
/* 8048EE94 A0 1F 00 FA */ lhz r0, 0xfa(r31)
/* 8048EE98 60 00 00 01 */ ori r0, r0, 1
/* 8048EE9C B0 1F 00 FA */ sth r0, 0xfa(r31)
/* 8048EEA0 38 80 00 00 */ li r4, 0
/* 8048EEA4 38 A0 00 00 */ li r5, 0
/* 8048EEA8 4B B8 C2 F5 */ bl fopAcM_orderSpeakEvent__FP10fopAc_ac_cUsUs
lbl_8048EEAC:
/* 8048EEAC 38 7F 05 B4 */ addi r3, r31, 0x5b4
/* 8048EEB0 38 9F 04 D0 */ addi r4, r31, 0x4d0
/* 8048EEB4 4B DD 8E 75 */ bl SetPos__11cBgS_GndChkFPC4cXyz
/* 8048EEB8 7F C3 F3 78 */ mr r3, r30
/* 8048EEBC 38 9F 05 B4 */ addi r4, r31, 0x5b4
/* 8048EEC0 4B BE 55 E1 */ bl GroundCross__4cBgSFP11cBgS_GndChk
/* 8048EEC4 D0 3F 05 F4 */ stfs f1, 0x5f4(r31)
/* 8048EEC8 3C 60 80 49 */ lis r3, lit_3683@ha /* 0x8048F148@ha */
/* 8048EECC C0 23 F1 48 */ lfs f1, lit_3683@l(r3) /* 0x8048F148@l */
/* 8048EED0 C0 1F 05 F4 */ lfs f0, 0x5f4(r31)
/* 8048EED4 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 8048EED8 41 82 00 28 */ beq lbl_8048EF00
/* 8048EEDC 7F C3 F3 78 */ mr r3, r30
/* 8048EEE0 38 9F 05 C8 */ addi r4, r31, 0x5c8
/* 8048EEE4 4B BE 62 1D */ bl GetRoomId__4dBgSFRC13cBgS_PolyInfo
/* 8048EEE8 7C 7D 1B 78 */ mr r29, r3
/* 8048EEEC 7F C3 F3 78 */ mr r3, r30
/* 8048EEF0 38 9F 05 C8 */ addi r4, r31, 0x5c8
/* 8048EEF4 4B BE 5C F5 */ bl GetPolyColor__4dBgSFRC13cBgS_PolyInfo
/* 8048EEF8 98 7F 04 8D */ stb r3, 0x48d(r31)
/* 8048EEFC 48 00 00 10 */ b lbl_8048EF0C
lbl_8048EF00:
/* 8048EF00 3C 60 80 45 */ lis r3, mStayNo__20dStage_roomControl_c+0x0@ha /* 0x80450D64@ha */
/* 8048EF04 8B A3 0D 64 */ lbz r29, mStayNo__20dStage_roomControl_c+0x0@l(r3) /* 0x80450D64@l */
/* 8048EF08 7F BD 07 74 */ extsb r29, r29
lbl_8048EF0C:
/* 8048EF0C 9B BF 04 8C */ stb r29, 0x48c(r31)
/* 8048EF10 88 1F 04 8C */ lbz r0, 0x48c(r31)
/* 8048EF14 98 1F 04 E2 */ stb r0, 0x4e2(r31)
/* 8048EF18 38 00 00 00 */ li r0, 0
/* 8048EF1C 90 1F 05 5C */ stw r0, 0x55c(r31)
/* 8048EF20 C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
/* 8048EF24 D0 1F 05 50 */ stfs f0, 0x550(r31)
/* 8048EF28 C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
/* 8048EF2C D0 1F 05 54 */ stfs f0, 0x554(r31)
/* 8048EF30 C0 1F 04 D8 */ lfs f0, 0x4d8(r31)
/* 8048EF34 D0 1F 05 58 */ stfs f0, 0x558(r31)
/* 8048EF38 C0 1F 05 50 */ lfs f0, 0x550(r31)
/* 8048EF3C D0 1F 05 38 */ stfs f0, 0x538(r31)
/* 8048EF40 C0 1F 05 54 */ lfs f0, 0x554(r31)
/* 8048EF44 D0 1F 05 3C */ stfs f0, 0x53c(r31)
/* 8048EF48 C0 1F 05 58 */ lfs f0, 0x558(r31)
/* 8048EF4C D0 1F 05 40 */ stfs f0, 0x540(r31)
/* 8048EF50 38 60 00 01 */ li r3, 1
/* 8048EF54 39 61 00 20 */ addi r11, r1, 0x20
/* 8048EF58 4B ED 32 D1 */ bl _restgpr_29
/* 8048EF5C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8048EF60 7C 08 03 A6 */ mtlr r0
/* 8048EF64 38 21 00 20 */ addi r1, r1, 0x20
/* 8048EF68 4E 80 00 20 */ blr

View File

@ -1,33 +0,0 @@
lbl_8048ECAC:
/* 8048ECAC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048ECB0 7C 08 02 A6 */ mflr r0
/* 8048ECB4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048ECB8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8048ECBC 93 C1 00 08 */ stw r30, 8(r1)
/* 8048ECC0 7C 7E 1B 79 */ or. r30, r3, r3
/* 8048ECC4 7C 9F 23 78 */ mr r31, r4
/* 8048ECC8 41 82 00 44 */ beq lbl_8048ED0C
/* 8048ECCC 3C 60 80 49 */ lis r3, __vt__15daTag_Lantern_c@ha /* 0x8048F1A4@ha */
/* 8048ECD0 38 03 F1 A4 */ addi r0, r3, __vt__15daTag_Lantern_c@l /* 0x8048F1A4@l */
/* 8048ECD4 90 1E 06 08 */ stw r0, 0x608(r30)
/* 8048ECD8 38 7E 05 B4 */ addi r3, r30, 0x5b4
/* 8048ECDC 38 80 FF FF */ li r4, -1
/* 8048ECE0 4B DD 8F B5 */ bl __dt__11cBgS_GndChkFv
/* 8048ECE4 38 7E 05 68 */ addi r3, r30, 0x568
/* 8048ECE8 38 80 FF FF */ li r4, -1
/* 8048ECEC 4B DB B2 5D */ bl __dt__10dMsgFlow_cFv
/* 8048ECF0 7F C3 F3 78 */ mr r3, r30
/* 8048ECF4 38 80 00 00 */ li r4, 0
/* 8048ECF8 4B B8 9F 95 */ bl __dt__10fopAc_ac_cFv
/* 8048ECFC 7F E0 07 35 */ extsh. r0, r31
/* 8048ED00 40 81 00 0C */ ble lbl_8048ED0C
/* 8048ED04 7F C3 F3 78 */ mr r3, r30
/* 8048ED08 4B E4 00 35 */ bl __dl__FPv
lbl_8048ED0C:
/* 8048ED0C 7F C3 F3 78 */ mr r3, r30
/* 8048ED10 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8048ED14 83 C1 00 08 */ lwz r30, 8(r1)
/* 8048ED18 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8048ED1C 7C 08 03 A6 */ mtlr r0
/* 8048ED20 38 21 00 10 */ addi r1, r1, 0x10
/* 8048ED24 4E 80 00 20 */ blr

View File

@ -1,20 +0,0 @@
lbl_8048F0EC:
/* 8048F0EC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048F0F0 7C 08 02 A6 */ mflr r0
/* 8048F0F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048F0F8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8048F0FC 7C 7F 1B 79 */ or. r31, r3, r3
/* 8048F100 41 82 00 1C */ beq lbl_8048F11C
/* 8048F104 3C A0 80 49 */ lis r5, __vt__21daTag_Lantern_Param_c@ha /* 0x8048F1B0@ha */
/* 8048F108 38 05 F1 B0 */ addi r0, r5, __vt__21daTag_Lantern_Param_c@l /* 0x8048F1B0@l */
/* 8048F10C 90 1F 00 00 */ stw r0, 0(r31)
/* 8048F110 7C 80 07 35 */ extsh. r0, r4
/* 8048F114 40 81 00 08 */ ble lbl_8048F11C
/* 8048F118 4B E3 FC 25 */ bl __dl__FPv
lbl_8048F11C:
/* 8048F11C 7F E3 FB 78 */ mr r3, r31
/* 8048F120 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8048F124 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8048F128 7C 08 03 A6 */ mtlr r0
/* 8048F12C 38 21 00 10 */ addi r1, r1, 0x10
/* 8048F130 4E 80 00 20 */ blr

View File

@ -1,17 +0,0 @@
lbl_8048F0AC:
/* 8048F0AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048F0B0 7C 08 02 A6 */ mflr r0
/* 8048F0B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048F0B8 3C 60 80 49 */ lis r3, __vt__21daTag_Lantern_Param_c@ha /* 0x8048F1B0@ha */
/* 8048F0BC 38 03 F1 B0 */ addi r0, r3, __vt__21daTag_Lantern_Param_c@l /* 0x8048F1B0@l */
/* 8048F0C0 3C 60 80 49 */ lis r3, l_HIO@ha /* 0x8048F1D4@ha */
/* 8048F0C4 94 03 F1 D4 */ stwu r0, l_HIO@l(r3) /* 0x8048F1D4@l */
/* 8048F0C8 3C 80 80 49 */ lis r4, __dt__21daTag_Lantern_Param_cFv@ha /* 0x8048F0EC@ha */
/* 8048F0CC 38 84 F0 EC */ addi r4, r4, __dt__21daTag_Lantern_Param_cFv@l /* 0x8048F0EC@l */
/* 8048F0D0 3C A0 80 49 */ lis r5, lit_3622@ha /* 0x8048F1C8@ha */
/* 8048F0D4 38 A5 F1 C8 */ addi r5, r5, lit_3622@l /* 0x8048F1C8@l */
/* 8048F0D8 4B FF FB 61 */ bl __register_global_object
/* 8048F0DC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8048F0E0 7C 08 03 A6 */ mtlr r0
/* 8048F0E4 38 21 00 10 */ addi r1, r1, 0x10
/* 8048F0E8 4E 80 00 20 */ blr

View File

@ -1,35 +0,0 @@
lbl_8048ED28:
/* 8048ED28 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048ED2C 7C 08 02 A6 */ mflr r0
/* 8048ED30 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048ED34 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8048ED38 93 C1 00 08 */ stw r30, 8(r1)
/* 8048ED3C 7C 7F 1B 78 */ mr r31, r3
/* 8048ED40 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 8048ED44 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 8048ED48 40 82 00 3C */ bne lbl_8048ED84
/* 8048ED4C 7F E0 FB 79 */ or. r0, r31, r31
/* 8048ED50 41 82 00 28 */ beq lbl_8048ED78
/* 8048ED54 7C 1E 03 78 */ mr r30, r0
/* 8048ED58 4B B8 9E 0D */ bl __ct__10fopAc_ac_cFv
/* 8048ED5C 3C 60 80 49 */ lis r3, __vt__15daTag_Lantern_c@ha /* 0x8048F1A4@ha */
/* 8048ED60 38 03 F1 A4 */ addi r0, r3, __vt__15daTag_Lantern_c@l /* 0x8048F1A4@l */
/* 8048ED64 90 1E 06 08 */ stw r0, 0x608(r30)
/* 8048ED68 38 7E 05 68 */ addi r3, r30, 0x568
/* 8048ED6C 4B DB B1 95 */ bl __ct__10dMsgFlow_cFv
/* 8048ED70 38 7E 05 B4 */ addi r3, r30, 0x5b4
/* 8048ED74 4B DD 8E A9 */ bl __ct__11cBgS_GndChkFv
lbl_8048ED78:
/* 8048ED78 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 8048ED7C 60 00 00 08 */ ori r0, r0, 8
/* 8048ED80 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_8048ED84:
/* 8048ED84 7F E3 FB 78 */ mr r3, r31
/* 8048ED88 48 00 01 ED */ bl initialize__15daTag_Lantern_cFv
/* 8048ED8C 38 60 00 04 */ li r3, 4
/* 8048ED90 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8048ED94 83 C1 00 08 */ lwz r30, 8(r1)
/* 8048ED98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8048ED9C 7C 08 03 A6 */ mtlr r0
/* 8048EDA0 38 21 00 10 */ addi r1, r1, 0x10
/* 8048EDA4 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_8048F024:
/* 8048F024 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048F028 7C 08 02 A6 */ mflr r0
/* 8048F02C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048F030 4B FF FC F9 */ bl create__15daTag_Lantern_cFv
/* 8048F034 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8048F038 7C 08 03 A6 */ mtlr r0
/* 8048F03C 38 21 00 10 */ addi r1, r1, 0x10
/* 8048F040 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_8048F044:
/* 8048F044 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048F048 7C 08 02 A6 */ mflr r0
/* 8048F04C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048F050 4B FF FD 59 */ bl Delete__15daTag_Lantern_cFv
/* 8048F054 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8048F058 7C 08 03 A6 */ mtlr r0
/* 8048F05C 38 21 00 10 */ addi r1, r1, 0x10
/* 8048F060 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_8048F084:
/* 8048F084 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048F088 7C 08 02 A6 */ mflr r0
/* 8048F08C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048F090 4B FF FE DD */ bl Draw__15daTag_Lantern_cFv
/* 8048F094 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8048F098 7C 08 03 A6 */ mtlr r0
/* 8048F09C 38 21 00 10 */ addi r1, r1, 0x10
/* 8048F0A0 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_8048F064:
/* 8048F064 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048F068 7C 08 02 A6 */ mflr r0
/* 8048F06C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048F070 4B FF FD 6D */ bl Execute__15daTag_Lantern_cFv
/* 8048F074 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8048F078 7C 08 03 A6 */ mtlr r0
/* 8048F07C 38 21 00 10 */ addi r1, r1, 0x10
/* 8048F080 4E 80 00 20 */ blr

View File

@ -1,47 +0,0 @@
lbl_8048EF74:
/* 8048EF74 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8048EF78 7C 08 02 A6 */ mflr r0
/* 8048EF7C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8048EF80 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8048EF84 7C 7F 1B 78 */ mr r31, r3
/* 8048EF88 3C 80 80 49 */ lis r4, lit_3697@ha /* 0x8048F14C@ha */
/* 8048EF8C C0 24 F1 4C */ lfs f1, lit_3697@l(r4) /* 0x8048F14C@l */
/* 8048EF90 FC 40 08 90 */ fmr f2, f1
/* 8048EF94 FC 60 08 90 */ fmr f3, f1
/* 8048EF98 FC 80 08 90 */ fmr f4, f1
/* 8048EF9C FC A0 08 90 */ fmr f5, f1
/* 8048EFA0 FC C0 08 90 */ fmr f6, f1
/* 8048EFA4 4B B8 B5 A5 */ bl fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff
/* 8048EFA8 A8 7F 04 B8 */ lha r3, 0x4b8(r31)
/* 8048EFAC 3C 03 00 00 */ addis r0, r3, 0
/* 8048EFB0 28 00 FF FF */ cmplwi r0, 0xffff
/* 8048EFB4 41 82 00 0C */ beq lbl_8048EFC0
/* 8048EFB8 90 7F 06 00 */ stw r3, 0x600(r31)
/* 8048EFBC 48 00 00 0C */ b lbl_8048EFC8
lbl_8048EFC0:
/* 8048EFC0 38 00 FF FF */ li r0, -1
/* 8048EFC4 90 1F 06 00 */ stw r0, 0x600(r31)
lbl_8048EFC8:
/* 8048EFC8 38 00 00 00 */ li r0, 0
/* 8048EFCC B0 1F 04 B8 */ sth r0, 0x4b8(r31)
/* 8048EFD0 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 8048EFD4 54 00 05 3E */ clrlwi r0, r0, 0x14
/* 8048EFD8 90 1F 05 FC */ stw r0, 0x5fc(r31)
/* 8048EFDC C0 1F 04 EC */ lfs f0, 0x4ec(r31)
/* 8048EFE0 3C 60 80 49 */ lis r3, lit_3698@ha /* 0x8048F150@ha */
/* 8048EFE4 C0 23 F1 50 */ lfs f1, lit_3698@l(r3) /* 0x8048F150@l */
/* 8048EFE8 EC 00 00 72 */ fmuls f0, f0, f1
/* 8048EFEC D0 1F 04 EC */ stfs f0, 0x4ec(r31)
/* 8048EFF0 C0 1F 04 F0 */ lfs f0, 0x4f0(r31)
/* 8048EFF4 EC 00 00 72 */ fmuls f0, f0, f1
/* 8048EFF8 D0 1F 04 F0 */ stfs f0, 0x4f0(r31)
/* 8048EFFC C0 1F 04 F4 */ lfs f0, 0x4f4(r31)
/* 8048F000 EC 00 00 72 */ fmuls f0, f0, f1
/* 8048F004 D0 1F 04 F4 */ stfs f0, 0x4f4(r31)
/* 8048F008 7F E3 FB 78 */ mr r3, r31
/* 8048F00C 4B FF FD D1 */ bl Execute__15daTag_Lantern_cFv
/* 8048F010 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8048F014 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8048F018 7C 08 03 A6 */ mtlr r0
/* 8048F01C 38 21 00 10 */ addi r1, r1, 0x10
/* 8048F020 4E 80 00 20 */ blr

View File

@ -1,6 +1,31 @@
#ifndef D_A_TAG_LANTERN_H
#define D_A_TAG_LANTERN_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "d/com/d_com_inf_game.h"
class daTag_Lantern_c : public fopAc_ac_c {
public:
/* 8048ED28 */ int create();
/* 8048EDA8 */ int Delete();
/* 8048EDDC */ int Execute();
/* 8048EF6C */ int Draw();
/* 8048EF74 */ void initialize();
/* 0x568 */ dMsgFlow_c field_0x568;
/* 0x5B4 */ cBgS_GndChk field_0x5b4;
/* 0x5F0 */ u32 field_0x5f0;
/* 0x5F4 */ f32 field_0x5f4;
/* 0x5F8 */ s32 field_0x5f8;
/* 0x5FC */ u32 field_0x5fc;
/* 0x600 */ s32 field_0x600;
/* 0x604 */ u8 field_0x604;
/* 8048ECAC */ virtual ~daTag_Lantern_c();
}; // Size: 0x60C
class daTag_Lantern_Param_c {
public:
/* 8048F0EC */ inline virtual ~daTag_Lantern_Param_c() {}
};
#endif /* D_A_TAG_LANTERN_H */

View File

@ -1,298 +1,145 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_lantern
//
/**
* d_a_tag_lantern.cpp
* Tag - Lantern
*/
#include "rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
/* 80018C8C */ ~fopAc_ac_c();
};
struct daTag_Lantern_c {
/* 8048ECAC */ ~daTag_Lantern_c();
/* 8048ED28 */ void create();
/* 8048EDA8 */ void Delete();
/* 8048EDDC */ void Execute();
/* 8048EF6C */ bool Draw();
/* 8048EF74 */ void initialize();
};
struct daTag_Lantern_Param_c {
/* 8048F0EC */ ~daTag_Lantern_Param_c();
};
struct dMsgFlow_c {
/* 80249F00 */ dMsgFlow_c();
/* 80249F48 */ ~dMsgFlow_c();
/* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**);
/* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int);
};
struct dEvt_control_c {
/* 80042468 */ void reset();
};
struct cBgS_PolyInfo {};
struct dBgS {
/* 80074BE8 */ void GetPolyColor(cBgS_PolyInfo const&);
/* 80075100 */ void GetRoomId(cBgS_PolyInfo const&);
};
struct cXyz {};
struct cBgS_GndChk {
/* 80267C1C */ cBgS_GndChk();
/* 80267C94 */ ~cBgS_GndChk();
/* 80267D28 */ void SetPos(cXyz const*);
};
struct cBgS {
/* 800744A0 */ void GroundCross(cBgS_GndChk*);
};
//
// Forward References:
//
extern "C" void __dt__15daTag_Lantern_cFv();
extern "C" void create__15daTag_Lantern_cFv();
extern "C" void Delete__15daTag_Lantern_cFv();
extern "C" void Execute__15daTag_Lantern_cFv();
extern "C" bool Draw__15daTag_Lantern_cFv();
extern "C" void initialize__15daTag_Lantern_cFv();
extern "C" static void daTag_Lantern_Create__FPv();
extern "C" static void daTag_Lantern_Delete__FPv();
extern "C" static void daTag_Lantern_Execute__FPv();
extern "C" static void daTag_Lantern_Draw__FPv();
extern "C" static bool daTag_Lantern_IsDelete__FPv();
extern "C" void __sinit_d_a_tag_lantern_cpp();
extern "C" void __dt__21daTag_Lantern_Param_cFv();
//
// External References:
//
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
extern "C" void fopAcM_orderSpeakEvent__FP10fopAc_ac_cUsUs();
extern "C" void reset__14dEvt_control_cFv();
extern "C" void GroundCross__4cBgSFP11cBgS_GndChk();
extern "C" void GetPolyColor__4dBgSFRC13cBgS_PolyInfo();
extern "C" void GetRoomId__4dBgSFRC13cBgS_PolyInfo();
extern "C" void __ct__10dMsgFlow_cFv();
extern "C" void __dt__10dMsgFlow_cFv();
extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c();
extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci();
extern "C" void __ct__11cBgS_GndChkFv();
extern "C" void __dt__11cBgS_GndChkFv();
extern "C" void SetPos__11cBgS_GndChkFPC4cXyz();
extern "C" void __dl__FPv();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
extern "C" void __register_global_object();
//
// Declarations:
//
/* ############################################################################################## */
/* 8048F154-8048F174 -00001 0020+00 1/0 0/0 0/0 .data daTag_Lantern_MethodTable */
SECTION_DATA static void* daTag_Lantern_MethodTable[8] = {
(void*)daTag_Lantern_Create__FPv,
(void*)daTag_Lantern_Delete__FPv,
(void*)daTag_Lantern_Execute__FPv,
(void*)daTag_Lantern_IsDelete__FPv,
(void*)daTag_Lantern_Draw__FPv,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 8048F174-8048F1A4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_LANTERN */
SECTION_DATA extern void* g_profile_TAG_LANTERN[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x02D60000, (void*)&g_fpcLf_Method,
(void*)0x0000060C, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x011E0000, (void*)&daTag_Lantern_MethodTable,
(void*)0x00040000, (void*)0x000E0000,
};
/* 8048F1A4-8048F1B0 000050 000C+00 2/2 0/0 0/0 .data __vt__15daTag_Lantern_c */
SECTION_DATA extern void* __vt__15daTag_Lantern_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__15daTag_Lantern_cFv,
};
/* 8048ECAC-8048ED28 0000EC 007C+00 1/0 0/0 0/0 .text __dt__15daTag_Lantern_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daTag_Lantern_c::~daTag_Lantern_c() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/__dt__15daTag_Lantern_cFv.s"
}
#pragma pop
daTag_Lantern_c::~daTag_Lantern_c() {}
/* 8048ED28-8048EDA8 000168 0080+00 1/1 0/0 0/0 .text create__15daTag_Lantern_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Lantern_c::create() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/create__15daTag_Lantern_cFv.s"
int daTag_Lantern_c::create() {
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daTag_Lantern_c();
fopAcM_OnCondition(this, 8);
}
initialize();
return cPhs_COMPLEATE_e;
}
#pragma pop
/* 8048EDA8-8048EDDC 0001E8 0034+00 1/1 0/0 0/0 .text Delete__15daTag_Lantern_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Lantern_c::Delete() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/Delete__15daTag_Lantern_cFv.s"
int daTag_Lantern_c::Delete() {
this->~daTag_Lantern_c();
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 8048F148-8048F14C 000000 0004+00 1/1 0/0 0/0 .rodata @3683 */
SECTION_RODATA static f32 const lit_3683 = -1000000000.0f;
COMPILER_STRIP_GATE(0x8048F148, &lit_3683);
/* 8048EDDC-8048EF6C 00021C 0190+00 2/2 0/0 0/0 .text Execute__15daTag_Lantern_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Lantern_c::Execute() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/Execute__15daTag_Lantern_cFv.s"
int daTag_Lantern_c::Execute() {
s32 sVar;
dComIfG_play_c& play = g_dComIfG_gameInfo.getPlay(); // fake match
if (i_dComIfGp_event_runCheck()) {
if (mEvtInfo.mCommand == 1) {
if (!field_0x604) {
field_0x568.init(this, field_0x600, NULL, NULL);
field_0x604 += 1;
} else if (field_0x604 == 1 && field_0x568.doFlow(this, NULL, NULL)) {
play.getEvent().reset();
field_0x604 = 0;
field_0x5f8 = 0;
}
}
} else {
if (field_0x5f8) {
mEvtInfo.mCondition |= 1;
fopAcM_orderSpeakEvent(this, 0, 0);
}
}
field_0x5b4.SetPos(&current.pos);
field_0x5f4 = dComIfG_Bgsp().GroundCross(&field_0x5b4);
if (field_0x5f4 != -1000000000.0f) {
sVar = dComIfG_Bgsp().GetRoomId(field_0x5b4);
mTevStr.mEnvrIdxOverride = dComIfG_Bgsp().GetPolyColor(field_0x5b4);
} else {
sVar = dComIfGp_roomControl_getStayNo();
}
mTevStr.mRoomNo = sVar;
fopAcM_SetRoomNo(this, mTevStr.mRoomNo);
mAttentionInfo.mFlags = 0;
mAttentionInfo.mPosition = current.pos;
mEyePos = mAttentionInfo.mPosition;
return 1;
}
#pragma pop
/* 8048EF6C-8048EF74 0003AC 0008+00 1/1 0/0 0/0 .text Draw__15daTag_Lantern_cFv */
bool daTag_Lantern_c::Draw() {
return true;
int daTag_Lantern_c::Draw() {
return 1;
}
/* ############################################################################################## */
/* 8048F14C-8048F150 000004 0004+00 1/1 0/0 0/0 .rodata @3697 */
SECTION_RODATA static u8 const lit_3697[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x8048F14C, &lit_3697);
/* 8048F150-8048F154 000008 0004+00 1/1 0/0 0/0 .rodata @3698 */
SECTION_RODATA static f32 const lit_3698 = 100.0f;
COMPILER_STRIP_GATE(0x8048F150, &lit_3698);
/* 8048EF74-8048F024 0003B4 00B0+00 1/1 0/0 0/0 .text initialize__15daTag_Lantern_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTag_Lantern_c::initialize() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/initialize__15daTag_Lantern_cFv.s"
void daTag_Lantern_c::initialize() {
fopAcM_setCullSizeBox(this, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
if (orig.angle.z != 0xffff) {
field_0x600 = orig.angle.z;
} else {
field_0x600 = -1;
}
orig.angle.z = 0;
field_0x5fc = fopAcM_GetParam(this) & 0xfff;
mScale.x *= 100.0f;
mScale.y *= 100.0f;
mScale.z *= 100.0f;
Execute();
}
#pragma pop
/* 8048F024-8048F044 000464 0020+00 1/0 0/0 0/0 .text daTag_Lantern_Create__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTag_Lantern_Create(void* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/daTag_Lantern_Create__FPv.s"
static int daTag_Lantern_Create(void* i_this) {
return static_cast<daTag_Lantern_c*>(i_this)->create();
}
#pragma pop
/* 8048F044-8048F064 000484 0020+00 1/0 0/0 0/0 .text daTag_Lantern_Delete__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTag_Lantern_Delete(void* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/daTag_Lantern_Delete__FPv.s"
static int daTag_Lantern_Delete(void* i_this) {
return static_cast<daTag_Lantern_c*>(i_this)->Delete();
}
#pragma pop
/* 8048F064-8048F084 0004A4 0020+00 1/0 0/0 0/0 .text daTag_Lantern_Execute__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTag_Lantern_Execute(void* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/daTag_Lantern_Execute__FPv.s"
static int daTag_Lantern_Execute(void* i_this) {
return static_cast<daTag_Lantern_c*>(i_this)->Execute();
}
#pragma pop
/* 8048F084-8048F0A4 0004C4 0020+00 1/0 0/0 0/0 .text daTag_Lantern_Draw__FPv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTag_Lantern_Draw(void* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/daTag_Lantern_Draw__FPv.s"
static int daTag_Lantern_Draw(void* i_this) {
return static_cast<daTag_Lantern_c*>(i_this)->Draw();
}
#pragma pop
/* 8048F0A4-8048F0AC 0004E4 0008+00 1/0 0/0 0/0 .text daTag_Lantern_IsDelete__FPv */
static bool daTag_Lantern_IsDelete(void* param_0) {
return true;
static int daTag_Lantern_IsDelete(void* i_this) {
return 1;
}
/* ############################################################################################## */
/* 8048F1B0-8048F1BC 00005C 000C+00 2/2 0/0 0/0 .data __vt__21daTag_Lantern_Param_c */
SECTION_DATA extern void* __vt__21daTag_Lantern_Param_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__21daTag_Lantern_Param_cFv,
};
/* 8048F1C8-8048F1D4 000008 000C+00 1/1 0/0 0/0 .bss @3622 */
static u8 lit_3622[12];
/* 8048F1D4-8048F1D8 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */
static u8 l_HIO[4];
static daTag_Lantern_Param_c l_HIO;
/* 8048F0AC-8048F0EC 0004EC 0040+00 0/0 1/0 0/0 .text __sinit_d_a_tag_lantern_cpp */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __sinit_d_a_tag_lantern_cpp() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/__sinit_d_a_tag_lantern_cpp.s"
}
#pragma pop
/* 8048F154-8048F174 -00001 0020+00 1/0 0/0 0/0 .data daTag_Lantern_MethodTable */
static actor_method_class daTag_Lantern_MethodTable = {
(process_method_func)daTag_Lantern_Create, (process_method_func)daTag_Lantern_Delete,
(process_method_func)daTag_Lantern_Execute, (process_method_func)daTag_Lantern_IsDelete,
(process_method_func)daTag_Lantern_Draw,
};
#pragma push
#pragma force_active on
REGISTER_CTORS(0x8048F0AC, __sinit_d_a_tag_lantern_cpp);
#pragma pop
/* 8048F0EC-8048F134 00052C 0048+00 2/1 0/0 0/0 .text __dt__21daTag_Lantern_Param_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daTag_Lantern_Param_c::~daTag_Lantern_Param_c() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/__dt__21daTag_Lantern_Param_cFv.s"
}
#pragma pop
/* 8048F174-8048F1A4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_LANTERN */
extern actor_process_profile_definition g_profile_TAG_LANTERN = {
-3, // mLayerID
7, // mListID
-3, // mListPrio
PROC_TAG_LANTERN, // mProcName
0, // Padding
&g_fpcLf_Method.mBase, // mSubMtd
sizeof(daTag_Lantern_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // mSubMtd
0x011E, // mPriority
0, // Padding
0, // Padding
&daTag_Lantern_MethodTable, // mSubMtd
0x00040000, // mStatus
0, // mActorType
14, // mCullType
0, // Padding
0, // Padding
};