Merge remote-tracking branch 'upstream/master' into dollibs4

This commit is contained in:
Tal Hayon
2023-01-29 16:55:11 +02:00
90 changed files with 1656 additions and 4237 deletions
+4 -4
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 | 23.514352% | 845704 | 3596544
.text | 23.661493% | 850996 | 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 | 31.577806% | 1269640 | 4020672
Total | 31.709426% | 1274932 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 31.577806% | 1269640 | 4020672
main.dol | 31.709426% | 1274932 | 4020672
RELs | 33.041295% | 3799856 | 11500324
Total | 32.662182% | 5069496 | 15520996
Total | 32.696278% | 5074788 | 15520996
## RELs
@@ -1,21 +0,0 @@
lbl_800885D4:
/* 800885D4 2C 04 00 00 */ cmpwi r4, 0
/* 800885D8 41 80 00 30 */ blt lbl_80088608
/* 800885DC 80 03 00 0C */ lwz r0, 0xc(r3)
/* 800885E0 7C 04 00 00 */ cmpw r4, r0
/* 800885E4 40 80 00 24 */ bge lbl_80088608
/* 800885E8 90 83 00 14 */ stw r4, 0x14(r3)
/* 800885EC 80 83 00 08 */ lwz r4, 8(r3)
/* 800885F0 80 03 00 14 */ lwz r0, 0x14(r3)
/* 800885F4 1C 00 00 78 */ mulli r0, r0, 0x78
/* 800885F8 7C 04 02 14 */ add r0, r4, r0
/* 800885FC 90 03 00 10 */ stw r0, 0x10(r3)
/* 80088600 38 60 00 01 */ li r3, 1
/* 80088604 4E 80 00 20 */ blr
lbl_80088608:
/* 80088608 38 00 00 00 */ li r0, 0
/* 8008860C 90 03 00 14 */ stw r0, 0x14(r3)
/* 80088610 80 03 00 08 */ lwz r0, 8(r3)
/* 80088614 90 03 00 10 */ stw r0, 0x10(r3)
/* 80088618 38 60 00 00 */ li r3, 0
/* 8008861C 4E 80 00 20 */ blr
@@ -1,32 +0,0 @@
lbl_80088918:
/* 80088918 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8008891C C0 22 8E B4 */ lfs f1, lit_4173(r2)
/* 80088920 C0 03 00 60 */ lfs f0, 0x60(r3)
/* 80088924 EC 01 00 32 */ fmuls f0, f1, f0
/* 80088928 FC 00 00 1E */ fctiwz f0, f0
/* 8008892C D8 01 00 08 */ stfd f0, 8(r1)
/* 80088930 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 80088934 C0 03 00 5C */ lfs f0, 0x5c(r3)
/* 80088938 EC 01 00 32 */ fmuls f0, f1, f0
/* 8008893C FC 00 00 1E */ fctiwz f0, f0
/* 80088940 D8 01 00 10 */ stfd f0, 0x10(r1)
/* 80088944 80 61 00 14 */ lwz r3, 0x14(r1)
/* 80088948 A8 C4 00 00 */ lha r6, 0(r4)
/* 8008894C 7C A0 07 34 */ extsh r0, r5
/* 80088950 7C 06 00 00 */ cmpw r6, r0
/* 80088954 40 81 00 10 */ ble lbl_80088964
/* 80088958 B0 A4 00 00 */ sth r5, 0(r4)
/* 8008895C 38 60 00 00 */ li r3, 0
/* 80088960 48 00 00 20 */ b lbl_80088980
lbl_80088964:
/* 80088964 7C 60 07 34 */ extsh r0, r3
/* 80088968 7C 06 00 00 */ cmpw r6, r0
/* 8008896C 40 80 00 10 */ bge lbl_8008897C
/* 80088970 B0 64 00 00 */ sth r3, 0(r4)
/* 80088974 38 60 00 00 */ li r3, 0
/* 80088978 48 00 00 08 */ b lbl_80088980
lbl_8008897C:
/* 8008897C 38 60 00 01 */ li r3, 1
lbl_80088980:
/* 80088980 38 21 00 20 */ addi r1, r1, 0x20
/* 80088984 4E 80 00 20 */ blr
@@ -1,12 +0,0 @@
lbl_80088988:
/* 80088988 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8008898C 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80088990 80 84 5D B4 */ lwz r4, 0x5db4(r4)
/* 80088994 80 04 05 74 */ lwz r0, 0x574(r4)
/* 80088998 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6
/* 8008899C 41 82 00 0C */ beq lbl_800889A8
/* 800889A0 C0 22 8E 54 */ lfs f1, lit_4014(r2)
/* 800889A4 4E 80 00 20 */ blr
lbl_800889A8:
/* 800889A8 C0 23 00 48 */ lfs f1, 0x48(r3)
/* 800889AC 4E 80 00 20 */ blr
@@ -1,22 +0,0 @@
lbl_80088620:
/* 80088620 38 E0 FF FF */ li r7, -1
/* 80088624 39 00 00 00 */ li r8, 0
/* 80088628 38 A0 00 00 */ li r5, 0
/* 8008862C 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80088630 7C 09 03 A6 */ mtctr r0
/* 80088634 2C 00 00 00 */ cmpwi r0, 0
/* 80088638 40 81 00 28 */ ble lbl_80088660
lbl_8008863C:
/* 8008863C 80 C3 00 08 */ lwz r6, 8(r3)
/* 80088640 7C 06 28 2E */ lwzx r0, r6, r5
/* 80088644 7C 04 00 40 */ cmplw r4, r0
/* 80088648 40 82 00 0C */ bne lbl_80088654
/* 8008864C 7D 07 43 78 */ mr r7, r8
/* 80088650 48 00 00 10 */ b lbl_80088660
lbl_80088654:
/* 80088654 39 08 00 01 */ addi r8, r8, 1
/* 80088658 38 A5 00 78 */ addi r5, r5, 0x78
/* 8008865C 42 00 FF E0 */ bdnz lbl_8008863C
lbl_80088660:
/* 80088660 7C E3 3B 78 */ mr r3, r7
/* 80088664 4E 80 00 20 */ blr
-36
View File
@@ -1,36 +0,0 @@
lbl_80088464:
/* 80088464 C0 02 8E 20 */ lfs f0, lit_4001(r2)
/* 80088468 D0 03 00 00 */ stfs f0, 0(r3)
/* 8008846C C0 02 8E 10 */ lfs f0, lit_3791(r2)
/* 80088470 D0 03 00 04 */ stfs f0, 4(r3)
/* 80088474 C0 02 8E 24 */ lfs f0, lit_4002(r2)
/* 80088478 D0 03 00 08 */ stfs f0, 8(r3)
/* 8008847C C0 02 8E 28 */ lfs f0, lit_4003(r2)
/* 80088480 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80088484 C0 02 8E 2C */ lfs f0, lit_4004(r2)
/* 80088488 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8008848C C0 02 8E 30 */ lfs f0, lit_4005(r2)
/* 80088490 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 80088494 C0 02 8E 34 */ lfs f0, lit_4006(r2)
/* 80088498 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 8008849C C0 42 8E 38 */ lfs f2, lit_4007(r2)
/* 800884A0 D0 43 00 1C */ stfs f2, 0x1c(r3)
/* 800884A4 C0 02 8E 3C */ lfs f0, lit_4008(r2)
/* 800884A8 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 800884AC C0 22 8E 40 */ lfs f1, lit_4009(r2)
/* 800884B0 D0 23 00 24 */ stfs f1, 0x24(r3)
/* 800884B4 C0 02 8E 44 */ lfs f0, lit_4010(r2)
/* 800884B8 D0 03 00 28 */ stfs f0, 0x28(r3)
/* 800884BC C0 02 8E 18 */ lfs f0, lit_3991(r2)
/* 800884C0 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 800884C4 D0 23 00 30 */ stfs f1, 0x30(r3)
/* 800884C8 C0 02 8E 48 */ lfs f0, lit_4011(r2)
/* 800884CC D0 03 00 34 */ stfs f0, 0x34(r3)
/* 800884D0 D0 43 00 38 */ stfs f2, 0x38(r3)
/* 800884D4 C0 02 8E 4C */ lfs f0, lit_4012(r2)
/* 800884D8 D0 03 00 3C */ stfs f0, 0x3c(r3)
/* 800884DC C0 02 8E 50 */ lfs f0, lit_4013(r2)
/* 800884E0 D0 03 00 40 */ stfs f0, 0x40(r3)
/* 800884E4 C0 02 8E 54 */ lfs f0, lit_4014(r2)
/* 800884E8 D0 03 00 44 */ stfs f0, 0x44(r3)
/* 800884EC 4E 80 00 20 */ blr
-40
View File
@@ -1,40 +0,0 @@
lbl_800884F0:
/* 800884F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800884F4 7C 08 02 A6 */ mflr r0
/* 800884F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 800884FC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80088500 93 C1 00 08 */ stw r30, 8(r1)
/* 80088504 7C 7E 1B 78 */ mr r30, r3
/* 80088508 7C 9F 23 78 */ mr r31, r4
/* 8008850C 3C 60 80 3B */ lis r3, __vt__11dCamParam_c@ha /* 0x803AC50C@ha */
/* 80088510 38 03 C5 0C */ addi r0, r3, __vt__11dCamParam_c@l /* 0x803AC50C@l */
/* 80088514 90 1E 00 1C */ stw r0, 0x1c(r30)
/* 80088518 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8008851C 38 A3 61 C0 */ addi r5, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80088520 80 65 5D 88 */ lwz r3, 0x5d88(r5)
/* 80088524 3C 80 80 38 */ lis r4, d_d_cam_param__stringBase0@ha /* 0x8037A7E0@ha */
/* 80088528 38 84 A7 E0 */ addi r4, r4, d_d_cam_param__stringBase0@l /* 0x8037A7E0@l */
/* 8008852C 3C A5 00 02 */ addis r5, r5, 2
/* 80088530 38 C0 00 80 */ li r6, 0x80
/* 80088534 38 A5 C2 F8 */ addi r5, r5, -15624
/* 80088538 4B FB 3E 45 */ bl getRes__14dRes_control_cFPCcPCcP11dRes_info_ci
/* 8008853C 38 03 00 08 */ addi r0, r3, 8
/* 80088540 90 1E 00 08 */ stw r0, 8(r30)
/* 80088544 80 03 00 04 */ lwz r0, 4(r3)
/* 80088548 90 1E 00 0C */ stw r0, 0xc(r30)
/* 8008854C 7F C3 F3 78 */ mr r3, r30
/* 80088550 7F E4 FB 78 */ mr r4, r31
/* 80088554 48 00 00 81 */ bl Change__11dCamParam_cFl
/* 80088558 38 00 00 FF */ li r0, 0xff
/* 8008855C 98 1E 00 00 */ stb r0, 0(r30)
/* 80088560 98 1E 00 01 */ stb r0, 1(r30)
/* 80088564 98 1E 00 02 */ stb r0, 2(r30)
/* 80088568 38 00 FF FF */ li r0, -1
/* 8008856C 90 1E 00 04 */ stw r0, 4(r30)
/* 80088570 7F C3 F3 78 */ mr r3, r30
/* 80088574 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80088578 83 C1 00 08 */ lwz r30, 8(r1)
/* 8008857C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80088580 7C 08 03 A6 */ mtlr r0
/* 80088584 38 21 00 10 */ addi r1, r1, 0x10
/* 80088588 4E 80 00 20 */ blr
-149
View File
@@ -1,149 +0,0 @@
lbl_80088668:
/* 80088668 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8008866C 7C 08 02 A6 */ mflr r0
/* 80088670 90 01 00 14 */ stw r0, 0x14(r1)
/* 80088674 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80088678 7C 7F 1B 78 */ mr r31, r3
/* 8008867C 3C 60 80 3B */ lis r3, __vt__11dCamSetup_c@ha /* 0x803AC500@ha */
/* 80088680 38 03 C5 00 */ addi r0, r3, __vt__11dCamSetup_c@l /* 0x803AC500@l */
/* 80088684 90 1F 00 FC */ stw r0, 0xfc(r31)
/* 80088688 38 7F 01 00 */ addi r3, r31, 0x100
/* 8008868C 4B FF FD A9 */ bl __ct__9dCstick_cFv
/* 80088690 38 7F 01 14 */ addi r3, r31, 0x114
/* 80088694 4B FF FD D1 */ bl __ct__11dCamBGChk_cFv
/* 80088698 C0 02 8E 10 */ lfs f0, lit_3791(r2)
/* 8008869C D0 1F 00 00 */ stfs f0, 0(r31)
/* 800886A0 C0 22 8E 5C */ lfs f1, lit_4119(r2)
/* 800886A4 D0 3F 00 04 */ stfs f1, 4(r31)
/* 800886A8 38 60 00 01 */ li r3, 1
/* 800886AC 90 7F 00 0C */ stw r3, 0xc(r31)
/* 800886B0 38 00 FF FF */ li r0, -1
/* 800886B4 90 1F 00 10 */ stw r0, 0x10(r31)
/* 800886B8 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 800886BC C0 62 8E 18 */ lfs f3, lit_3991(r2)
/* 800886C0 D0 7F 00 20 */ stfs f3, 0x20(r31)
/* 800886C4 C1 22 8E 60 */ lfs f9, lit_4120(r2)
/* 800886C8 D1 3F 00 24 */ stfs f9, 0x24(r31)
/* 800886CC C0 22 8E 4C */ lfs f1, lit_4012(r2)
/* 800886D0 D0 3F 00 60 */ stfs f1, 0x60(r31)
/* 800886D4 C0 22 8E 64 */ lfs f1, lit_4121(r2)
/* 800886D8 D0 3F 00 5C */ stfs f1, 0x5c(r31)
/* 800886DC C0 22 8E 68 */ lfs f1, lit_4122(r2)
/* 800886E0 D0 3F 00 28 */ stfs f1, 0x28(r31)
/* 800886E4 C1 02 8E 6C */ lfs f8, lit_4123(r2)
/* 800886E8 D1 1F 00 2C */ stfs f8, 0x2c(r31)
/* 800886EC C0 E2 8E 70 */ lfs f7, lit_4124(r2)
/* 800886F0 D0 FF 00 50 */ stfs f7, 0x50(r31)
/* 800886F4 C0 22 8E 48 */ lfs f1, lit_4011(r2)
/* 800886F8 D0 3F 00 30 */ stfs f1, 0x30(r31)
/* 800886FC C0 22 8E 74 */ lfs f1, lit_4125(r2)
/* 80088700 D0 3F 00 38 */ stfs f1, 0x38(r31)
/* 80088704 D0 1F 00 3C */ stfs f0, 0x3c(r31)
/* 80088708 C0 22 8E 78 */ lfs f1, lit_4126(r2)
/* 8008870C D0 3F 00 58 */ stfs f1, 0x58(r31)
/* 80088710 C0 22 8E 7C */ lfs f1, lit_4127(r2)
/* 80088714 D0 3F 00 44 */ stfs f1, 0x44(r31)
/* 80088718 C0 C2 8E 80 */ lfs f6, lit_4128(r2)
/* 8008871C D0 DF 00 54 */ stfs f6, 0x54(r31)
/* 80088720 D0 1F 00 4C */ stfs f0, 0x4c(r31)
/* 80088724 C0 42 8E 24 */ lfs f2, lit_4002(r2)
/* 80088728 D0 5F 00 34 */ stfs f2, 0x34(r31)
/* 8008872C C0 22 8E 84 */ lfs f1, lit_4129(r2)
/* 80088730 D0 3F 00 48 */ stfs f1, 0x48(r31)
/* 80088734 C0 A2 8E 88 */ lfs f5, lit_4130(r2)
/* 80088738 D0 BF 00 40 */ stfs f5, 0x40(r31)
/* 8008873C C0 22 8E 8C */ lfs f1, lit_4131(r2)
/* 80088740 D0 3F 00 64 */ stfs f1, 0x64(r31)
/* 80088744 C0 22 8E 90 */ lfs f1, lit_4132(r2)
/* 80088748 D0 3F 00 68 */ stfs f1, 0x68(r31)
/* 8008874C 38 00 00 96 */ li r0, 0x96
/* 80088750 90 1F 00 B0 */ stw r0, 0xb0(r31)
/* 80088754 D0 BF 00 B4 */ stfs f5, 0xb4(r31)
/* 80088758 C0 82 8E 3C */ lfs f4, lit_4008(r2)
/* 8008875C D0 9F 00 B8 */ stfs f4, 0xb8(r31)
/* 80088760 D0 7F 00 BC */ stfs f3, 0xbc(r31)
/* 80088764 C0 22 8E 44 */ lfs f1, lit_4010(r2)
/* 80088768 D0 3F 00 A4 */ stfs f1, 0xa4(r31)
/* 8008876C C0 22 8E 94 */ lfs f1, lit_4133(r2)
/* 80088770 D0 3F 00 A8 */ stfs f1, 0xa8(r31)
/* 80088774 B0 7F 00 08 */ sth r3, 8(r31)
/* 80088778 38 00 01 18 */ li r0, 0x118
/* 8008877C B0 1F 00 0A */ sth r0, 0xa(r31)
/* 80088780 A0 1F 00 0A */ lhz r0, 0xa(r31)
/* 80088784 60 00 02 00 */ ori r0, r0, 0x200
/* 80088788 B0 1F 00 0A */ sth r0, 0xa(r31)
/* 8008878C A0 1F 00 0A */ lhz r0, 0xa(r31)
/* 80088790 60 00 04 00 */ ori r0, r0, 0x400
/* 80088794 B0 1F 00 0A */ sth r0, 0xa(r31)
/* 80088798 C0 22 8E 98 */ lfs f1, lit_4134(r2)
/* 8008879C D0 3F 00 C0 */ stfs f1, 0xc0(r31)
/* 800887A0 38 60 00 5A */ li r3, 0x5a
/* 800887A4 90 7F 00 C4 */ stw r3, 0xc4(r31)
/* 800887A8 C0 62 8E 38 */ lfs f3, lit_4007(r2)
/* 800887AC D0 7F 00 C8 */ stfs f3, 0xc8(r31)
/* 800887B0 38 00 00 28 */ li r0, 0x28
/* 800887B4 90 1F 00 CC */ stw r0, 0xcc(r31)
/* 800887B8 C0 22 8E 58 */ lfs f1, lit_4058(r2)
/* 800887BC D0 3F 00 D0 */ stfs f1, 0xd0(r31)
/* 800887C0 C0 22 8E 9C */ lfs f1, lit_4135(r2)
/* 800887C4 D0 3F 00 6C */ stfs f1, 0x6c(r31)
/* 800887C8 C0 22 8E A0 */ lfs f1, lit_4136(r2)
/* 800887CC D0 3F 00 70 */ stfs f1, 0x70(r31)
/* 800887D0 90 7F 00 74 */ stw r3, 0x74(r31)
/* 800887D4 38 80 00 1E */ li r4, 0x1e
/* 800887D8 90 9F 00 94 */ stw r4, 0x94(r31)
/* 800887DC D0 5F 00 88 */ stfs f2, 0x88(r31)
/* 800887E0 D1 3F 00 90 */ stfs f9, 0x90(r31)
/* 800887E4 C0 42 8E 40 */ lfs f2, lit_4009(r2)
/* 800887E8 D0 5F 00 8C */ stfs f2, 0x8c(r31)
/* 800887EC D0 7F 00 78 */ stfs f3, 0x78(r31)
/* 800887F0 C0 22 8E 28 */ lfs f1, lit_4003(r2)
/* 800887F4 D0 3F 00 7C */ stfs f1, 0x7c(r31)
/* 800887F8 D0 5F 00 80 */ stfs f2, 0x80(r31)
/* 800887FC C0 22 8E A4 */ lfs f1, lit_4137(r2)
/* 80088800 D0 3F 00 84 */ stfs f1, 0x84(r31)
/* 80088804 D0 BF 00 D4 */ stfs f5, 0xd4(r31)
/* 80088808 D0 FF 00 D8 */ stfs f7, 0xd8(r31)
/* 8008880C C0 22 8E 34 */ lfs f1, lit_4006(r2)
/* 80088810 D0 3F 00 98 */ stfs f1, 0x98(r31)
/* 80088814 D0 9F 00 A0 */ stfs f4, 0xa0(r31)
/* 80088818 38 00 00 3C */ li r0, 0x3c
/* 8008881C B0 1F 00 DC */ sth r0, 0xdc(r31)
/* 80088820 38 60 00 78 */ li r3, 0x78
/* 80088824 B0 7F 00 DE */ sth r3, 0xde(r31)
/* 80088828 A0 1F 00 08 */ lhz r0, 8(r31)
/* 8008882C 60 00 48 00 */ ori r0, r0, 0x4800
/* 80088830 B0 1F 00 08 */ sth r0, 8(r31)
/* 80088834 C0 42 8D C8 */ lfs f2, lit_3769(r2)
/* 80088838 D0 5F 01 5C */ stfs f2, 0x15c(r31)
/* 8008883C D0 5F 01 60 */ stfs f2, 0x160(r31)
/* 80088840 A0 1F 00 08 */ lhz r0, 8(r31)
/* 80088844 60 00 08 00 */ ori r0, r0, 0x800
/* 80088848 B0 1F 00 08 */ sth r0, 8(r31)
/* 8008884C 90 7F 01 64 */ stw r3, 0x164(r31)
/* 80088850 D1 1F 01 68 */ stfs f8, 0x168(r31)
/* 80088854 C0 22 8E A8 */ lfs f1, lit_4138(r2)
/* 80088858 D0 3F 01 6C */ stfs f1, 0x16c(r31)
/* 8008885C D0 DF 00 E0 */ stfs f6, 0xe0(r31)
/* 80088860 38 00 00 19 */ li r0, 0x19
/* 80088864 90 1F 00 EC */ stw r0, 0xec(r31)
/* 80088868 C0 22 8E AC */ lfs f1, lit_4139(r2)
/* 8008886C D0 3F 00 F4 */ stfs f1, 0xf4(r31)
/* 80088870 D0 1F 00 F8 */ stfs f0, 0xf8(r31)
/* 80088874 38 00 00 0C */ li r0, 0xc
/* 80088878 90 1F 00 F0 */ stw r0, 0xf0(r31)
/* 8008887C C0 02 8E B0 */ lfs f0, lit_4140(r2)
/* 80088880 D0 1F 00 E4 */ stfs f0, 0xe4(r31)
/* 80088884 D0 5F 00 E8 */ stfs f2, 0xe8(r31)
/* 80088888 90 9F 01 70 */ stw r4, 0x170(r31)
/* 8008888C 38 00 02 58 */ li r0, 0x258
/* 80088890 90 1F 01 74 */ stw r0, 0x174(r31)
/* 80088894 90 7F 01 78 */ stw r3, 0x178(r31)
/* 80088898 48 0F 8D A9 */ bl dCam_getBody__Fv
/* 8008889C 48 0F 81 A5 */ bl EventRecoverNotime__9dCamera_cFv
/* 800888A0 7F E3 FB 78 */ mr r3, r31
/* 800888A4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800888A8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800888AC 7C 08 03 A6 */ mtlr r0
/* 800888B0 38 21 00 10 */ addi r1, r1, 0x10
/* 800888B4 4E 80 00 20 */ blr
-11
View File
@@ -1,11 +0,0 @@
lbl_80088434:
/* 80088434 3C 80 80 3B */ lis r4, __vt__9dCstick_c@ha /* 0x803AC518@ha */
/* 80088438 38 04 C5 18 */ addi r0, r4, __vt__9dCstick_c@l /* 0x803AC518@l */
/* 8008843C 90 03 00 10 */ stw r0, 0x10(r3)
/* 80088440 C0 02 8E 18 */ lfs f0, lit_3991(r2)
/* 80088444 D0 03 00 00 */ stfs f0, 0(r3)
/* 80088448 C0 02 8E 1C */ lfs f0, lit_3992(r2)
/* 8008844C D0 03 00 04 */ stfs f0, 4(r3)
/* 80088450 38 00 00 06 */ li r0, 6
/* 80088454 90 03 00 08 */ stw r0, 8(r3)
/* 80088458 4E 80 00 20 */ blr
-17
View File
@@ -1,17 +0,0 @@
lbl_800882E0:
/* 800882E0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800882E4 7C 08 02 A6 */ mflr r0
/* 800882E8 90 01 00 14 */ stw r0, 0x14(r1)
/* 800882EC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800882F0 7C 7F 1B 79 */ or. r31, r3, r3
/* 800882F4 41 82 00 10 */ beq lbl_80088304
/* 800882F8 7C 80 07 35 */ extsh. r0, r4
/* 800882FC 40 81 00 08 */ ble lbl_80088304
/* 80088300 48 24 6A 3D */ bl __dl__FPv
lbl_80088304:
/* 80088304 7F E3 FB 78 */ mr r3, r31
/* 80088308 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8008830C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80088310 7C 08 03 A6 */ mtlr r0
/* 80088314 38 21 00 10 */ addi r1, r1, 0x10
/* 80088318 4E 80 00 20 */ blr
-20
View File
@@ -1,20 +0,0 @@
lbl_800889B0:
/* 800889B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800889B4 7C 08 02 A6 */ mflr r0
/* 800889B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 800889BC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800889C0 7C 7F 1B 79 */ or. r31, r3, r3
/* 800889C4 41 82 00 1C */ beq lbl_800889E0
/* 800889C8 3C A0 80 3B */ lis r5, __vt__9dCstick_c@ha /* 0x803AC518@ha */
/* 800889CC 38 05 C5 18 */ addi r0, r5, __vt__9dCstick_c@l /* 0x803AC518@l */
/* 800889D0 90 1F 00 10 */ stw r0, 0x10(r31)
/* 800889D4 7C 80 07 35 */ extsh. r0, r4
/* 800889D8 40 81 00 08 */ ble lbl_800889E0
/* 800889DC 48 24 63 61 */ bl __dl__FPv
lbl_800889E0:
/* 800889E0 7F E3 FB 78 */ mr r3, r31
/* 800889E4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800889E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800889EC 7C 08 03 A6 */ mtlr r0
/* 800889F0 38 21 00 10 */ addi r1, r1, 0x10
/* 800889F4 4E 80 00 20 */ blr
@@ -1,91 +0,0 @@
lbl_8008813C:
/* 8008813C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80088140 7C 08 02 A6 */ mflr r0
/* 80088144 90 01 00 54 */ stw r0, 0x54(r1)
/* 80088148 DB E1 00 40 */ stfd f31, 0x40(r1)
/* 8008814C F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */
/* 80088150 DB C1 00 30 */ stfd f30, 0x30(r1)
/* 80088154 F3 C1 00 38 */ psq_st f30, 56(r1), 0, 0 /* qr0 */
/* 80088158 DB A1 00 20 */ stfd f29, 0x20(r1)
/* 8008815C F3 A1 00 28 */ psq_st f29, 40(r1), 0, 0 /* qr0 */
/* 80088160 DB 81 00 10 */ stfd f28, 0x10(r1)
/* 80088164 F3 81 00 18 */ psq_st f28, 24(r1), 0, 0 /* qr0 */
/* 80088168 FF C0 10 90 */ fmr f30, f2
/* 8008816C C0 02 8D C8 */ lfs f0, lit_3769(r2)
/* 80088170 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80088174 4C 41 13 82 */ cror 2, 1, 2
/* 80088178 40 82 00 0C */ bne lbl_80088184
/* 8008817C CB E2 8D D0 */ lfd f31, lit_3770(r2)
/* 80088180 48 00 00 0C */ b lbl_8008818C
lbl_80088184:
/* 80088184 CB E2 8D D8 */ lfd f31, lit_3771(r2)
/* 80088188 FC 20 08 50 */ fneg f1, f1
lbl_8008818C:
/* 8008818C C8 62 8D E0 */ lfd f3, lit_3772(r2)
/* 80088190 FC 43 00 72 */ fmul f2, f3, f1
/* 80088194 FC 02 07 B2 */ fmul f0, f2, f30
/* 80088198 FC 40 10 28 */ fsub f2, f0, f2
/* 8008819C FC 03 07 B2 */ fmul f0, f3, f30
/* 800881A0 FC 42 00 28 */ fsub f2, f2, f0
/* 800881A4 FF A0 10 50 */ fneg f29, f2
/* 800881A8 C8 02 8D D0 */ lfd f0, lit_3770(r2)
/* 800881AC FF 9D 00 28 */ fsub f28, f29, f0
/* 800881B0 FC 42 00 B2 */ fmul f2, f2, f2
/* 800881B4 C8 02 8D E8 */ lfd f0, lit_3773(r2)
/* 800881B8 FC 00 07 32 */ fmul f0, f0, f28
/* 800881BC FC 00 00 72 */ fmul f0, f0, f1
/* 800881C0 FC 22 00 28 */ fsub f1, f2, f0
/* 800881C4 C8 02 8D F0 */ lfd f0, lit_3774(r2)
/* 800881C8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 800881CC 40 81 00 0C */ ble lbl_800881D8
/* 800881D0 48 2E 48 85 */ bl sqrt
/* 800881D4 48 00 00 08 */ b lbl_800881DC
lbl_800881D8:
/* 800881D8 FC 20 00 90 */ fmr f1, f0
lbl_800881DC:
/* 800881DC FC 3D 08 28 */ fsub f1, f29, f1
/* 800881E0 C8 02 8D E0 */ lfd f0, lit_3772(r2)
/* 800881E4 FC 40 07 32 */ fmul f2, f0, f28
/* 800881E8 C8 02 8D F8 */ lfd f0, lit_3775(r2)
/* 800881EC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 800881F0 41 81 00 10 */ bgt lbl_80088200
/* 800881F4 C8 02 8E 00 */ lfd f0, lit_3776(r2)
/* 800881F8 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 800881FC 40 80 00 54 */ bge lbl_80088250
lbl_80088200:
/* 80088200 FC 41 10 24 */ fdiv f2, f1, f2
/* 80088204 FC 62 00 B2 */ fmul f3, f2, f2
/* 80088208 C8 02 8D D0 */ lfd f0, lit_3770(r2)
/* 8008820C FC 80 10 28 */ fsub f4, f0, f2
/* 80088210 FC 24 01 32 */ fmul f1, f4, f4
/* 80088214 C8 02 8D E0 */ lfd f0, lit_3772(r2)
/* 80088218 FC 00 01 32 */ fmul f0, f0, f4
/* 8008821C FC 00 00 B2 */ fmul f0, f0, f2
/* 80088220 FC 1E 00 32 */ fmul f0, f30, f0
/* 80088224 FC 01 00 2A */ fadd f0, f1, f0
/* 80088228 FC 23 00 2A */ fadd f1, f3, f0
/* 8008822C C8 02 8E 08 */ lfd f0, lit_3777(r2)
/* 80088230 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80088234 40 81 00 14 */ ble lbl_80088248
/* 80088238 FC 03 08 24 */ fdiv f0, f3, f1
/* 8008823C FC 3F 00 32 */ fmul f1, f31, f0
/* 80088240 FC 20 08 18 */ frsp f1, f1
/* 80088244 48 00 00 10 */ b lbl_80088254
lbl_80088248:
/* 80088248 C0 22 8D C8 */ lfs f1, lit_3769(r2)
/* 8008824C 48 00 00 08 */ b lbl_80088254
lbl_80088250:
/* 80088250 C0 22 8D C8 */ lfs f1, lit_3769(r2)
lbl_80088254:
/* 80088254 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */
/* 80088258 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 8008825C E3 C1 00 38 */ psq_l f30, 56(r1), 0, 0 /* qr0 */
/* 80088260 CB C1 00 30 */ lfd f30, 0x30(r1)
/* 80088264 E3 A1 00 28 */ psq_l f29, 40(r1), 0, 0 /* qr0 */
/* 80088268 CB A1 00 20 */ lfd f29, 0x20(r1)
/* 8008826C E3 81 00 18 */ psq_l f28, 24(r1), 0, 0 /* qr0 */
/* 80088270 CB 81 00 10 */ lfd f28, 0x10(r1)
/* 80088274 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80088278 7C 08 03 A6 */ mtlr r0
/* 8008827C 38 21 00 50 */ addi r1, r1, 0x50
/* 80088280 4E 80 00 20 */ blr
@@ -1,19 +0,0 @@
lbl_800883EC:
/* 800883EC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800883F0 7C 08 02 A6 */ mflr r0
/* 800883F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 800883F8 C0 23 00 00 */ lfs f1, 0(r3)
/* 800883FC C0 04 00 00 */ lfs f0, 0(r4)
/* 80088400 EC 41 00 28 */ fsubs f2, f1, f0
/* 80088404 C0 23 00 08 */ lfs f1, 8(r3)
/* 80088408 C0 04 00 08 */ lfs f0, 8(r4)
/* 8008840C EC 01 00 28 */ fsubs f0, f1, f0
/* 80088410 FC 22 00 B2 */ fmul f1, f2, f2
/* 80088414 FC 00 00 32 */ fmul f0, f0, f0
/* 80088418 FC 21 00 2A */ fadd f1, f1, f0
/* 8008841C 48 2E 46 39 */ bl sqrt
/* 80088420 FC 20 08 18 */ frsp f1, f1
/* 80088424 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80088428 7C 08 03 A6 */ mtlr r0
/* 8008842C 38 21 00 10 */ addi r1, r1, 0x10
/* 80088430 4E 80 00 20 */ blr
@@ -1,27 +0,0 @@
lbl_8008831C:
/* 8008831C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80088320 7C 08 02 A6 */ mflr r0
/* 80088324 90 01 00 54 */ stw r0, 0x54(r1)
/* 80088328 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 8008832C 93 C1 00 48 */ stw r30, 0x48(r1)
/* 80088330 7C 7E 1B 78 */ mr r30, r3
/* 80088334 7C 9F 23 78 */ mr r31, r4
/* 80088338 A8 85 00 00 */ lha r4, 0(r5)
/* 8008833C 38 61 00 14 */ addi r3, r1, 0x14
/* 80088340 4B F8 40 05 */ bl mDoMtx_XrotS__FPA4_fs
/* 80088344 38 61 00 14 */ addi r3, r1, 0x14
/* 80088348 7F E4 FB 78 */ mr r4, r31
/* 8008834C 38 A1 00 08 */ addi r5, r1, 8
/* 80088350 48 2B EA 1D */ bl PSMTXMultVec
/* 80088354 C0 01 00 08 */ lfs f0, 8(r1)
/* 80088358 D0 1E 00 00 */ stfs f0, 0(r30)
/* 8008835C C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80088360 D0 1E 00 04 */ stfs f0, 4(r30)
/* 80088364 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80088368 D0 1E 00 08 */ stfs f0, 8(r30)
/* 8008836C 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 80088370 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 80088374 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80088378 7C 08 03 A6 */ mtlr r0
/* 8008837C 38 21 00 50 */ addi r1, r1, 0x50
/* 80088380 4E 80 00 20 */ blr
@@ -1,27 +0,0 @@
lbl_80088384:
/* 80088384 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80088388 7C 08 02 A6 */ mflr r0
/* 8008838C 90 01 00 54 */ stw r0, 0x54(r1)
/* 80088390 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 80088394 93 C1 00 48 */ stw r30, 0x48(r1)
/* 80088398 7C 7E 1B 78 */ mr r30, r3
/* 8008839C 7C 9F 23 78 */ mr r31, r4
/* 800883A0 A8 85 00 00 */ lha r4, 0(r5)
/* 800883A4 38 61 00 14 */ addi r3, r1, 0x14
/* 800883A8 4B F8 40 35 */ bl mDoMtx_YrotS__FPA4_fs
/* 800883AC 38 61 00 14 */ addi r3, r1, 0x14
/* 800883B0 7F E4 FB 78 */ mr r4, r31
/* 800883B4 38 A1 00 08 */ addi r5, r1, 8
/* 800883B8 48 2B E9 B5 */ bl PSMTXMultVec
/* 800883BC C0 01 00 08 */ lfs f0, 8(r1)
/* 800883C0 D0 1E 00 00 */ stfs f0, 0(r30)
/* 800883C4 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 800883C8 D0 1E 00 04 */ stfs f0, 4(r30)
/* 800883CC C0 01 00 10 */ lfs f0, 0x10(r1)
/* 800883D0 D0 1E 00 08 */ stfs f0, 8(r30)
/* 800883D4 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 800883D8 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 800883DC 80 01 00 54 */ lwz r0, 0x54(r1)
/* 800883E0 7C 08 03 A6 */ mtlr r0
/* 800883E4 38 21 00 50 */ addi r1, r1, 0x50
/* 800883E8 4E 80 00 20 */ blr
@@ -1,24 +0,0 @@
lbl_80088284:
/* 80088284 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80088288 7C 08 02 A6 */ mflr r0
/* 8008828C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80088290 DB E1 00 10 */ stfd f31, 0x10(r1)
/* 80088294 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */
/* 80088298 FF E0 10 90 */ fmr f31, f2
/* 8008829C 38 61 00 08 */ addi r3, r1, 8
/* 800882A0 48 1E 90 AD */ bl __ct__7cDegreeFf
/* 800882A4 38 61 00 08 */ addi r3, r1, 8
/* 800882A8 48 1E 91 71 */ bl Cos__7cDegreeCFv
/* 800882AC EF FF 00 72 */ fmuls f31, f31, f1
/* 800882B0 38 61 00 08 */ addi r3, r1, 8
/* 800882B4 48 1E 91 3D */ bl Sin__7cDegreeCFv
/* 800882B8 FC 40 F8 90 */ fmr f2, f31
/* 800882BC 48 1D F5 59 */ bl cM_atan2f__Fff
/* 800882C0 C0 02 8E 14 */ lfs f0, lit_3807(r2)
/* 800882C4 EC 20 00 72 */ fmuls f1, f0, f1
/* 800882C8 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */
/* 800882CC CB E1 00 10 */ lfd f31, 0x10(r1)
/* 800882D0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800882D4 7C 08 03 A6 */ mtlr r0
/* 800882D8 38 21 00 20 */ addi r1, r1, 0x20
/* 800882DC 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8003A23C:
/* 8003A23C 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8003A240 54 03 27 7E */ rlwinm r3, r0, 4, 0x1d, 0x1f
/* 8003A244 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8003A1C4:
/* 8003A1C4 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8003A1C8 54 03 6E BE */ rlwinm r3, r0, 0xd, 0x1a, 0x1f
/* 8003A1CC 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8003A1AC:
/* 8003A1AC 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8003A1B0 54 03 B7 7E */ rlwinm r3, r0, 0x16, 0x1d, 0x1f
/* 8003A1B4 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8003A194:
/* 8003A194 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8003A198 54 03 DF 7E */ rlwinm r3, r0, 0x1b, 0x1d, 0x1f
/* 8003A19C 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8003A20C:
/* 8003A20C A8 03 04 B4 */ lha r0, 0x4b4(r3)
/* 8003A210 54 03 C6 3E */ rlwinm r3, r0, 0x18, 0x18, 0x1f
/* 8003A214 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8003A200:
/* 8003A200 A8 03 04 B4 */ lha r0, 0x4b4(r3)
/* 8003A204 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 8003A208 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8003A224:
/* 8003A224 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8003A228 54 03 3E BE */ rlwinm r3, r0, 7, 0x1a, 0x1f
/* 8003A22C 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8003A230:
/* 8003A230 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8003A234 54 03 3F 7E */ rlwinm r3, r0, 7, 0x1d, 0x1f
/* 8003A238 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8003A1B8:
/* 8003A1B8 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8003A1BC 54 03 9E BE */ rlwinm r3, r0, 0x13, 0x1a, 0x1f
/* 8003A1C0 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8003A1A0:
/* 8003A1A0 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8003A1A4 54 03 C7 BE */ rlwinm r3, r0, 0x18, 0x1e, 0x1f
/* 8003A1A8 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8003A188:
/* 8003A188 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8003A18C 54 03 06 FE */ clrlwi r3, r0, 0x1b
/* 8003A190 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8003A254:
/* 8003A254 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8003A258 54 03 57 7E */ rlwinm r3, r0, 0xa, 0x1d, 0x1f
/* 8003A25C 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8003A248:
/* 8003A248 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8003A24C 54 03 6F 7E */ rlwinm r3, r0, 0xd, 0x1d, 0x1f
/* 8003A250 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8003A218:
/* 8003A218 A8 03 04 B4 */ lha r0, 0x4b4(r3)
/* 8003A21C 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 8003A220 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8003A1DC:
/* 8003A1DC A8 03 04 B8 */ lha r0, 0x4b8(r3)
/* 8003A1E0 54 03 C6 3E */ rlwinm r3, r0, 0x18, 0x18, 0x1f
/* 8003A1E4 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8003A1E8:
/* 8003A1E8 A8 03 04 B4 */ lha r0, 0x4b4(r3)
/* 8003A1EC 54 03 C6 3E */ rlwinm r3, r0, 0x18, 0x18, 0x1f
/* 8003A1F0 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8003A1D0:
/* 8003A1D0 A8 03 04 B8 */ lha r0, 0x4b8(r3)
/* 8003A1D4 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 8003A1D8 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8003A1F4:
/* 8003A1F4 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 8003A1F8 54 03 0F FE */ srwi r3, r0, 0x1f
/* 8003A1FC 4E 80 00 20 */ blr
@@ -1,11 +0,0 @@
lbl_800568D8:
/* 800568D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800568DC 7C 08 02 A6 */ mflr r0
/* 800568E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 800568E4 FC 20 08 50 */ fneg f1, f1
/* 800568E8 38 6D 80 84 */ la r3, g_blackColor(r13) /* 80450604-_SDA_BASE_ */
/* 800568EC 4B FF FF 31 */ bl wipeIn__12dDlst_list_cFfR8_GXColor
/* 800568F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800568F4 7C 08 03 A6 */ mtlr r0
/* 800568F8 38 21 00 10 */ addi r1, r1, 0x10
/* 800568FC 4E 80 00 20 */ blr
-26
View File
@@ -1,26 +0,0 @@
lbl_8019AFE0:
/* 8019AFE0 3C 80 80 3B */ lis r4, __vt__14mDoHIO_entry_c@ha /* 0x803B61B4@ha */
/* 8019AFE4 38 04 61 B4 */ addi r0, r4, __vt__14mDoHIO_entry_c@l /* 0x803B61B4@l */
/* 8019AFE8 90 03 00 00 */ stw r0, 0(r3)
/* 8019AFEC 3C 80 80 3C */ lis r4, __vt__10dGov_HIO_c@ha /* 0x803BBD90@ha */
/* 8019AFF0 38 04 BD 90 */ addi r0, r4, __vt__10dGov_HIO_c@l /* 0x803BBD90@l */
/* 8019AFF4 90 03 00 00 */ stw r0, 0(r3)
/* 8019AFF8 C0 02 A1 8C */ lfs f0, lit_3878(r2)
/* 8019AFFC D0 03 00 08 */ stfs f0, 8(r3)
/* 8019B000 C0 02 A1 84 */ lfs f0, lit_3869(r2)
/* 8019B004 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8019B008 C0 02 A1 90 */ lfs f0, lit_3879(r2)
/* 8019B00C D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8019B010 38 00 00 00 */ li r0, 0
/* 8019B014 98 03 00 14 */ stb r0, 0x14(r3)
/* 8019B018 98 03 00 15 */ stb r0, 0x15(r3)
/* 8019B01C 98 03 00 16 */ stb r0, 0x16(r3)
/* 8019B020 98 03 00 17 */ stb r0, 0x17(r3)
/* 8019B024 38 80 00 FF */ li r4, 0xff
/* 8019B028 98 83 00 18 */ stb r4, 0x18(r3)
/* 8019B02C 38 00 00 DC */ li r0, 0xdc
/* 8019B030 98 03 00 19 */ stb r0, 0x19(r3)
/* 8019B034 38 00 00 7D */ li r0, 0x7d
/* 8019B038 98 03 00 1A */ stb r0, 0x1a(r3)
/* 8019B03C 98 83 00 1B */ stb r4, 0x1b(r3)
/* 8019B040 4E 80 00 20 */ blr
@@ -1,49 +0,0 @@
lbl_8019BBFC:
/* 8019BBFC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8019BC00 7C 08 02 A6 */ mflr r0
/* 8019BC04 90 01 00 14 */ stw r0, 0x14(r1)
/* 8019BC08 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8019BC0C 93 C1 00 08 */ stw r30, 8(r1)
/* 8019BC10 7C 7E 1B 79 */ or. r30, r3, r3
/* 8019BC14 7C 9F 23 78 */ mr r31, r4
/* 8019BC18 41 82 00 7C */ beq lbl_8019BC94
/* 8019BC1C 3C 60 80 3C */ lis r3, __vt__24dDlst_GameOverScrnDraw_c@ha /* 0x803BBD68@ha */
/* 8019BC20 38 03 BD 68 */ addi r0, r3, __vt__24dDlst_GameOverScrnDraw_c@l /* 0x803BBD68@l */
/* 8019BC24 90 1E 00 00 */ stw r0, 0(r30)
/* 8019BC28 80 7E 00 08 */ lwz r3, 8(r30)
/* 8019BC2C 28 03 00 00 */ cmplwi r3, 0
/* 8019BC30 41 82 00 18 */ beq lbl_8019BC48
/* 8019BC34 38 80 00 01 */ li r4, 1
/* 8019BC38 81 83 00 00 */ lwz r12, 0(r3)
/* 8019BC3C 81 8C 00 08 */ lwz r12, 8(r12)
/* 8019BC40 7D 89 03 A6 */ mtctr r12
/* 8019BC44 4E 80 04 21 */ bctrl
lbl_8019BC48:
/* 8019BC48 80 7E 00 04 */ lwz r3, 4(r30)
/* 8019BC4C 28 03 00 00 */ cmplwi r3, 0
/* 8019BC50 41 82 00 18 */ beq lbl_8019BC68
/* 8019BC54 38 80 00 01 */ li r4, 1
/* 8019BC58 81 83 00 00 */ lwz r12, 0(r3)
/* 8019BC5C 81 8C 00 08 */ lwz r12, 8(r12)
/* 8019BC60 7D 89 03 A6 */ mtctr r12
/* 8019BC64 4E 80 04 21 */ bctrl
lbl_8019BC68:
/* 8019BC68 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8019BC6C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8019BC70 80 63 5D 30 */ lwz r3, 0x5d30(r3)
/* 8019BC74 81 83 00 00 */ lwz r12, 0(r3)
/* 8019BC78 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 8019BC7C 7D 89 03 A6 */ mtctr r12
/* 8019BC80 4E 80 04 21 */ bctrl
/* 8019BC84 7F E0 07 35 */ extsh. r0, r31
/* 8019BC88 40 81 00 0C */ ble lbl_8019BC94
/* 8019BC8C 7F C3 F3 78 */ mr r3, r30
/* 8019BC90 48 13 30 AD */ bl __dl__FPv
lbl_8019BC94:
/* 8019BC94 7F C3 F3 78 */ mr r3, r30
/* 8019BC98 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8019BC9C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8019BCA0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8019BCA4 7C 08 03 A6 */ mtlr r0
/* 8019BCA8 38 21 00 10 */ addi r1, r1, 0x10
/* 8019BCAC 4E 80 00 20 */ blr
@@ -1,60 +0,0 @@
lbl_8019B864:
/* 8019B864 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8019B868 7C 08 02 A6 */ mflr r0
/* 8019B86C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8019B870 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8019B874 93 C1 00 08 */ stw r30, 8(r1)
/* 8019B878 7C 7E 1B 78 */ mr r30, r3
/* 8019B87C 80 63 01 10 */ lwz r3, 0x110(r3)
/* 8019B880 4B E7 39 4D */ bl mDoExt_setCurrentHeap__FP7JKRHeap
/* 8019B884 7C 7F 1B 78 */ mr r31, r3
/* 8019B888 80 7E 01 00 */ lwz r3, 0x100(r30)
/* 8019B88C 28 03 00 00 */ cmplwi r3, 0
/* 8019B890 41 82 00 24 */ beq lbl_8019B8B4
/* 8019B894 41 82 00 18 */ beq lbl_8019B8AC
/* 8019B898 38 80 00 01 */ li r4, 1
/* 8019B89C 81 83 00 00 */ lwz r12, 0(r3)
/* 8019B8A0 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8019B8A4 7D 89 03 A6 */ mtctr r12
/* 8019B8A8 4E 80 04 21 */ bctrl
lbl_8019B8AC:
/* 8019B8AC 38 00 00 00 */ li r0, 0
/* 8019B8B0 90 1E 01 00 */ stw r0, 0x100(r30)
lbl_8019B8B4:
/* 8019B8B4 80 7E 00 FC */ lwz r3, 0xfc(r30)
/* 8019B8B8 48 05 52 71 */ bl _delete__12dMenu_save_cFv
/* 8019B8BC 80 7E 00 FC */ lwz r3, 0xfc(r30)
/* 8019B8C0 28 03 00 00 */ cmplwi r3, 0
/* 8019B8C4 41 82 00 18 */ beq lbl_8019B8DC
/* 8019B8C8 38 80 00 01 */ li r4, 1
/* 8019B8CC 81 83 00 00 */ lwz r12, 0(r3)
/* 8019B8D0 81 8C 00 08 */ lwz r12, 8(r12)
/* 8019B8D4 7D 89 03 A6 */ mtctr r12
/* 8019B8D8 4E 80 04 21 */ bctrl
lbl_8019B8DC:
/* 8019B8DC 80 7E 01 04 */ lwz r3, 0x104(r30)
/* 8019B8E0 28 03 00 00 */ cmplwi r3, 0
/* 8019B8E4 41 82 00 18 */ beq lbl_8019B8FC
/* 8019B8E8 38 80 00 01 */ li r4, 1
/* 8019B8EC 81 83 00 00 */ lwz r12, 0(r3)
/* 8019B8F0 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8019B8F4 7D 89 03 A6 */ mtctr r12
/* 8019B8F8 4E 80 04 21 */ bctrl
lbl_8019B8FC:
/* 8019B8FC 80 7E 01 10 */ lwz r3, 0x110(r30)
/* 8019B900 48 13 2C CD */ bl freeAll__7JKRHeapFv
/* 8019B904 38 60 00 00 */ li r3, 0
/* 8019B908 4B E9 28 81 */ bl dComIfGp_offHeapLockFlag__Fi
/* 8019B90C 7F E3 FB 78 */ mr r3, r31
/* 8019B910 4B E7 38 BD */ bl mDoExt_setCurrentHeap__FP7JKRHeap
/* 8019B914 38 7E 01 08 */ addi r3, r30, 0x108
/* 8019B918 3C 80 80 39 */ lis r4, d_d_gameover__stringBase0@ha /* 0x80394C28@ha */
/* 8019B91C 38 84 4C 28 */ addi r4, r4, d_d_gameover__stringBase0@l /* 0x80394C28@l */
/* 8019B920 4B E9 16 E9 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
/* 8019B924 38 60 00 01 */ li r3, 1
/* 8019B928 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8019B92C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8019B930 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8019B934 7C 08 03 A6 */ mtlr r0
/* 8019B938 38 21 00 10 */ addi r1, r1, 0x10
/* 8019B93C 4E 80 00 20 */ blr
-44
View File
@@ -1,44 +0,0 @@
lbl_8019B7C4:
/* 8019B7C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8019B7C8 7C 08 02 A6 */ mflr r0
/* 8019B7CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8019B7D0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8019B7D4 7C 7F 1B 78 */ mr r31, r3
/* 8019B7D8 80 C3 01 04 */ lwz r6, 0x104(r3)
/* 8019B7DC 28 06 00 00 */ cmplwi r6, 0
/* 8019B7E0 41 82 00 28 */ beq lbl_8019B808
/* 8019B7E4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8019B7E8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8019B7EC 88 03 5E B5 */ lbz r0, 0x5eb5(r3)
/* 8019B7F0 28 00 00 00 */ cmplwi r0, 0
/* 8019B7F4 41 82 00 14 */ beq lbl_8019B808
/* 8019B7F8 38 63 5F 64 */ addi r3, r3, 0x5f64
/* 8019B7FC 38 83 01 B4 */ addi r4, r3, 0x1b4
/* 8019B800 38 A3 01 B8 */ addi r5, r3, 0x1b8
/* 8019B804 4B EB AF 91 */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c
lbl_8019B808:
/* 8019B808 88 1F 01 19 */ lbz r0, 0x119(r31)
/* 8019B80C 28 00 00 00 */ cmplwi r0, 0
/* 8019B810 41 82 00 3C */ beq lbl_8019B84C
/* 8019B814 88 1F 01 18 */ lbz r0, 0x118(r31)
/* 8019B818 28 00 00 02 */ cmplwi r0, 2
/* 8019B81C 41 80 00 30 */ blt lbl_8019B84C
/* 8019B820 80 DF 01 00 */ lwz r6, 0x100(r31)
/* 8019B824 28 06 00 00 */ cmplwi r6, 0
/* 8019B828 41 82 00 1C */ beq lbl_8019B844
/* 8019B82C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8019B830 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8019B834 38 63 5F 64 */ addi r3, r3, 0x5f64
/* 8019B838 38 83 01 B4 */ addi r4, r3, 0x1b4
/* 8019B83C 38 A3 01 B8 */ addi r5, r3, 0x1b8
/* 8019B840 4B EB AF 55 */ bl set__12dDlst_list_cFRPP12dDlst_base_cRPP12dDlst_base_cP12dDlst_base_c
lbl_8019B844:
/* 8019B844 80 7F 00 FC */ lwz r3, 0xfc(r31)
/* 8019B848 48 05 B1 B5 */ bl _draw2__12dMenu_save_cFv
lbl_8019B84C:
/* 8019B84C 38 60 00 01 */ li r3, 1
/* 8019B850 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8019B854 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8019B858 7C 08 03 A6 */ mtlr r0
/* 8019B85C 38 21 00 10 */ addi r1, r1, 0x10
/* 8019B860 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8019BFA4:
/* 8019BFA4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8019BFA8 7C 08 02 A6 */ mflr r0
/* 8019BFAC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8019BFB0 4B FF F0 95 */ bl _create__11dGameover_cFv
/* 8019BFB4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8019BFB8 7C 08 03 A6 */ mtlr r0
/* 8019BFBC 38 21 00 10 */ addi r1, r1, 0x10
/* 8019BFC0 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8019BF84:
/* 8019BF84 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8019BF88 7C 08 02 A6 */ mflr r0
/* 8019BF8C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8019BF90 4B FF F8 D5 */ bl _delete__11dGameover_cFv
/* 8019BF94 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8019BF98 7C 08 03 A6 */ mtlr r0
/* 8019BF9C 38 21 00 10 */ addi r1, r1, 0x10
/* 8019BFA0 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8019BF3C:
/* 8019BF3C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8019BF40 7C 08 02 A6 */ mflr r0
/* 8019BF44 90 01 00 14 */ stw r0, 0x14(r1)
/* 8019BF48 4B FF F8 7D */ bl _draw__11dGameover_cFv
/* 8019BF4C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8019BF50 7C 08 03 A6 */ mtlr r0
/* 8019BF54 38 21 00 10 */ addi r1, r1, 0x10
/* 8019BF58 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_8019BF5C:
/* 8019BF5C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8019BF60 7C 08 02 A6 */ mflr r0
/* 8019BF64 90 01 00 14 */ stw r0, 0x14(r1)
/* 8019BF68 4B FF F3 8D */ bl _execute__11dGameover_cFv
/* 8019BF6C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8019BF70 7C 08 03 A6 */ mtlr r0
/* 8019BF74 38 21 00 10 */ addi r1, r1, 0x10
/* 8019BF78 4E 80 00 20 */ blr
-18
View File
@@ -1,18 +0,0 @@
lbl_8019BFC4:
/* 8019BFC4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8019BFC8 7C 08 02 A6 */ mflr r0
/* 8019BFCC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8019BFD0 3C 80 80 43 */ lis r4, g_meter2_info@ha /* 0x80430188@ha */
/* 8019BFD4 38 84 01 88 */ addi r4, r4, g_meter2_info@l /* 0x80430188@l */
/* 8019BFD8 98 64 00 C2 */ stb r3, 0xc2(r4)
/* 8019BFDC 38 60 03 17 */ li r3, 0x317
/* 8019BFE0 38 80 00 00 */ li r4, 0
/* 8019BFE4 38 A0 00 00 */ li r5, 0
/* 8019BFE8 38 C0 00 00 */ li r6, 0
/* 8019BFEC 38 E0 00 00 */ li r7, 0
/* 8019BFF0 39 00 00 00 */ li r8, 0
/* 8019BFF4 4B E8 3C 59 */ bl fopMsgM_create__FsP10fopAc_ac_cP4cXyzPUlPUlPFPv_i
/* 8019BFF8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8019BFFC 7C 08 03 A6 */ mtlr r0
/* 8019C000 38 21 00 10 */ addi r1, r1, 0x10
/* 8019C004 4E 80 00 20 */ blr
@@ -1,28 +0,0 @@
lbl_8019C008:
/* 8019C008 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8019C00C 7C 08 02 A6 */ mflr r0
/* 8019C010 90 01 00 14 */ stw r0, 0x14(r1)
/* 8019C014 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8019C018 7C 7F 1B 78 */ mr r31, r3
/* 8019C01C 80 63 00 00 */ lwz r3, 0(r3)
/* 8019C020 3C 03 00 01 */ addis r0, r3, 1
/* 8019C024 28 00 FF FF */ cmplwi r0, 0xffff
/* 8019C028 41 82 00 2C */ beq lbl_8019C054
/* 8019C02C 4B E8 39 F9 */ bl fopMsgM_SearchByID__FUi
/* 8019C030 4B E8 3A 1D */ bl fopMsgM_Delete__FPv
/* 8019C034 38 00 FF FF */ li r0, -1
/* 8019C038 90 1F 00 00 */ stw r0, 0(r31)
/* 8019C03C 38 00 00 00 */ li r0, 0
/* 8019C040 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */
/* 8019C044 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */
/* 8019C048 98 03 00 C2 */ stb r0, 0xc2(r3)
/* 8019C04C 38 60 00 01 */ li r3, 1
/* 8019C050 48 00 00 08 */ b lbl_8019C058
lbl_8019C054:
/* 8019C054 38 60 00 00 */ li r3, 0
lbl_8019C058:
/* 8019C058 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8019C05C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8019C060 7C 08 03 A6 */ mtlr r0
/* 8019C064 38 21 00 10 */ addi r1, r1, 0x10
/* 8019C068 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8019B478:
/* 8019B478 38 00 00 00 */ li r0, 0
/* 8019B47C B0 03 01 14 */ sth r0, 0x114(r3)
/* 8019B480 4E 80 00 20 */ blr
@@ -1,23 +0,0 @@
lbl_8019B484:
/* 8019B484 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8019B488 7C 08 02 A6 */ mflr r0
/* 8019B48C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8019B490 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8019B494 7C 7F 1B 78 */ mr r31, r3
/* 8019B498 A8 63 01 14 */ lha r3, 0x114(r3)
/* 8019B49C 38 03 00 01 */ addi r0, r3, 1
/* 8019B4A0 B0 1F 01 14 */ sth r0, 0x114(r31)
/* 8019B4A4 80 7F 01 00 */ lwz r3, 0x100(r31)
/* 8019B4A8 C0 22 A1 84 */ lfs f1, lit_3869(r2)
/* 8019B4AC 48 00 08 05 */ bl setBackAlpha__24dDlst_GameOverScrnDraw_cFf
/* 8019B4B0 A8 1F 01 14 */ lha r0, 0x114(r31)
/* 8019B4B4 2C 00 00 1E */ cmpwi r0, 0x1e
/* 8019B4B8 41 80 00 0C */ blt lbl_8019B4C4
/* 8019B4BC 38 00 00 05 */ li r0, 5
/* 8019B4C0 98 1F 01 18 */ stb r0, 0x118(r31)
lbl_8019B4C4:
/* 8019B4C4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8019B4C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8019B4CC 7C 08 03 A6 */ mtlr r0
/* 8019B4D0 38 21 00 10 */ addi r1, r1, 0x10
/* 8019B4D4 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_8019B4D8:
/* 8019B4D8 38 00 00 1E */ li r0, 0x1e
/* 8019B4DC B0 03 01 14 */ sth r0, 0x114(r3)
/* 8019B4E0 4E 80 00 20 */ blr
@@ -1,33 +0,0 @@
lbl_8019B4E4:
/* 8019B4E4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8019B4E8 7C 08 02 A6 */ mflr r0
/* 8019B4EC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8019B4F0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8019B4F4 7C 7F 1B 78 */ mr r31, r3
/* 8019B4F8 A8 63 01 14 */ lha r3, 0x114(r3)
/* 8019B4FC 38 03 FF FF */ addi r0, r3, -1
/* 8019B500 B0 1F 01 14 */ sth r0, 0x114(r31)
/* 8019B504 80 7F 01 00 */ lwz r3, 0x100(r31)
/* 8019B508 A8 1F 01 14 */ lha r0, 0x114(r31)
/* 8019B50C 7C 00 01 D6 */ mullw r0, r0, r0
/* 8019B510 C8 22 A1 98 */ lfd f1, lit_4071(r2)
/* 8019B514 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8019B518 90 01 00 0C */ stw r0, 0xc(r1)
/* 8019B51C 3C 00 43 30 */ lis r0, 0x4330
/* 8019B520 90 01 00 08 */ stw r0, 8(r1)
/* 8019B524 C8 01 00 08 */ lfd f0, 8(r1)
/* 8019B528 EC 20 08 28 */ fsubs f1, f0, f1
/* 8019B52C C0 02 A1 94 */ lfs f0, lit_4069(r2)
/* 8019B530 EC 21 00 24 */ fdivs f1, f1, f0
/* 8019B534 48 00 07 7D */ bl setBackAlpha__24dDlst_GameOverScrnDraw_cFf
/* 8019B538 A8 1F 01 14 */ lha r0, 0x114(r31)
/* 8019B53C 2C 00 00 00 */ cmpwi r0, 0
/* 8019B540 41 81 00 0C */ bgt lbl_8019B54C
/* 8019B544 38 00 00 08 */ li r0, 8
/* 8019B548 98 1F 01 18 */ stb r0, 0x118(r31)
lbl_8019B54C:
/* 8019B54C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8019B550 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8019B554 7C 08 03 A6 */ mtlr r0
/* 8019B558 38 21 00 20 */ addi r1, r1, 0x20
/* 8019B55C 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_8019B3A0:
/* 8019B3A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8019B3A4 7C 08 02 A6 */ mflr r0
/* 8019B3A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8019B3AC 38 00 00 1E */ li r0, 0x1e
/* 8019B3B0 B0 03 01 14 */ sth r0, 0x114(r3)
/* 8019B3B4 80 6D 8C 40 */ lwz r3, sManager__10JFWDisplay(r13)
/* 8019B3B8 80 63 00 04 */ lwz r3, 4(r3)
/* 8019B3BC 28 03 00 00 */ cmplwi r3, 0
/* 8019B3C0 41 82 00 18 */ beq lbl_8019B3D8
/* 8019B3C4 38 80 00 0F */ li r4, 0xf
/* 8019B3C8 81 83 00 00 */ lwz r12, 0(r3)
/* 8019B3CC 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8019B3D0 7D 89 03 A6 */ mtctr r12
/* 8019B3D4 4E 80 04 21 */ bctrl
lbl_8019B3D8:
/* 8019B3D8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8019B3DC 7C 08 03 A6 */ mtlr r0
/* 8019B3E0 38 21 00 10 */ addi r1, r1, 0x10
/* 8019B3E4 4E 80 00 20 */ blr
@@ -1,11 +0,0 @@
lbl_8019B3E8:
/* 8019B3E8 A8 83 01 14 */ lha r4, 0x114(r3)
/* 8019B3EC 2C 04 00 00 */ cmpwi r4, 0
/* 8019B3F0 41 82 00 10 */ beq lbl_8019B400
/* 8019B3F4 38 04 FF FF */ addi r0, r4, -1
/* 8019B3F8 B0 03 01 14 */ sth r0, 0x114(r3)
/* 8019B3FC 4E 80 00 20 */ blr
lbl_8019B400:
/* 8019B400 38 00 00 02 */ li r0, 2
/* 8019B404 98 03 01 18 */ stb r0, 0x118(r3)
/* 8019B408 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_8019B40C:
/* 8019B40C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8019B410 7C 08 02 A6 */ mflr r0
/* 8019B414 90 01 00 14 */ stw r0, 0x14(r1)
/* 8019B418 38 00 00 5A */ li r0, 0x5a
/* 8019B41C B0 03 01 14 */ sth r0, 0x114(r3)
/* 8019B420 80 6D 8C 40 */ lwz r3, sManager__10JFWDisplay(r13)
/* 8019B424 80 63 00 04 */ lwz r3, 4(r3)
/* 8019B428 28 03 00 00 */ cmplwi r3, 0
/* 8019B42C 41 82 00 18 */ beq lbl_8019B444
/* 8019B430 38 80 00 1E */ li r4, 0x1e
/* 8019B434 81 83 00 00 */ lwz r12, 0(r3)
/* 8019B438 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8019B43C 7D 89 03 A6 */ mtctr r12
/* 8019B440 4E 80 04 21 */ bctrl
lbl_8019B444:
/* 8019B444 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8019B448 7C 08 03 A6 */ mtlr r0
/* 8019B44C 38 21 00 10 */ addi r1, r1, 0x10
/* 8019B450 4E 80 00 20 */ blr
@@ -1,11 +0,0 @@
lbl_8019B454:
/* 8019B454 A8 83 01 14 */ lha r4, 0x114(r3)
/* 8019B458 2C 04 00 00 */ cmpwi r4, 0
/* 8019B45C 41 82 00 10 */ beq lbl_8019B46C
/* 8019B460 38 04 FF FF */ addi r0, r4, -1
/* 8019B464 B0 03 01 14 */ sth r0, 0x114(r3)
/* 8019B468 4E 80 00 20 */ blr
lbl_8019B46C:
/* 8019B46C 38 00 00 05 */ li r0, 5
/* 8019B470 98 03 01 18 */ stb r0, 0x118(r3)
/* 8019B474 4E 80 00 20 */ blr
@@ -1,7 +0,0 @@
lbl_8019B388:
/* 8019B388 88 03 01 19 */ lbz r0, 0x119(r3)
/* 8019B38C 28 00 00 00 */ cmplwi r0, 0
/* 8019B390 4D 82 00 20 */ beqlr
/* 8019B394 38 00 00 01 */ li r0, 1
/* 8019B398 98 03 01 18 */ stb r0, 0x118(r3)
/* 8019B39C 4E 80 00 20 */ blr
@@ -1,124 +0,0 @@
lbl_8019B5F4:
/* 8019B5F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8019B5F8 7C 08 02 A6 */ mflr r0
/* 8019B5FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8019B600 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8019B604 93 C1 00 08 */ stw r30, 8(r1)
/* 8019B608 7C 7F 1B 78 */ mr r31, r3
/* 8019B60C 80 63 00 FC */ lwz r3, 0xfc(r3)
/* 8019B610 88 03 01 BB */ lbz r0, 0x1bb(r3)
/* 8019B614 28 00 00 00 */ cmplwi r0, 0
/* 8019B618 40 82 00 2C */ bne lbl_8019B644
/* 8019B61C 38 00 00 03 */ li r0, 3
/* 8019B620 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8019B624 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8019B628 98 03 5E 89 */ stb r0, 0x5e89(r3)
/* 8019B62C 38 00 00 00 */ li r0, 0
/* 8019B630 98 03 5E B5 */ stb r0, 0x5eb5(r3)
/* 8019B634 38 00 00 01 */ li r0, 1
/* 8019B638 80 6D 86 F8 */ lwz r3, mResetData__6mDoRst(r13)
/* 8019B63C 90 03 00 00 */ stw r0, 0(r3)
/* 8019B640 48 00 01 20 */ b lbl_8019B760
lbl_8019B644:
/* 8019B644 28 00 00 01 */ cmplwi r0, 1
/* 8019B648 40 82 01 18 */ bne lbl_8019B760
/* 8019B64C 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */
/* 8019B650 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */
/* 8019B654 88 03 00 C2 */ lbz r0, 0xc2(r3)
/* 8019B658 28 00 00 01 */ cmplwi r0, 1
/* 8019B65C 41 82 00 0C */ beq lbl_8019B668
/* 8019B660 28 00 00 02 */ cmplwi r0, 2
/* 8019B664 40 82 00 18 */ bne lbl_8019B67C
lbl_8019B668:
/* 8019B668 38 00 00 01 */ li r0, 1
/* 8019B66C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8019B670 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8019B674 98 03 5E 89 */ stb r0, 0x5e89(r3)
/* 8019B678 48 00 00 14 */ b lbl_8019B68C
lbl_8019B67C:
/* 8019B67C 38 00 00 02 */ li r0, 2
/* 8019B680 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8019B684 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8019B688 98 03 5E 89 */ stb r0, 0x5e89(r3)
lbl_8019B68C:
/* 8019B68C 38 00 00 00 */ li r0, 0
/* 8019B690 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8019B694 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8019B698 98 03 5E B5 */ stb r0, 0x5eb5(r3)
/* 8019B69C 3B C3 07 F0 */ addi r30, r3, 0x7f0
/* 8019B6A0 7F C3 F3 78 */ mr r3, r30
/* 8019B6A4 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 8019B6A8 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 8019B6AC A0 84 01 C4 */ lhz r4, 0x1c4(r4)
/* 8019B6B0 4B E9 93 0D */ bl isEventBit__11dSv_event_cCFUs
/* 8019B6B4 2C 03 00 00 */ cmpwi r3, 0
/* 8019B6B8 40 82 00 2C */ bne lbl_8019B6E4
/* 8019B6BC 7F C3 F3 78 */ mr r3, r30
/* 8019B6C0 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 8019B6C4 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 8019B6C8 A0 84 01 C0 */ lhz r4, 0x1c0(r4)
/* 8019B6CC 4B E9 92 D9 */ bl offEventBit__11dSv_event_cFUs
/* 8019B6D0 7F C3 F3 78 */ mr r3, r30
/* 8019B6D4 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 8019B6D8 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 8019B6DC A0 84 01 C2 */ lhz r4, 0x1c2(r4)
/* 8019B6E0 4B E9 92 C5 */ bl offEventBit__11dSv_event_cFUs
lbl_8019B6E4:
/* 8019B6E4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8019B6E8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8019B6EC 38 63 00 CC */ addi r3, r3, 0xcc
/* 8019B6F0 38 80 00 48 */ li r4, 0x48
/* 8019B6F4 4B E9 87 D5 */ bl isFirstBit__21dSv_player_get_item_cCFUc
/* 8019B6F8 2C 03 00 00 */ cmpwi r3, 0
/* 8019B6FC 41 82 00 54 */ beq lbl_8019B750
/* 8019B700 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8019B704 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8019B708 3B C3 00 9C */ addi r30, r3, 0x9c
/* 8019B70C 7F C3 F3 78 */ mr r3, r30
/* 8019B710 38 80 00 01 */ li r4, 1
/* 8019B714 38 A0 00 01 */ li r5, 1
/* 8019B718 4B E9 79 19 */ bl getItem__17dSv_player_item_cCFib
/* 8019B71C 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8019B720 28 00 00 FF */ cmplwi r0, 0xff
/* 8019B724 40 82 00 2C */ bne lbl_8019B750
/* 8019B728 7F C3 F3 78 */ mr r3, r30
/* 8019B72C 38 80 00 01 */ li r4, 1
/* 8019B730 38 A0 00 48 */ li r5, 0x48
/* 8019B734 4B E9 78 85 */ bl setItem__17dSv_player_item_cFiUc
/* 8019B738 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */
/* 8019B73C 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */
/* 8019B740 A0 03 00 B6 */ lhz r0, 0xb6(r3)
/* 8019B744 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8019B748 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8019B74C B0 03 00 08 */ sth r0, 8(r3)
lbl_8019B750:
/* 8019B750 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */
/* 8019B754 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */
/* 8019B758 38 80 00 00 */ li r4, 0
/* 8019B75C 48 08 29 69 */ bl resetMiniGameItem__13dMeter2Info_cFb
lbl_8019B760:
/* 8019B760 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */
/* 8019B764 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */
/* 8019B768 88 03 00 C2 */ lbz r0, 0xc2(r3)
/* 8019B76C 28 00 00 01 */ cmplwi r0, 1
/* 8019B770 40 82 00 2C */ bne lbl_8019B79C
/* 8019B774 28 00 00 02 */ cmplwi r0, 2
/* 8019B778 40 82 00 24 */ bne lbl_8019B79C
/* 8019B77C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8019B780 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8019B784 88 03 5E 89 */ lbz r0, 0x5e89(r3)
/* 8019B788 28 00 00 01 */ cmplwi r0, 1
/* 8019B78C 40 82 00 10 */ bne lbl_8019B79C
/* 8019B790 38 00 00 04 */ li r0, 4
/* 8019B794 98 1F 01 18 */ stb r0, 0x118(r31)
/* 8019B798 48 00 00 0C */ b lbl_8019B7A4
lbl_8019B79C:
/* 8019B79C 38 00 00 08 */ li r0, 8
/* 8019B7A0 98 1F 01 18 */ stb r0, 0x118(r31)
lbl_8019B7A4:
/* 8019B7A4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8019B7A8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8019B7AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8019B7B0 7C 08 03 A6 */ mtlr r0
/* 8019B7B4 38 21 00 10 */ addi r1, r1, 0x10
/* 8019B7B8 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_8019B5A8:
/* 8019B5A8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8019B5AC 7C 08 02 A6 */ mflr r0
/* 8019B5B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8019B5B4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8019B5B8 7C 7F 1B 78 */ mr r31, r3
/* 8019B5BC 80 63 00 FC */ lwz r3, 0xfc(r3)
/* 8019B5C0 48 05 5A 89 */ bl _move__12dMenu_save_cFv
/* 8019B5C4 80 7F 00 FC */ lwz r3, 0xfc(r31)
/* 8019B5C8 88 03 01 BA */ lbz r0, 0x1ba(r3)
/* 8019B5CC 28 00 00 03 */ cmplwi r0, 3
/* 8019B5D0 40 82 00 0C */ bne lbl_8019B5DC
/* 8019B5D4 38 00 00 07 */ li r0, 7
/* 8019B5D8 98 1F 01 18 */ stb r0, 0x118(r31)
lbl_8019B5DC:
/* 8019B5DC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8019B5E0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8019B5E4 7C 08 03 A6 */ mtlr r0
/* 8019B5E8 38 21 00 10 */ addi r1, r1, 0x10
/* 8019B5EC 4E 80 00 20 */ blr
@@ -1,18 +0,0 @@
lbl_8019B564:
/* 8019B564 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8019B568 7C 08 02 A6 */ mflr r0
/* 8019B56C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8019B570 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8019B574 7C 7F 1B 78 */ mr r31, r3
/* 8019B578 80 63 00 FC */ lwz r3, 0xfc(r3)
/* 8019B57C 48 05 54 31 */ bl _open__12dMenu_save_cFv
/* 8019B580 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8019B584 41 82 00 0C */ beq lbl_8019B590
/* 8019B588 38 00 00 06 */ li r0, 6
/* 8019B58C 98 1F 01 18 */ stb r0, 0x118(r31)
lbl_8019B590:
/* 8019B590 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8019B594 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8019B598 7C 08 03 A6 */ mtlr r0
/* 8019B59C 38 21 00 10 */ addi r1, r1, 0x10
/* 8019B5A0 4E 80 00 20 */ blr
@@ -1,18 +0,0 @@
lbl_8019BCB0:
/* 8019BCB0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8019BCB4 7C 08 02 A6 */ mflr r0
/* 8019BCB8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8019BCBC 80 63 00 08 */ lwz r3, 8(r3)
/* 8019BCC0 C0 02 A1 A8 */ lfs f0, lit_4316(r2)
/* 8019BCC4 EC 00 00 72 */ fmuls f0, f0, f1
/* 8019BCC8 FC 00 00 1E */ fctiwz f0, f0
/* 8019BCCC D8 01 00 08 */ stfd f0, 8(r1)
/* 8019BCD0 80 81 00 0C */ lwz r4, 0xc(r1)
/* 8019BCD4 81 83 00 00 */ lwz r12, 0(r3)
/* 8019BCD8 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 8019BCDC 7D 89 03 A6 */ mtctr r12
/* 8019BCE0 4E 80 04 21 */ bctrl
/* 8019BCE4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8019BCE8 7C 08 03 A6 */ mtlr r0
/* 8019BCEC 38 21 00 10 */ addi r1, r1, 0x10
/* 8019BCF0 4E 80 00 20 */ blr
@@ -1,85 +0,0 @@
lbl_802155B8:
/* 802155B8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802155BC 7C 08 02 A6 */ mflr r0
/* 802155C0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802155C4 39 61 00 20 */ addi r11, r1, 0x20
/* 802155C8 48 14 CC 0D */ bl _savegpr_27
/* 802155CC 7C 7B 1B 78 */ mr r27, r3
/* 802155D0 7C 9C 23 78 */ mr r28, r4
/* 802155D4 3B E0 00 00 */ li r31, 0
/* 802155D8 3B C0 00 00 */ li r30, 0
/* 802155DC 3B A0 00 00 */ li r29, 0
/* 802155E0 80 63 01 CC */ lwz r3, 0x1cc(r3)
/* 802155E4 48 04 02 45 */ bl getAlphaRate__13CPaneMgrAlphaFv
/* 802155E8 C0 1B 07 B0 */ lfs f0, 0x7b0(r27)
/* 802155EC FC 00 08 00 */ fcmpu cr0, f0, f1
/* 802155F0 40 82 00 0C */ bne lbl_802155FC
/* 802155F4 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 802155F8 41 82 00 14 */ beq lbl_8021560C
lbl_802155FC:
/* 802155FC 80 7B 01 CC */ lwz r3, 0x1cc(r27)
/* 80215600 48 04 02 29 */ bl getAlphaRate__13CPaneMgrAlphaFv
/* 80215604 D0 3B 07 B0 */ stfs f1, 0x7b0(r27)
/* 80215608 3B E0 00 01 */ li r31, 1
lbl_8021560C:
/* 8021560C C0 1B 07 B4 */ lfs f0, 0x7b4(r27)
/* 80215610 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */
/* 80215614 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */
/* 80215618 C0 23 00 58 */ lfs f1, 0x58(r3)
/* 8021561C FC 00 08 00 */ fcmpu cr0, f0, f1
/* 80215620 40 82 00 0C */ bne lbl_8021562C
/* 80215624 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 80215628 41 82 00 0C */ beq lbl_80215634
lbl_8021562C:
/* 8021562C D0 3B 07 B4 */ stfs f1, 0x7b4(r27)
/* 80215630 3B C0 00 01 */ li r30, 1
lbl_80215634:
/* 80215634 C0 1B 07 B8 */ lfs f0, 0x7b8(r27)
/* 80215638 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */
/* 8021563C 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */
/* 80215640 C0 23 00 5C */ lfs f1, 0x5c(r3)
/* 80215644 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 80215648 40 82 00 0C */ bne lbl_80215654
/* 8021564C 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 80215650 41 82 00 0C */ beq lbl_8021565C
lbl_80215654:
/* 80215654 D0 3B 07 B8 */ stfs f1, 0x7b8(r27)
/* 80215658 3B A0 00 01 */ li r29, 1
lbl_8021565C:
/* 8021565C 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 80215660 40 82 00 14 */ bne lbl_80215674
/* 80215664 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 80215668 40 82 00 0C */ bne lbl_80215674
/* 8021566C 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 80215670 41 82 00 18 */ beq lbl_80215688
lbl_80215674:
/* 80215674 80 7B 01 D8 */ lwz r3, 0x1d8(r27)
/* 80215678 C0 3B 07 B4 */ lfs f1, 0x7b4(r27)
/* 8021567C C0 1B 07 B0 */ lfs f0, 0x7b0(r27)
/* 80215680 EC 21 00 32 */ fmuls f1, f1, f0
/* 80215684 48 04 01 4D */ bl setAlphaRate__13CPaneMgrAlphaFf
lbl_80215688:
/* 80215688 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 8021568C 40 82 00 14 */ bne lbl_802156A0
/* 80215690 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 80215694 40 82 00 0C */ bne lbl_802156A0
/* 80215698 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 8021569C 41 82 00 2C */ beq lbl_802156C8
lbl_802156A0:
/* 802156A0 80 7B 01 D4 */ lwz r3, 0x1d4(r27)
/* 802156A4 C0 3B 07 B8 */ lfs f1, 0x7b8(r27)
/* 802156A8 C0 1B 07 B0 */ lfs f0, 0x7b0(r27)
/* 802156AC EC 21 00 32 */ fmuls f1, f1, f0
/* 802156B0 48 04 01 21 */ bl setAlphaRate__13CPaneMgrAlphaFf
/* 802156B4 80 7B 01 DC */ lwz r3, 0x1dc(r27)
/* 802156B8 C0 3B 07 B8 */ lfs f1, 0x7b8(r27)
/* 802156BC C0 1B 07 B0 */ lfs f0, 0x7b0(r27)
/* 802156C0 EC 21 00 32 */ fmuls f1, f1, f0
/* 802156C4 48 04 01 0D */ bl setAlphaRate__13CPaneMgrAlphaFf
lbl_802156C8:
/* 802156C8 39 61 00 20 */ addi r11, r1, 0x20
/* 802156CC 48 14 CB 55 */ bl _restgpr_27
/* 802156D0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802156D4 7C 08 03 A6 */ mtlr r0
/* 802156D8 38 21 00 20 */ addi r1, r1, 0x20
/* 802156DC 4E 80 00 20 */ blr
@@ -1,85 +0,0 @@
lbl_80215380:
/* 80215380 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80215384 7C 08 02 A6 */ mflr r0
/* 80215388 90 01 00 24 */ stw r0, 0x24(r1)
/* 8021538C 39 61 00 20 */ addi r11, r1, 0x20
/* 80215390 48 14 CE 45 */ bl _savegpr_27
/* 80215394 7C 7B 1B 78 */ mr r27, r3
/* 80215398 7C 9C 23 78 */ mr r28, r4
/* 8021539C 3B E0 00 00 */ li r31, 0
/* 802153A0 3B C0 00 00 */ li r30, 0
/* 802153A4 3B A0 00 00 */ li r29, 0
/* 802153A8 80 63 01 CC */ lwz r3, 0x1cc(r3)
/* 802153AC 48 04 04 7D */ bl getAlphaRate__13CPaneMgrAlphaFv
/* 802153B0 C0 1B 07 A4 */ lfs f0, 0x7a4(r27)
/* 802153B4 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 802153B8 40 82 00 0C */ bne lbl_802153C4
/* 802153BC 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 802153C0 41 82 00 14 */ beq lbl_802153D4
lbl_802153C4:
/* 802153C4 80 7B 01 CC */ lwz r3, 0x1cc(r27)
/* 802153C8 48 04 04 61 */ bl getAlphaRate__13CPaneMgrAlphaFv
/* 802153CC D0 3B 07 A4 */ stfs f1, 0x7a4(r27)
/* 802153D0 3B E0 00 01 */ li r31, 1
lbl_802153D4:
/* 802153D4 C0 1B 07 A8 */ lfs f0, 0x7a8(r27)
/* 802153D8 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */
/* 802153DC 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */
/* 802153E0 C0 23 00 44 */ lfs f1, 0x44(r3)
/* 802153E4 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 802153E8 40 82 00 0C */ bne lbl_802153F4
/* 802153EC 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 802153F0 41 82 00 0C */ beq lbl_802153FC
lbl_802153F4:
/* 802153F4 D0 3B 07 A8 */ stfs f1, 0x7a8(r27)
/* 802153F8 3B C0 00 01 */ li r30, 1
lbl_802153FC:
/* 802153FC C0 1B 07 AC */ lfs f0, 0x7ac(r27)
/* 80215400 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */
/* 80215404 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */
/* 80215408 C0 23 00 48 */ lfs f1, 0x48(r3)
/* 8021540C FC 00 08 00 */ fcmpu cr0, f0, f1
/* 80215410 40 82 00 0C */ bne lbl_8021541C
/* 80215414 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 80215418 41 82 00 0C */ beq lbl_80215424
lbl_8021541C:
/* 8021541C D0 3B 07 AC */ stfs f1, 0x7ac(r27)
/* 80215420 3B A0 00 01 */ li r29, 1
lbl_80215424:
/* 80215424 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 80215428 40 82 00 14 */ bne lbl_8021543C
/* 8021542C 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 80215430 40 82 00 0C */ bne lbl_8021543C
/* 80215434 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 80215438 41 82 00 18 */ beq lbl_80215450
lbl_8021543C:
/* 8021543C 80 7B 01 D8 */ lwz r3, 0x1d8(r27)
/* 80215440 C0 3B 07 A8 */ lfs f1, 0x7a8(r27)
/* 80215444 C0 1B 07 A4 */ lfs f0, 0x7a4(r27)
/* 80215448 EC 21 00 32 */ fmuls f1, f1, f0
/* 8021544C 48 04 03 85 */ bl setAlphaRate__13CPaneMgrAlphaFf
lbl_80215450:
/* 80215450 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 80215454 40 82 00 14 */ bne lbl_80215468
/* 80215458 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 8021545C 40 82 00 0C */ bne lbl_80215468
/* 80215460 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 80215464 41 82 00 2C */ beq lbl_80215490
lbl_80215468:
/* 80215468 80 7B 01 D4 */ lwz r3, 0x1d4(r27)
/* 8021546C C0 3B 07 AC */ lfs f1, 0x7ac(r27)
/* 80215470 C0 1B 07 A4 */ lfs f0, 0x7a4(r27)
/* 80215474 EC 21 00 32 */ fmuls f1, f1, f0
/* 80215478 48 04 03 59 */ bl setAlphaRate__13CPaneMgrAlphaFf
/* 8021547C 80 7B 01 DC */ lwz r3, 0x1dc(r27)
/* 80215480 C0 3B 07 AC */ lfs f1, 0x7ac(r27)
/* 80215484 C0 1B 07 A4 */ lfs f0, 0x7a4(r27)
/* 80215488 EC 21 00 32 */ fmuls f1, f1, f0
/* 8021548C 48 04 03 45 */ bl setAlphaRate__13CPaneMgrAlphaFf
lbl_80215490:
/* 80215490 39 61 00 20 */ addi r11, r1, 0x20
/* 80215494 48 14 CD 8D */ bl _restgpr_27
/* 80215498 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8021549C 7C 08 03 A6 */ mtlr r0
/* 802154A0 38 21 00 20 */ addi r1, r1, 0x20
/* 802154A4 4E 80 00 20 */ blr
@@ -1,85 +0,0 @@
lbl_802158F0:
/* 802158F0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802158F4 7C 08 02 A6 */ mflr r0
/* 802158F8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802158FC 39 61 00 20 */ addi r11, r1, 0x20
/* 80215900 48 14 C8 D5 */ bl _savegpr_27
/* 80215904 7C 7B 1B 78 */ mr r27, r3
/* 80215908 7C 9C 23 78 */ mr r28, r4
/* 8021590C 3B E0 00 00 */ li r31, 0
/* 80215910 3B C0 00 00 */ li r30, 0
/* 80215914 3B A0 00 00 */ li r29, 0
/* 80215918 80 63 01 CC */ lwz r3, 0x1cc(r3)
/* 8021591C 48 03 FF 0D */ bl getAlphaRate__13CPaneMgrAlphaFv
/* 80215920 C0 1B 07 BC */ lfs f0, 0x7bc(r27)
/* 80215924 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 80215928 40 82 00 0C */ bne lbl_80215934
/* 8021592C 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 80215930 41 82 00 14 */ beq lbl_80215944
lbl_80215934:
/* 80215934 80 7B 01 CC */ lwz r3, 0x1cc(r27)
/* 80215938 48 03 FE F1 */ bl getAlphaRate__13CPaneMgrAlphaFv
/* 8021593C D0 3B 07 BC */ stfs f1, 0x7bc(r27)
/* 80215940 3B E0 00 01 */ li r31, 1
lbl_80215944:
/* 80215944 C0 1B 07 C0 */ lfs f0, 0x7c0(r27)
/* 80215948 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */
/* 8021594C 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */
/* 80215950 C0 23 00 6C */ lfs f1, 0x6c(r3)
/* 80215954 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 80215958 40 82 00 0C */ bne lbl_80215964
/* 8021595C 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 80215960 41 82 00 0C */ beq lbl_8021596C
lbl_80215964:
/* 80215964 D0 3B 07 C0 */ stfs f1, 0x7c0(r27)
/* 80215968 3B C0 00 01 */ li r30, 1
lbl_8021596C:
/* 8021596C C0 1B 07 C4 */ lfs f0, 0x7c4(r27)
/* 80215970 3C 60 80 43 */ lis r3, g_drawHIO@ha /* 0x8042EBC8@ha */
/* 80215974 38 63 EB C8 */ addi r3, r3, g_drawHIO@l /* 0x8042EBC8@l */
/* 80215978 C0 23 00 70 */ lfs f1, 0x70(r3)
/* 8021597C FC 00 08 00 */ fcmpu cr0, f0, f1
/* 80215980 40 82 00 0C */ bne lbl_8021598C
/* 80215984 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 80215988 41 82 00 0C */ beq lbl_80215994
lbl_8021598C:
/* 8021598C D0 3B 07 C4 */ stfs f1, 0x7c4(r27)
/* 80215990 3B A0 00 01 */ li r29, 1
lbl_80215994:
/* 80215994 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 80215998 40 82 00 14 */ bne lbl_802159AC
/* 8021599C 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 802159A0 40 82 00 0C */ bne lbl_802159AC
/* 802159A4 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 802159A8 41 82 00 18 */ beq lbl_802159C0
lbl_802159AC:
/* 802159AC 80 7B 01 D8 */ lwz r3, 0x1d8(r27)
/* 802159B0 C0 3B 07 C0 */ lfs f1, 0x7c0(r27)
/* 802159B4 C0 1B 07 BC */ lfs f0, 0x7bc(r27)
/* 802159B8 EC 21 00 32 */ fmuls f1, f1, f0
/* 802159BC 48 03 FE 15 */ bl setAlphaRate__13CPaneMgrAlphaFf
lbl_802159C0:
/* 802159C0 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 802159C4 40 82 00 14 */ bne lbl_802159D8
/* 802159C8 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 802159CC 40 82 00 0C */ bne lbl_802159D8
/* 802159D0 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 802159D4 41 82 00 2C */ beq lbl_80215A00
lbl_802159D8:
/* 802159D8 80 7B 01 D4 */ lwz r3, 0x1d4(r27)
/* 802159DC C0 3B 07 C4 */ lfs f1, 0x7c4(r27)
/* 802159E0 C0 1B 07 BC */ lfs f0, 0x7bc(r27)
/* 802159E4 EC 21 00 32 */ fmuls f1, f1, f0
/* 802159E8 48 03 FD E9 */ bl setAlphaRate__13CPaneMgrAlphaFf
/* 802159EC 80 7B 01 DC */ lwz r3, 0x1dc(r27)
/* 802159F0 C0 3B 07 C4 */ lfs f1, 0x7c4(r27)
/* 802159F4 C0 1B 07 BC */ lfs f0, 0x7bc(r27)
/* 802159F8 EC 21 00 32 */ fmuls f1, f1, f0
/* 802159FC 48 03 FD D5 */ bl setAlphaRate__13CPaneMgrAlphaFf
lbl_80215A00:
/* 80215A00 39 61 00 20 */ addi r11, r1, 0x20
/* 80215A04 48 14 C8 1D */ bl _restgpr_27
/* 80215A08 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80215A0C 7C 08 03 A6 */ mtlr r0
/* 80215A10 38 21 00 20 */ addi r1, r1, 0x20
/* 80215A14 4E 80 00 20 */ blr
+32
View File
@@ -52,12 +52,44 @@ public:
cSAngle operator+(short, const cSAngle&);
cSAngle operator-(short, const cSAngle&);
struct cAngle {
static f32 Radian_to_Degree(f32 rad) { return rad * 57.2957763671875f; }
static f32 Degree_to_Radian(f32 deg) { return deg * 0.017453292f; }
static s16 Degree_to_SAngle(f32 deg) { return deg * 182.04444885253906f; }
static f32 SAngle_to_Degree(s16 angle) { return (360.0f / 65536.0f) * angle; }
static f32 SAngle_to_Radian(s16 angle) { return 9.58738E-5f * angle; }
static f32 SAngle_to_Normal(s16 angle) { return 3.0517578E-5f * angle; }
static s16 Radian_to_SAngle(f32 rad) { return rad * 10430.378f; }
/* Converts Radian value into Degree value */
static f32 r2d(f32 r) { return Radian_to_Degree(r); }
/* Converts Degree value to s16 angle */
static s16 d2s(f32 d) { return Degree_to_SAngle(d); }
template <typename T>
static T Adjust(T f1, T f2, T f3);
};
template <typename T>
T cAngle::Adjust(T f1, T f2, T f3) {
while (f1 >= f3) {
f1 -= f3 - f2;
}
while (f1 < f2) {
f1 += f3 - f2;
}
return f1;
}
class cDegree {
private:
float mDegree;
public:
cDegree(float);
~cDegree() {}
cDegree& Formal(void);
void Val(float);
float Radian(void) const;
+18 -4
View File
@@ -434,7 +434,9 @@ public:
}
char* getLastPlayStageName() { return mLastPlayStageName; }
void setGameoverStatus(u8 status) { mGameoverStatus = status; }
u8 getGameoverStatus() { return mGameoverStatus; }
u8 getMesgStatus() { return mMesgStatus; }
public:
/* 0x00000 */ dBgS mBgs;
@@ -1532,6 +1534,10 @@ inline int dComIfGs_createZone(int roomNo) {
return g_dComIfG_gameInfo.info.createZone(roomNo);
}
inline void dComIfGs_addDeathCount() {
g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().addDeathCount();
}
void dComIfGp_setSelectItem(int index);
s32 dComIfGp_offHeapLockFlag(int flag);
void dComIfGp_createSubExpHeap2D();
@@ -1834,6 +1840,10 @@ inline u8 dComIfGp_getGameoverStatus() {
return g_dComIfG_gameInfo.play.getGameoverStatus();
}
inline void dComIfGp_setGameoverStatus(u8 i_status) {
return g_dComIfG_gameInfo.play.setGameoverStatus(i_status);
}
inline u32 dComIfGp_getNowVibration() {
return g_dComIfG_gameInfo.play.getNowVibration();
}
@@ -2359,6 +2369,14 @@ inline void i_dComIfGp_setHitMark(u16 i_hitmark, fopAc_ac_c* param_1, const cXyz
i_atType);
}
inline JKRArchive* dComIfGp_getFmapResArchive() {
return g_dComIfG_gameInfo.play.getFmapResArchive();
}
inline u8 dComIfGp_getMesgStatus() {
return g_dComIfG_gameInfo.play.getMesgStatus();
}
inline s32 dComIfGp_roomControl_getStayNo() {
return dStage_roomControl_c::getStayNo();
}
@@ -2871,8 +2889,4 @@ inline daAlink_c* daAlink_getAlinkActorClass() {
return (daAlink_c*)g_dComIfG_gameInfo.play.getPlayerPtr(LINK_PTR);
}
inline JKRArchive* dComIfGp_getFmapResArchive() {
return g_dComIfG_gameInfo.play.getFmapResArchive();
}
#endif /* D_COM_D_COM_INF_GAME_H */
+42 -30
View File
@@ -5,11 +5,11 @@
#include "SSystem/SComponent/c_xyz.h"
struct dCamMath {
/* 8008813C */ void rationalBezierRatio(f32, f32);
/* 80088284 */ void zoomFovy(f32, f32);
/* 8008831C */ void xyzRotateX(cXyz&, cSAngle);
/* 80088384 */ void xyzRotateY(cXyz&, cSAngle);
/* 800883EC */ void xyzHorizontalDistance(cXyz&, cXyz&);
/* 8008813C */ static f32 rationalBezierRatio(f32, f32);
/* 80088284 */ static f32 zoomFovy(f32, f32);
/* 8008831C */ static cXyz xyzRotateX(cXyz&, cSAngle);
/* 80088384 */ static cXyz xyzRotateY(cXyz&, cSAngle);
/* 800883EC */ static f32 xyzHorizontalDistance(cXyz&, cXyz&);
};
class dCstick_c {
@@ -29,31 +29,43 @@ class dCamBGChk_c {
public:
/* 80088464 */ dCamBGChk_c();
/* 0x00 */ f32 field_0x0;
/* 0x04 */ f32 field_0x4;
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ f32 field_0x14;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ f32 field_0x1c;
/* 0x20 */ f32 field_0x20;
/* 0x24 */ f32 field_0x24;
/* 0x28 */ f32 field_0x28;
// name is a guess for now
struct ChkInfo {
/* 0x0 */ f32 mDistance;
/* 0x4 */ f32 mChkAngle;
/* 0x8 */ f32 mWeightH;
/* 0xC */ f32 mWeightL;
}; // Size: 0x10
/* 0x00 */ f32 mFloorMargin;
/* 0x04 */ ChkInfo mChkInfo[2];
/* 0x24 */ f32 mFwdBackMargin;
/* 0x28 */ f32 mFwdCushion;
/* 0x2C */ f32 field_0x2c;
/* 0x30 */ f32 field_0x30;
/* 0x34 */ f32 field_0x34;
/* 0x38 */ f32 field_0x38;
/* 0x3C */ f32 field_0x3c;
/* 0x40 */ f32 field_0x40;
/* 0x44 */ f32 field_0x44;
/* 0x30 */ f32 mGazeBackMargin;
/* 0x34 */ f32 mCornerCushion;
/* 0x38 */ f32 mWallCushion;
/* 0x3C */ f32 mWallUpDistance;
/* 0x40 */ f32 mWallBackCushion;
/* 0x44 */ f32 mCornerAngleMax;
};
struct dCamStyleData {
struct StyleData {
/* 0x0 */ u32 field_0x0;
/* 0x4 */ u8 field_0x4[0x78 - 0x4];
}; // Size: 0x78
/* 0x0 */ u8 field_0x0[4];
/* 0x4 */ int mStyleNum;
/* 0x8 */ StyleData* mStyleData;
};
class dCamParam_c {
public:
/* 800884F0 */ dCamParam_c(s32);
/* 800885D4 */ void Change(s32);
/* 80088620 */ void SearchStyle(u32);
/* 800885D4 */ int Change(s32);
/* 80088620 */ int SearchStyle(u32);
/* 80182C60 */ void Arg2(s16);
/* 80182C3C */ void Arg2();
/* 80182C48 */ void Arg1();
@@ -70,9 +82,9 @@ public:
/* 0x01 */ u8 mMapToolArg0;
/* 0x02 */ u8 mMapToolArg1;
/* 0x04 */ int mMapToolArg2;
/* 0x08 */ u8* mCamStyleData;
/* 0x0C */ int field_0xc;
/* 0x10 */ u8* field_0x10;
/* 0x08 */ dCamStyleData::StyleData* mCamStyleData;
/* 0x0C */ s32 mStyleNum;
/* 0x10 */ dCamStyleData::StyleData* mCurrentStyle;
/* 0x14 */ int mStyleID;
/* 0x18 */ u8 field_0x18[4];
@@ -82,8 +94,8 @@ public:
class dCamSetup_c {
public:
/* 80088668 */ dCamSetup_c();
/* 80088918 */ void CheckLatitudeRange(s16*);
/* 80088988 */ void PlayerHideDist();
/* 80088918 */ bool CheckLatitudeRange(s16*);
/* 80088988 */ f32 PlayerHideDist();
/* 80182BB8 */ void CheckFlag2(u16);
/* 80182BD0 */ void CheckFlag(u16);
/* 80182BE8 */ void WaitRollSpeed();
@@ -169,7 +181,7 @@ public:
/* 0x114 */ dCamBGChk_c mBGChk;
/* 0x15C */ f32 field_0x15c;
/* 0x160 */ f32 field_0x160;
/* 0x164 */ f32 mWaitRollTimer;
/* 0x164 */ int mWaitRollTimer;
/* 0x168 */ f32 mWaitRollSpeed;
/* 0x16C */ f32 field_0x16c;
/* 0x170 */ int mScreensaverFirstWaitTimer;
+23 -1
View File
@@ -1,6 +1,28 @@
#ifndef D_D_DOOR_PARAM2_H
#define D_D_DOOR_PARAM2_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class door_param2_c {
public:
/* 8003A188 */ static u8 getKind(fopAc_ac_c* i_actor);
/* 8003A194 */ static u8 getDoorModel(fopAc_ac_c* i_actor);
/* 8003A1A0 */ static u8 getFrontOption(fopAc_ac_c* i_actor);
/* 8003A1AC */ static u8 getBackOption(fopAc_ac_c* i_actor);
/* 8003A1B8 */ static u8 getFRoomNo(fopAc_ac_c* i_actor);
/* 8003A1C4 */ static u8 getBRoomNo(fopAc_ac_c* i_actor);
/* 8003A1D0 */ static u8 getSwbit(fopAc_ac_c* i_actor);
/* 8003A1DC */ static u8 getSwbit2(fopAc_ac_c* i_actor);
/* 8003A1E8 */ static u8 getSwbit3(fopAc_ac_c* i_actor);
/* 8003A1F4 */ static u8 isMsgDoor(fopAc_ac_c* i_actor);
/* 8003A200 */ static u8 getEventNo(fopAc_ac_c* i_actor);
/* 8003A20C */ static u8 getEventNo2(fopAc_ac_c* i_actor);
/* 8003A218 */ static u16 getMsgNo(fopAc_ac_c* i_actor);
/* 8003A224 */ static u8 getExitNo(fopAc_ac_c* i_actor);
/* 8003A230 */ static u8 getFLightInf(fopAc_ac_c* i_actor);
/* 8003A23C */ static u8 getBLightInf(fopAc_ac_c* i_actor);
/* 8003A248 */ static u8 getMFLightInf(fopAc_ac_c* i_actor);
/* 8003A254 */ static u8 getMBLightInf(fopAc_ac_c* i_actor);
};
#endif /* D_D_DOOR_PARAM2_H */
+3 -3
View File
@@ -255,8 +255,8 @@ public:
/* 80056770 */ void drawXluListItem3d();
/* 80056794 */ int set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
/* 800567C4 */ void draw(dDlst_base_c**, dDlst_base_c**);
/* 8005681C */ void wipeIn(f32, _GXColor&);
/* 800568D8 */ static void wipeIn(f32);
/* 8005681C */ static void wipeIn(f32 i_wipeSpeed, GXColor& i_wipeColor);
/* 800568D8 */ static void wipeIn(f32 i_wipeSpeed);
/* 80056900 */ void calcWipe();
enum DrawBuffer {
@@ -336,7 +336,7 @@ public:
static dDlst_2DT2_c mWipeDlst;
static GXColor mWipeColor;
static f32 mWipeRate;
static f32 mWipeSpeed[1 + 1 /* padding */];
static f32 mWipeSpeed;
static u8 mWipe;
private:
+79 -13
View File
@@ -1,13 +1,69 @@
#ifndef D_D_GAMEOVER_H
#define D_D_GAMEOVER_H
#include "SSystem/SComponent/c_phase.h"
#include "d/menu/d_menu_save.h"
#include "d/msg/d_msg_class.h"
#include "dolphin/types.h"
#include "f_op/f_op_msg_mng.h"
struct dGameover_c : msg_class {
/* 8019B044 */ void _create();
/* 8019B2F4 */ void _execute();
class mDoHIO_entry_c {
public:
virtual ~mDoHIO_entry_c() {}
/* 0x4 */ s8 mNo;
/* 0x5 */ u8 mCount;
};
class dGov_HIO_c : public mDoHIO_entry_c {
public:
/* 8019AFE0 */ dGov_HIO_c();
/* 8019C06C */ virtual ~dGov_HIO_c();
/* 0x08 */ f32 mScale;
/* 0x0C */ f32 mAlpha;
/* 0x10 */ f32 mAnimSpeed;
/* 0x14 */ GXColor mBlack;
/* 0x18 */ GXColor mWhite;
}; // Size: 0x1C
class dDlst_Gameover_CAPTURE_c : public dDlst_base_c {
public:
/* 8019ACF8 */ virtual void draw();
/* 8019C2CC */ virtual ~dDlst_Gameover_CAPTURE_c();
};
class dMsgScrnLight_c;
class dDlst_GameOverScrnDraw_c : public dDlst_base_c {
public:
/* 8019B940 */ dDlst_GameOverScrnDraw_c(JKRArchive*);
/* 8019BCB0 */ void setBackAlpha(f32);
/* 8019BCF4 */ virtual void draw();
/* 8019BBFC */ virtual ~dDlst_GameOverScrnDraw_c();
/* 0x04 */ J2DScreen* mpScreen;
/* 0x08 */ J2DPicture* mpBackImg;
/* 0x0C */ dMsgScrnLight_c* mpLight;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ JUtility::TColor mFadeColor;
}; // Size: 0x18
enum dGameover_Proc {
/* 0 */ PROC_PLAYER_ANM_WAIT,
/* 1 */ PROC_DISP_FADE_OUT,
/* 2 */ PROC_DISP_WAIT,
/* 3 */ PROC_DEMO_FADE_IN,
/* 4 */ PROC_DEMO_FADE_OUT,
/* 5 */ PROC_SAVE_OPEN,
/* 6 */ PROC_SAVE_MOVE,
/* 7 */ PROC_SAVE_CLOSE,
/* 8 */ PROC_DELETE_WAIT,
};
class dGameover_c : public msg_class {
public:
/* 8019B044 */ int _create();
/* 8019B2F4 */ int _execute();
/* 8019B384 */ void playerAnmWait_init();
/* 8019B388 */ void playerAnmWait_proc();
/* 8019B3A0 */ void dispFadeOut_init();
@@ -26,27 +82,37 @@ struct dGameover_c : msg_class {
/* 8019B5F4 */ void saveClose_proc();
/* 8019B7BC */ void deleteWait_init();
/* 8019B7C0 */ void deleteWait_proc();
/* 8019B7C4 */ void _draw();
/* 8019B864 */ void _delete();
s32 deleteCheck() { return _0x108 == 8; }
/* 8019B7C4 */ int _draw();
/* 8019B864 */ int _delete();
/* 0x100 */ u8 _0x100[0x118 - 0x100];
/* 0x108 */ u8 _0x108;
}; // size unknown
s32 deleteCheck() { return mProc == 8; }
/* 0x0FC */ dMenu_save_c* dMs_c;
/* 0x100 */ dDlst_GameOverScrnDraw_c* dgo_screen_c;
/* 0x104 */ dDlst_Gameover_CAPTURE_c* dgo_capture_c;
/* 0x108 */ request_of_phase_process_class mPhase;
/* 0x110 */ JKRHeap* mpHeap;
/* 0x114 */ s16 mTimer;
/* 0x116 */ s16 field_0x116;
/* 0x118 */ u8 mProc;
/* 0x119 */ bool mIsDemoSave;
}; // Size: 0x11C
s32 d_GameOver_Create(u8 param_0);
void d_GameOver_Delete(unsigned int& param_0);
bool d_GameOver_Delete(unsigned int& i_id);
inline s32 d_GameOver_CheckDelete(unsigned int& id) {
if (id != UINT32_MAX) {
dGameover_c* gameover = (dGameover_c*)fopMsgM_SearchByID(id);
if (gameover != NULL) {
return gameover->deleteCheck();
} else {
return 0;
}
} else {
return 0;
}
return 0;
}
#endif /* D_D_GAMEOVER_H */
+2
View File
@@ -29,6 +29,8 @@ public:
/* 801AE974 */ virtual ~dKantera_icon_c();
void drawSelf() { mpKanteraIcon->draw(); }
private:
/* 0x04 */ dDlst_KanteraIcon_c* mpKanteraIcon;
/* 0x08 */ CPaneMgr* mpParent;
+14
View File
@@ -241,8 +241,22 @@ public:
/* 0x4 */ dStage_Mult_info* mInfo;
};
struct stage_sound_data {
/* 0x00 */ char field_0x0[8];
/* 0x08 */ Vec field_0x8;
/* 0x14 */ u8 field_0x14;
/* 0x15 */ u8 field_0x15;
/* 0x16 */ u8 field_0x16;
/* 0x17 */ u8 field_0x17;
/* 0x18 */ u8 field_0x18;
/* 0x19 */ u8 field_0x19;
/* 0x1A */ u8 field_0x1a;
}; // Size: 0x1C
struct dStage_SoundInfo_c {
// SOND
/* 0x0 */ int field_0x0;
/* 0x4 */ stage_sound_data* field_0x4;
};
class dStage_FileList_dt_c {
+86 -68
View File
@@ -1,37 +1,28 @@
#ifndef D_D_TIMER_H
#define D_D_TIMER_H
#include "SSystem/SComponent/c_xyz.h"
#include "JSystem/J2DGraph/J2DPane.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "SSystem/SComponent/c_phase.h"
#include "dolphin/types.h"
#include "dolphin/os/OSTime.h"
#include "SSystem/SComponent/c_xyz.h"
#include "d/msg/d_msg_class.h"
#include "d/msg/d_msg_object.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "JSystem/J2DGraph/J2DPane.h"
#include "dolphin/os/OSTime.h"
#include "dolphin/types.h"
s32 dTimer_createStockTimer();
class dDlst_TimerScrnDraw_c {
private:
/* 0x000 */ u8 field_0x000[0x3B0];
/* 0x3B0 */ int field_0x3B0;;
/* 0x3B4 */ int field_0x3B4;
/* 0x3B8 */ int field_0x3B8;
/* 0x3BC */ int field_0x3BC;
/* 0x3C0 */ u8 field_0x3C0[12];
/* 0x3CC */ int field_0x3CC;
/* 0x3D0 */ int field_0x3D0;
/* 0x3D4 */ int field_0x3D4;
/* 0x3D8 */ int field_0x3D8;
/* 0x3DC */ u8 field_0x3DC;
// /* 0x3DC */ u8 field_0x3DD;
/* 0x3DE */ u8 field_0x3DE;
/* 0x3DF */ u8 field_0x3DF;
/* 0x3E0 */ u8 field_0x3E0;
/* 0x3E1 */ u8 field_0x3E1;
/* 0x3E2 */ u8 mTimerVisible;
class dDlst_TimerScrnDraw_c : public dDlst_base_c {
public:
struct dDlst_TimerScrnDraw_UnkData {
/* 0x0 */ f32 field_0x0;
/* 0x4 */ f32 field_0x4;
/* 0x8 */ u16 field_0x8;
/* 0xA */ u16 field_0xa;
/* 0xC */ u8 field_0xc;
/* 0xD */ u8 field_0xd;
}; // Size: 0x10
/* 8025DB38 */ dDlst_TimerScrnDraw_c();
/* 8025DBE0 */ void setHIO();
/* 8025DFBC */ void setScreen(s32, JKRArchive*);
@@ -53,23 +44,86 @@ public:
/* 8025FF98 */ void closeAnime();
/* 802601E4 */ void createGetIn(cXyz);
/* 80260574 */ s32 createStart(u16);
/* 80260690 */ void draw();
/* 80260AA8 */ void checkStartAnimeEnd();
/* 80260AD4 */ void playBckAnimation(f32);
/* 80260B54 */ void drawPikari(int);
/* 80261394 */ ~dDlst_TimerScrnDraw_c();
void show() {
mTimerVisible = 1;
}
/* 80260690 */ virtual void draw();
/* 80261394 */ virtual ~dDlst_TimerScrnDraw_c();
void hide() {
mTimerVisible = 0;
}
void show() { mTimerVisible = 1; }
void hide() { mTimerVisible = 0; }
private:
/* 0x004 */ J2DScreen* mpScreen;
/* 0x008 */ J2DScreen* mpGetInScreen;
/* 0x00C */ void* mpGetInBck;
/* 0x010 */ CPaneMgr* mpParent;
/* 0x014 */ CPaneMgr* mpCowParent;
/* 0x018 */ CPaneMgr* mpTimeParent;
/* 0x01C */ CPaneMgr* mpImageParent;
/* 0x020 */ CPaneMgr* mpGetInParent;
/* 0x024 */ CPaneMgr* mpGetInRoot;
/* 0x028 */ CPaneMgr* mpGetInText;
/* 0x02C */ J2DPane* mTimerText[6][2];
/* 0x05C */ J2DPane* field_0x5c[2][2];
/* 0x06C */ J2DPane* field_0x6c;
/* 0x070 */ J2DPane* field_0x70;
/* 0x074 */ J2DPane* field_0x74;
/* 0x078 */ J2DPane* field_0x78;
/* 0x07C */ JKRArchive* mpArchive;
/* 0x080 */ dDlst_TimerScrnDraw_UnkData field_0x80[51];
/* 0x3B0 */ f32 field_0x3B0;
/* 0x3B4 */ f32 field_0x3B4;
/* 0x3B8 */ f32 field_0x3B8;
/* 0x3BC */ f32 field_0x3BC;
/* 0x3C0 */ f32 mTimerTransX;
/* 0x3C4 */ f32 mTimerTransY;
/* 0x3C8 */ s32 field_0x3C8;
/* 0x3CC */ int field_0x3CC;
/* 0x3D0 */ int field_0x3D0;
/* 0x3D4 */ int field_0x3D4;
/* 0x3D8 */ int field_0x3D8;
/* 0x3DC */ u8 mCowID;
/* 0x3DD */ u8 field_0x3DD;
/* 0x3DE */ u8 field_0x3DE;
/* 0x3DF */ u8 field_0x3DF;
/* 0x3E0 */ u8 field_0x3E0;
/* 0x3E1 */ u8 mTimerVisible;
/* 0x3E2 */ u8 mHIOType;
};
class dTimer_c : public msg_class {
public:
/* 8025CA0C */ void _create();
/* 8025CF04 */ void _execute();
/* 8025D33C */ int _draw();
/* 8025D3BC */ void _delete();
/* 8025D524 */ int deleteCheck();
/* 8025D618 */ void start(int, s16);
/* 8025D538 */ void start(int);
/* 8025D7C0 */ int stock_start(s16);
/* 8025D708 */ bool stock_start();
/* 8025D7E8 */ int stop(u8);
/* 8025D86C */ int restart(u8);
/* 8025D920 */ int end(int);
/* 8025D9E0 */ int deleteRequest();
/* 8025D9F0 */ int getTimeMs();
/* 8025DA54 */ int getLimitTimeMs();
/* 8025DA9C */ int getRestTimeMs();
/* 8025DB10 */ int isStart();
/* 802613DC */ int createGetIn(cXyz);
s32 createStart(u16 param_0) { return mp_tm_scrn->createStart(param_0); }
void show() { mp_tm_scrn->show(); }
void hide() { mp_tm_scrn->hide(); }
u8 isReadyFlag() { return mIsReady; }
private:
/* 0x0FC */ dDlst_TimerScrnDraw_c* mp_tm_scrn;
/* 0x100 */ JKRExpHeap* mpHeap;
/* 0x104 */ u8 field_0x104[4];
/* 0x108 */ request_of_phase_process_class mPhase;
@@ -92,42 +146,6 @@ private:
/* 0x16C */ u8 mDeleteCheck;
/* 0x16C */ u8 field_0x16D;
/* 0x16E */ u8 mIsReady;
public:
/* 8025CA0C */ void _create();
/* 8025CF04 */ void _execute();
/* 8025D33C */ int _draw();
/* 8025D3BC */ void _delete();
/* 8025D524 */ int deleteCheck();
/* 8025D618 */ void start(int, s16);
/* 8025D538 */ void start(int);
/* 8025D7C0 */ int stock_start(s16);
/* 8025D708 */ bool stock_start();
/* 8025D7E8 */ int stop(u8);
/* 8025D86C */ int restart(u8);
/* 8025D920 */ int end(int);
/* 8025D9E0 */ int deleteRequest();
/* 8025D9F0 */ int getTimeMs();
/* 8025DA54 */ int getLimitTimeMs();
/* 8025DA9C */ int getRestTimeMs();
/* 8025DB10 */ int isStart();
/* 802613DC */ int createGetIn(cXyz);
s32 createStart(u16 param_0) {
return ((dDlst_TimerScrnDraw_c*)field_0xfc)->createStart(param_0);
}
void show() {
((dDlst_TimerScrnDraw_c*)field_0xfc)->show();
}
void hide() {
((dDlst_TimerScrnDraw_c*)field_0xfc)->hide();
}
u8 isReadyFlag() {
return mIsReady;
}
};
#endif /* D_D_TIMER_H */
+1
View File
@@ -262,6 +262,7 @@ public:
/* 802844D0 */ virtual ~dMenu_save_c();
u8 getSaveStatus() { return mSaveStatus; }
u8 getEndStatus() { return mEndStatus; }
void setUseType(u8 type) { mUseType = type; }
private:
+1
View File
@@ -249,6 +249,7 @@ public:
bool isFadeNowCheck() { return mDoGph_gInf_c::getFader()->getStatus() == 1; }
private:
/* 0x0FC */ int field_0xfc;
/* 0x100 */ JKRExpHeap* mpHeap;
/* 0x104 */ STControl* mpStick;
/* 0x108 */ CSTControl* mpCStick;
+1
View File
@@ -229,6 +229,7 @@ public:
u16 getSubContentsStringType() { return mSubContentsStringType; }
private:
/* 0x0FC */ int field_0xfc;
/* 0x100 */ JKRExpHeap* mpHeap;
/* 0x104 */ JKRExpHeap* mpSubHeap;
/* 0x108 */ void* field_0x108;
+13 -32
View File
@@ -351,7 +351,7 @@ private:
/* 0x524 */ int field_0x524[2][2];
/* 0x534 */ J2DAnmTransformKey* mPikariBck;
/* 0x538 */ J2DAnmColorKey* mPikariBpk;
/* 0x53C */ J2DAnmColorKey* field_0x53c[3];
/* 0x53C */ J2DAnmColorKey* mpOxygenBpk[3];
/* 0x548 */ JUtility::TColor field_0x548;
/* 0x54C */ JUtility::TColor field_0x54c;
/* 0x550 */ f32 field_0x550;
@@ -367,36 +367,17 @@ private:
/* 0x578 */ f32 field_0x578;
/* 0x57C */ f32 field_0x57c;
/* 0x580 */ f32 field_0x580;
/* 0x584 */ f32 field_0x584;
/* 0x588 */ f32 field_0x588;
/* 0x58C */ f32 field_0x58c;
/* 0x590 */ f32 field_0x590;
/* 0x594 */ f32 field_0x594;
/* 0x598 */ f32 field_0x598;
/* 0x59C */ f32 field_0x59c;
/* 0x5A0 */ f32 field_0x5a0;
/* 0x5A4 */ f32 field_0x5a4;
/* 0x5A8 */ f32 field_0x5a8;
/* 0x5AC */ f32 field_0x5ac;
/* 0x5B0 */ f32 field_0x5b0;
/* 0x5B4 */ f32 field_0x5b4;
/* 0x5B8 */ f32 field_0x5b8;
/* 0x5BC */ f32 field_0x5bc;
/* 0x5C0 */ f32 field_0x5c0;
/* 0x5C4 */ f32 field_0x5c4;
/* 0x5C8 */ f32 field_0x5c8;
/* 0x5CC */ f32 field_0x5cc;
/* 0x5D0 */ f32 field_0x5d0;
/* 0x5D4 */ f32 field_0x5d4;
/* 0x5D8 */ f32 field_0x5d8;
/* 0x5DC */ f32 field_0x5dc;
/* 0x5E0 */ f32 field_0x5e0;
/* 0x5E4 */ f32 field_0x5e4;
/* 0x5E8 */ f32 field_0x5e8;
/* 0x5EC */ f32 field_0x5ec;
/* 0x5F0 */ f32 field_0x5f0;
/* 0x5F4 */ u8 field_0x5f4[0x8];
/* 0x5FC */ f32 field_0x5fc[3];
/* 0x584 */ f32 field_0x584[3];
/* 0x590 */ f32 field_0x590[3];
/* 0x59C */ f32 field_0x59c[3];
/* 0x5A8 */ f32 field_0x5a8[3];
/* 0x5B4 */ f32 field_0x5b4[3];
/* 0x5C0 */ f32 field_0x5c0[3];
/* 0x5CC */ f32 field_0x5cc[3];
/* 0x5D8 */ f32 field_0x5d8[3];
/* 0x5E4 */ f32 field_0x5e4[3];
/* 0x5F0 */ f32 field_0x5f0[3];
/* 0x5FC */ f32 mMeterAlphaRate[3];
/* 0x608 */ f32 field_0x608;
/* 0x60C */ f32 field_0x60c;
/* 0x610 */ f32 field_0x610[3];
@@ -429,7 +410,7 @@ private:
/* 0x738 */ f32 field_0x738;
/* 0x73C */ f32 field_0x73c;
/* 0x740 */ u16 field_0x740;
/* 0x742 */ u16 field_0x742[3];
/* 0x742 */ s16 field_0x742[3];
/* 0x748 */ u8 field_0x748[0xC];
/* 0x756 */ u16 field_0x754;
/* 0x756 */ s16 field_0x756;
+10
View File
@@ -159,6 +159,8 @@ public:
dMeter2_c* getMeterClass() { return mMeterClass; }
u8 getMiniGameItemSetFlag() { return mMiniGameItemSetFlag; }
s16 getMsgKeyWaitTimer() { return mMsgKeyWaitTimer; }
u8 getGameOverType() { return mGameOverType; }
void setGameOverType(u8 i_gameoverType) { mGameOverType = i_gameoverType; }
public:
/* 0x04 */ u8 unk4[4];
@@ -505,6 +507,14 @@ inline void dMeter2Info_setFloatingFlow(u16 param_0, s16 param_1, bool param_2)
g_meter2_info.setFloatingFlow(param_0, param_1, param_2);
}
inline u8 dMeter2Info_getGameOverType() {
return g_meter2_info.getGameOverType();
}
inline void dMeter2Info_setGameOverType(u8 i_gameoverType) {
g_meter2_info.setGameOverType(i_gameoverType);
}
char* dMeter2Info_getNumberTextureName(int pIndex);
void dMeter2Info_recieveLetter();
u8 dMeter2Info_getNewLetterNum();
+1 -2
View File
@@ -17,7 +17,6 @@ public:
/* 0xF4 */ u32 field_0xf4;
/* 0xF8 */ u16 mMode;
/* 0xFA */ u8 mSelectedChoiceIdx;
/* 0xFC */ int field_0xfc;
}; // Size: 0x100
}; // Size: 0xFC
#endif /* D_MSG_D_MSG_CLASS_H */
+1
View File
@@ -162,6 +162,7 @@ public:
u8 getSelectPushFlag() { return mSelectPushFlag; }
u8 getSelectCancelPos() { return mSelectCancelPos; }
/* 0x0FC */ int field_0xfc;
/* 0x100 */ msg_class* field_0x100;
/* 0x104 */ dMsgScrnBase_c* mpScrnDraw;
/* 0x108 */ dMsgString_c* mpMsgString;
+4 -1
View File
@@ -36,8 +36,10 @@ public:
}
void translate(f32 x, f32 y) { getPanePtr()->translate(x, y); }
void scale(f32 h, f32 v) { getPanePtr()->scale(h, v); }
void resize(f32 x, f32 y) { getPanePtr()->resize(x, y); }
void move(f32 x, f32 y) { getPanePtr()->move(x, y); }
void scaleAnimeStart(s16 v) { mScaleAnime = v; }
void colorAnimeStart(s16 start) { mColorAnime = start; }
@@ -60,6 +62,7 @@ public:
f32 getInitPosY() { return mInitPos.y; }
JUtility::TColor getInitBlack() { return mInitBlack; }
JUtility::TColor getInitWhite() { return mInitWhite; }
private:
/* 0x1C */ void* mpFirstStackSize;
+6
View File
@@ -683,6 +683,12 @@ public:
void setTotalTime(s64 i_time) { mTotalTime = i_time; }
s64 getTotalTime() const { return mTotalTime; }
void addDeathCount() {
if (mDeathCount < 0xFFFF) {
mDeathCount++;
}
}
private:
/* 0x00 */ u32 unk0;
/* 0x04 */ u32 unk4;
+9 -4
View File
@@ -7,7 +7,7 @@
struct msg_process_profile_definition {
/* 0x00 */ leaf_process_profile_definition mBase;
/* 0x24 */ leafdraw_method_class* mSubMtd; // Subclass methods
/* 0x24 */ leafdraw_method_class* mSubMtd; // Subclass methods
};
struct fopMsg_prm_class {
@@ -38,6 +38,9 @@ typedef int (*fopMsgCreateFunc)(void*);
JKRExpHeap* fopMsgM_createExpHeap(u32, JKRHeap*);
u32 fopMsgM_Create(s16, fopMsgCreateFunc, void*);
s32 fopMsgM_create(s16 param_0, fopAc_ac_c* param_1, cXyz* param_2, u32* param_3, u32* param_4,
fopMsgCreateFunc createFunc);
void fopMsgM_Delete(void* process);
fopMsg_prm_class* fopMsgM_GetAppend(void* msg);
void fopMsgM_setMessageID(unsigned int);
void fopMsgM_destroyExpHeap(JKRExpHeap*);
@@ -48,9 +51,11 @@ msg_class* fopMsgM_SearchByID(unsigned int param_0);
char* fopMsgM_messageGet(char* msg, u32 string_id);
s32 fop_Timer_create(s16 param_0, u8 param_1, u32 param_2, u8 param_3, u8 param_4, f32 param_5,
f32 param_6, f32 param_7, f32 param_8, fopMsgCreateFunc createFunc);
inline s32 fopMsgM_Timer_create(s16 param_0, u8 param_1, u32 param_2, u8 param_3, u8 param_4, f32 param_5,
f32 param_6, f32 param_7, f32 param_8, fopMsgCreateFunc createFunc) {
return fop_Timer_create(param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, createFunc);
inline s32 fopMsgM_Timer_create(s16 param_0, u8 param_1, u32 param_2, u8 param_3, u8 param_4,
f32 param_5, f32 param_6, f32 param_7, f32 param_8,
fopMsgCreateFunc createFunc) {
return fop_Timer_create(param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7,
param_8, createFunc);
}
#endif
+3
View File
@@ -55,6 +55,8 @@ public:
static void waitBlanking(int wait) { JFWDisplay::getManager()->waitBlanking(wait); }
static f32 getWidthF() { return 608.0f; }
static f32 getHeightF() { return 448.0f; }
static f32 getWidth() { return 608.0f; }
static f32 getHeight() { return 448.0f; }
static f32 getMinYF() { return 0.0f; }
static f32 getMinXF() { return 0.0f; }
static int getMinY() { return 0; }
@@ -66,6 +68,7 @@ public:
static void setFadeRate(f32 rate) { mFadeRate = rate; }
static f32 getFadeRate() { return mFadeRate; }
static bloom_c* getBloom() { return &m_bloom; }
static GXColor& getFadeColor() { return mFadeColor; }
static GXTexObj mFrameBufferTexObj;
static GXTexObj mZbufferTexObj;
+82 -100
View File
@@ -22,71 +22,71 @@ const cSAngle cSAngle::_270(static_cast<s16>(-0x4000));
/* 80270F68-80270F98 0030+00 s=0 e=33 z=2 None .text __ct__7cSAngleFRC7cSAngle */
cSAngle::cSAngle(const cSAngle& angle) {
this->Val(angle);
Val(angle);
}
/* 80270F98-80270FC8 0030+00 s=14 e=50 z=4 None .text __ct__7cSAngleFs */
cSAngle::cSAngle(s16 angle) {
this->Val(angle);
Val(angle);
}
/* 80270FC8-80270FF8 0030+00 s=0 e=22 z=0 None .text __ct__7cSAngleFf */
cSAngle::cSAngle(float angle) {
this->Val(angle);
cSAngle::cSAngle(f32 angle) {
Val(angle);
}
/* 80270FF8-80271004 000C+00 s=2 e=6 z=0 None .text Val__7cSAngleFRC7cSAngle */
void cSAngle::Val(const cSAngle& other) {
this->mAngle = other.mAngle;
mAngle = other.mAngle;
}
/* 80271004-8027100C 0008+00 s=4 e=7 z=0 None .text Val__7cSAngleFs */
void cSAngle::Val(s16 val) {
this->mAngle = val;
mAngle = val;
}
/* 8027100C-80271030 0024+00 s=1 e=8 z=0 None .text Val__7cSAngleFf */
void cSAngle::Val(float f) {
this->mAngle = 182.04445f * f;
void cSAngle::Val(f32 degree) {
mAngle = cAngle::Degree_to_SAngle(degree);
}
/* 80271030-80271064 0034+00 s=0 e=11 z=0 None .text Degree__7cSAngleCFv */
float cSAngle::Degree(void) const {
return (360.0f / 65536.0f) * this->mAngle;
f32 cSAngle::Degree() const {
return cAngle::SAngle_to_Degree(mAngle);
}
/* 80271064-80271098 0034+00 s=3 e=0 z=0 None .text Radian__7cSAngleCFv */
float cSAngle::Radian(void) const {
return 9.58738E-5f * this->mAngle;
f32 cSAngle::Radian() const {
return cAngle::SAngle_to_Radian(mAngle);
}
/* 80271098-802710CC 0034+00 s=0 e=1 z=0 None .text Norm__7cSAngleCFv */
float cSAngle::Norm(void) const {
return 3.0517578E-5f * this->mAngle;
f32 cSAngle::Norm() const {
return cAngle::SAngle_to_Normal(mAngle);
}
/* 802710CC-802710E8 001C+00 s=0 e=5 z=1 None .text Abs__7cSAngleCFv */
s16 cSAngle::Abs(void) const {
s16 cSAngle::Abs() const {
return mAngle >= 0 ? mAngle : -mAngle;
}
/* 802710E8-802710F8 0010+00 s=2 e=22 z=2 None .text Inv__7cSAngleCFv */
s16 cSAngle::Inv(void) const {
s16 cSAngle::Inv() const {
return mAngle - 0x8000;
}
/* 802710F8-80271120 0028+00 s=0 e=6 z=1 None .text Sin__7cSAngleCFv */
float cSAngle::Sin(void) const {
return sin(this->Radian());
f32 cSAngle::Sin() const {
return sin(Radian());
}
/* 80271120-80271148 0028+00 s=0 e=8 z=1 None .text Cos__7cSAngleCFv */
float cSAngle::Cos(void) const {
return cos(this->Radian());
f32 cSAngle::Cos() const {
return cos(Radian());
}
/* 80271148-80271174 002C+00 s=2 e=8 z=0 None .text __mi__7cSAngleCFv */
cSAngle cSAngle::operator-(void) const {
cSAngle cSAngle::operator-() const {
return cSAngle(static_cast<s16>(-mAngle));
}
@@ -111,149 +111,134 @@ void cSAngle::operator-=(const cSAngle& other) {
}
/* 802711FC-80271228 002C+00 s=0 e=5 z=0 None .text __pl__7cSAngleCFs */
cSAngle cSAngle::operator+(short other) const {
cSAngle cSAngle::operator+(s16 other) const {
return cSAngle(static_cast<s16>(mAngle + other));
}
/* 80271228-80271254 002C+00 s=0 e=9 z=3 None .text __mi__7cSAngleCFs */
cSAngle cSAngle::operator-(short other) const {
cSAngle cSAngle::operator-(s16 other) const {
return cSAngle(static_cast<s16>(mAngle - other));
}
/* 80271254-80271264 0010+00 s=0 e=1 z=0 None .text __apl__7cSAngleFs */
void cSAngle::operator+=(short other) {
void cSAngle::operator+=(s16 other) {
mAngle += other;
}
/* 80271264-802712B4 0050+00 s=0 e=31 z=0 None .text __ml__7cSAngleCFf */
cSAngle cSAngle::operator*(float f1) const {
cSAngle cSAngle::operator*(f32 f1) const {
return cSAngle(static_cast<s16>(mAngle * f1));
}
/* 802712B4-802712F4 0040+00 s=0 e=3 z=0 None .text __amu__7cSAngleFf */
void cSAngle::operator*=(float f1) {
this->mAngle *= f1;
void cSAngle::operator*=(f32 f1) {
mAngle *= f1;
}
/* 802712F4-80271320 002C+00 s=0 e=2 z=0 None .text __pl__FsRC7cSAngle */
cSAngle operator+(short other, const cSAngle& angle) {
cSAngle operator+(s16 other, const cSAngle& angle) {
return cSAngle(static_cast<s16>(other + angle.Val()));
}
/* 80271320-8027134C 002C+00 s=0 e=5 z=0 None .text __mi__FsRC7cSAngle */
cSAngle operator-(short other, const cSAngle& angle) {
cSAngle operator-(s16 other, const cSAngle& angle) {
return cSAngle(static_cast<s16>(other - angle.Val()));
}
/* 8027134C-8027137C 0030+00 s=0 e=3 z=0 None .text __ct__7cDegreeFf */
cDegree::cDegree(float f) {
this->Val(f);
}
struct cAngle {
template <typename T>
static T Adjust(T f1, T f2, T f3);
};
template <typename T>
T cAngle::Adjust(T f1, T f2, T f3) {
while (f1 >= f3) {
f1 -= f3 - f2;
}
while (f1 < f2) {
f1 += f3 - f2;
}
return f1;
cDegree::cDegree(f32 f) {
Val(f);
}
/* 8027137C-802713BC 0040+00 s=1 e=0 z=0 None .text Formal__7cDegreeFv */
cDegree& cDegree::Formal(void) {
cDegree& cDegree::Formal() {
mDegree = cAngle::Adjust<f32>(mDegree, -180.0f, 180.0f);
// mDegree = cAngle_NS_Adjust(mDegree, -180.0f, 180.0f);
return *this;
}
/* 802713BC-802713E0 0024+00 s=1 e=0 z=0 None .text Val__7cDegreeFf */
void cDegree::Val(float f) {
void cDegree::Val(f32 f) {
mDegree = f;
this->Formal();
Formal();
}
/* 802713E0-802713F0 0010+00 s=3 e=0 z=0 None .text Radian__7cDegreeCFv */
float cDegree::Radian(void) const {
return 0.017453292f * mDegree;
f32 cDegree::Radian() const {
return cAngle::Degree_to_Radian(mDegree);
}
/* 802713F0-80271418 0028+00 s=0 e=1 z=0 None .text Sin__7cDegreeCFv */
float cDegree::Sin(void) const {
return sin(this->Radian());
f32 cDegree::Sin() const {
return sin(Radian());
}
/* 80271418-80271440 0028+00 s=0 e=2 z=0 None .text Cos__7cDegreeCFv */
float cDegree::Cos(void) const {
return cos(this->Radian());
f32 cDegree::Cos() const {
return cos(Radian());
}
/* 80271440-80271468 0028+00 s=0 e=1 z=0 None .text Tan__7cDegreeCFv */
float cDegree::Tan(void) const {
return tan(this->Radian());
f32 cDegree::Tan() const {
return tan(Radian());
}
/* 80271468-80271498 0030+00 s=1 e=0 z=0 None .text __ct__7cSPolarFRC4cXyz */
cSPolar::cSPolar(const cXyz& xyz) {
this->Val(xyz);
Val(xyz);
}
/* 80271498-80271558 00C0+00 s=2 e=0 z=0 None .text Formal__7cSPolarFv */
cSPolar& cSPolar::Formal(void) {
cSPolar& cSPolar::Formal() {
if (mRadial < 0.0f) {
mRadial = -mRadial;
cSAngle tmp(static_cast<s16>(-0x8000));
mAngle1.Val(tmp - mAngle1);
mAngle2.Val(mAngle2.Inv());
}
if (mAngle1.Val() < 0 && mAngle1.Val() != -0x8000) {
mAngle1.Val(-mAngle1);
mAngle2.Val(mAngle2.Inv());
}
return *this;
}
/* 80271558-802715BC 0064+00 s=1 e=0 z=0 None .text Val__7cSPolarFfss */
void cSPolar::Val(float f, short s1, short s2) {
void cSPolar::Val(f32 f, s16 s1, s16 s2) {
mRadial = f;
mAngle1 = cSAngle(s1);
mAngle2 = cSAngle(s2);
this->Formal();
Formal();
}
inline double square(float f) {
inline double square(f32 f) {
return f * f;
}
/* 802715BC-802716EC 0130+00 s=1 e=0 z=0 None .text Val__7cSPolarFRC4cXyz */
void cSPolar::Val(const cXyz& xyz) {
float x, y, z, tmp4;
f32 x, y, z, tmp4;
x = xyz.x;
y = xyz.y;
z = xyz.z;
double tmp = square(z) + square(x);
double tmp2 = square(y) + tmp;
tmp4 = (tmp > 0.0) ? (float)sqrt(tmp) : 0.0f;
mRadial = (tmp2 > 0.0) ? (float)sqrt(tmp2) : 0.0f;
mAngle1.Val(static_cast<s16>(cM_atan2f(tmp4, y) * 10430.378f));
mAngle2.Val(static_cast<s16>(cM_atan2f(x, z) * 10430.378f));
this->Formal();
tmp4 = (tmp > 0.0) ? (f32)sqrt(tmp) : 0.0f;
mRadial = (tmp2 > 0.0) ? (f32)sqrt(tmp2) : 0.0f;
mAngle1.Val(cAngle::Radian_to_SAngle(cM_atan2f(tmp4, y)));
mAngle2.Val(cAngle::Radian_to_SAngle(cM_atan2f(x, z)));
Formal();
}
/* 802716EC-802717B4 00C8+00 s=1 e=1 z=0 None .text Xyz__7cSPolarCFv */
cXyz cSPolar::Xyz(void) const {
float ang1Cos;
float ang2Cos;
float ang1Sin = mRadial * (float)sin(mAngle1.Radian());
ang2Cos = (float)cos(mAngle2.Radian());
ang1Cos = mRadial * (float)cos(mAngle1.Radian());
float ang2Sin = sin(mAngle2.Radian());
cXyz cSPolar::Xyz() const {
f32 ang1Cos;
f32 ang2Cos;
f32 ang1Sin = mRadial * (f32)sin(mAngle1.Radian());
ang2Cos = (f32)cos(mAngle2.Radian());
ang1Cos = mRadial * (f32)cos(mAngle1.Radian());
f32 ang2Sin = sin(mAngle2.Radian());
return cXyz(ang1Sin * ang2Sin, ang1Cos, ang1Sin * ang2Cos);
}
@@ -264,36 +249,37 @@ void cSPolar::Globe(cSGlobe* globe) const {
/* 802717F0-80271820 0030+00 s=0 e=6 z=0 None .text __ct__7cSGlobeFRC7cSGlobe */
cSGlobe::cSGlobe(const cSGlobe& other) {
this->Val(other);
Val(other);
}
/* 80271820-80271850 0030+00 s=0 e=3 z=0 None .text __ct__7cSGlobeFfss */
cSGlobe::cSGlobe(float f, short s1, short s2) {
this->Val(f, s1, s2);
cSGlobe::cSGlobe(f32 f, s16 s1, s16 s2) {
Val(f, s1, s2);
}
/* 80271850-80271880 0030+00 s=1 e=4 z=0 None .text __ct__7cSGlobeFfRC7cSAngleRC7cSAngle */
cSGlobe::cSGlobe(float f, const cSAngle& a1, const cSAngle& a2) {
this->Val(f, a1, a2);
cSGlobe::cSGlobe(f32 f, const cSAngle& a1, const cSAngle& a2) {
Val(f, a1, a2);
}
/* 80271880-802718B0 0030+00 s=0 e=35 z=3 None .text __ct__7cSGlobeFRC4cXyz */
cSGlobe::cSGlobe(const cXyz& xyz) {
this->Val(xyz);
Val(xyz);
}
/* 802718B0-8027196C 00BC+00 s=5 e=0 z=0 None .text Formal__7cSGlobeFv */
cSGlobe& cSGlobe::Formal(void) {
cSGlobe& cSGlobe::Formal() {
if (mRadius < 0.0f) {
mRadius = -mRadius;
mAzimuth = -mAzimuth;
mInclination.Val(mInclination.Inv());
}
if (mAzimuth.Val() < -0x4000 || 0x4000 < mAzimuth.Val()) {
// mAzimuth.mirrorAtMaxNeg();
mAzimuth = cSAngle((s16)-0x8000) - mAzimuth;
mInclination.Val(mInclination.Inv());
}
return *this;
}
@@ -302,36 +288,36 @@ void cSGlobe::Val(const cSGlobe& other) {
mRadius = other.mRadius;
mAzimuth = other.mAzimuth;
mInclination = other.mInclination;
this->Formal();
Formal();
}
/* 802719A4-80271A08 0064+00 s=2 e=3 z=0 None .text Val__7cSGlobeFfss */
void cSGlobe::Val(float f, short s1, short s2) {
void cSGlobe::Val(f32 f, s16 s1, s16 s2) {
mRadius = f;
mAzimuth = cSAngle(s1);
mInclination = cSAngle(s2);
this->Formal();
Formal();
}
/* 80271A08-80271A70 0068+00 s=1 e=11 z=0 None .text Val__7cSGlobeFfRC7cSAngleRC7cSAngle */
void cSGlobe::Val(float f, const cSAngle& a1, const cSAngle& a2) {
void cSGlobe::Val(f32 f, const cSAngle& a1, const cSAngle& a2) {
mRadius = f;
mAzimuth = cSAngle(a1.Val());
mInclination = cSAngle(a2.Val());
this->Formal();
Formal();
}
/* 80271A70-80271AB4 0044+00 s=1 e=38 z=0 None .text Val__7cSGlobeFRC4cXyz */
void cSGlobe::Val(const cXyz& xyz) {
cSPolar csp(xyz);
csp.Globe(this);
this->Formal();
Formal();
}
/* 80271AB4-80271AF4 0040+00 s=1 e=38 z=0 None .text Xyz__7cSGlobeCFv */
cXyz cSGlobe::Xyz(void) const {
cXyz cSGlobe::Xyz() const {
cSPolar csp;
this->Polar(&csp);
Polar(&csp);
return csp.Xyz();
}
@@ -340,18 +326,14 @@ void cSGlobe::Polar(cSPolar* csp) const {
csp->Val(mRadius, 0x4000 - mAzimuth.Val(), mInclination.Val());
}
/* ############################################################################################## */
/* 8045523C-80455240 00383C 0004+00 1/1 0/0 0/0 .sdata2 @2744 */
SECTION_SDATA2 static f32 lit_2744 = 1.0f;
/* 80271B30-80271B7C 004C+00 s=0 e=3 z=0 None .text Norm__7cSGlobeCFv */
cXyz cSGlobe::Norm(void) const {
cXyz cSGlobe::Norm() const {
cSGlobe glob(1.0f, mAzimuth, mInclination);
return glob.Xyz();
}
/* 80271B7C-80271BA8 002C+00 s=0 e=2 z=0 None .text Invert__7cSGlobeFv */
cSGlobe& cSGlobe::Invert(void) {
cSGlobe& cSGlobe::Invert() {
mRadius = -mRadius;
return this->Formal();
return Formal();
}
+231 -309
View File
@@ -1,159 +1,115 @@
//
// Generated By: dol2asm
// Translation Unit: d/d_cam_param
//
/**
* d_cam_param.cpp
*
*/
#include "d/d_cam_param.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_math.h"
#include "d/com/d_com_inf_game.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" void rationalBezierRatio__8dCamMathFff();
extern "C" void zoomFovy__8dCamMathFff();
extern "C" void __dt__7cDegreeFv();
extern "C" void xyzRotateX__8dCamMathFR4cXyz7cSAngle();
extern "C" void xyzRotateY__8dCamMathFR4cXyz7cSAngle();
extern "C" void xyzHorizontalDistance__8dCamMathFR4cXyzR4cXyz();
extern "C" void __ct__9dCstick_cFv();
extern "C" bool Shift__9dCstick_cFUl();
extern "C" void __ct__11dCamBGChk_cFv();
extern "C" void __ct__11dCamParam_cFl();
extern "C" void __dt__11dCamParam_cFv();
extern "C" void Change__11dCamParam_cFl();
extern "C" void SearchStyle__11dCamParam_cFUl();
extern "C" void __ct__11dCamSetup_cFv();
extern "C" void __dt__11dCamSetup_cFv();
extern "C" void CheckLatitudeRange__11dCamSetup_cFPs();
extern "C" void PlayerHideDist__11dCamSetup_cFv();
extern "C" void __dt__9dCstick_cFv();
extern "C" extern char const* const d_d_cam_param__stringBase0;
//
// External References:
//
extern "C" void mDoMtx_XrotS__FPA4_fs();
extern "C" void mDoMtx_YrotS__FPA4_fs();
extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci();
extern "C" void EventRecoverNotime__9dCamera_cFv();
extern "C" void dCam_getBody__Fv();
extern "C" void cM_atan2f__Fff();
extern "C" void __ct__7cDegreeFf();
extern "C" void Sin__7cDegreeCFv();
extern "C" void Cos__7cDegreeCFv();
extern "C" void __dl__FPv();
//
// Declarations:
//
/* ############################################################################################## */
/* 804527C8-804527D0 000DC8 0004+04 2/2 0/0 0/0 .sdata2 @3769 */
SECTION_SDATA2 static f32 lit_3769[1 + 1 /* padding */] = {
0.0f,
/* padding */
0.0f,
};
/* 804527D0-804527D8 000DD0 0008+00 1/1 0/0 0/0 .sdata2 @3770 */
SECTION_SDATA2 static f64 lit_3770 = 1.0;
/* 804527D8-804527E0 000DD8 0008+00 1/1 0/0 0/0 .sdata2 @3771 */
SECTION_SDATA2 static f64 lit_3771 = -1.0;
/* 804527E0-804527E8 000DE0 0008+00 1/1 0/0 0/0 .sdata2 @3772 */
SECTION_SDATA2 static f64 lit_3772 = 2.0;
/* 804527E8-804527F0 000DE8 0008+00 1/1 0/0 0/0 .sdata2 @3773 */
SECTION_SDATA2 static f64 lit_3773 = 4.0;
/* 804527F0-804527F8 000DF0 0008+00 1/1 0/0 0/0 .sdata2 @3774 */
SECTION_SDATA2 static u8 lit_3774[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 804527F8-80452800 000DF8 0008+00 1/1 0/0 0/0 .sdata2 @3775 */
SECTION_SDATA2 static f64 lit_3775 = 1e-07;
/* 80452800-80452808 000E00 0008+00 1/1 0/0 0/0 .sdata2 @3776 */
SECTION_SDATA2 static f64 lit_3776 = -1e-07;
/* 80452808-80452810 000E08 0008+00 1/1 0/0 0/0 .sdata2 @3777 */
SECTION_SDATA2 static f64 lit_3777 = 1.0000000116860974e-07;
/* 8008813C-80088284 082A7C 0148+00 0/0 12/12 0/0 .text rationalBezierRatio__8dCamMathFff
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamMath::rationalBezierRatio(f32 param_0, f32 param_1) {
nofralloc
#include "asm/d/d_cam_param/rationalBezierRatio__8dCamMathFff.s"
f32 dCamMath::rationalBezierRatio(f32 param_0, f32 param_1) {
f64 var_f31;
f32 var_f1 = param_0;
if (var_f1 >= 0.0f) {
var_f31 = 1.0;
} else {
var_f31 = -1.0;
var_f1 = -var_f1;
}
f64 temp_f2 = 2.0 * var_f1;
f64 temp_f2_2 = ((temp_f2 * param_1) - temp_f2) - (2.0 * param_1);
f64 temp_f29 = -temp_f2_2;
f64 temp_f28 = temp_f29 - 1.0;
f64 var_f1_2 = (temp_f2_2 * temp_f2_2) - (4.0 * temp_f28 * var_f1);
if (var_f1_2 > 0.0) {
var_f1_2 = sqrt(var_f1_2);
} else {
var_f1_2 = 0.0;
}
f64 temp = temp_f29 - var_f1_2;
f64 temp_f2_3 = temp_f28 * 2.0;
if (temp_f2_3 > 1e-07 || temp_f2_3 < -1e-07) {
f64 temp_f2_4 = temp / temp_f2_3;
f64 temp_f3 = temp_f2_4 * temp_f2_4;
f64 temp_f4 = 1.0 - temp_f2_4;
f64 temp_f1 = temp_f3 + ((temp_f4 * temp_f4) + (param_1 * (2.0 * temp_f4 * temp_f2_4)));
if (temp_f1 > 1.0000000116860974e-07) {
return var_f31 * (temp_f3 / temp_f1);
}
return 0.0f;
}
return 0.0f;
}
#pragma pop
/* ############################################################################################## */
/* 80452810-80452814 000E10 0004+00 2/2 0/0 0/0 .sdata2 @3791 */
SECTION_SDATA2 static f32 lit_3791 = 1.0f;
/* 80452814-80452818 000E14 0004+00 1/1 0/0 0/0 .sdata2 @3807 */
SECTION_SDATA2 static f32 lit_3807 = 57.2957763671875f;
SECTION_SDATA2 static f32 lit_3791 = 1.0f; // placed in a weird order, so can't remove until fixed
/* 80088284-800882E0 082BC4 005C+00 0/0 1/1 0/0 .text zoomFovy__8dCamMathFff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamMath::zoomFovy(f32 param_0, f32 param_1) {
nofralloc
#include "asm/d/d_cam_param/zoomFovy__8dCamMathFff.s"
}
#pragma pop
f32 dCamMath::zoomFovy(f32 param_0, f32 param_1) {
cDegree deg(param_0);
/* 800882E0-8008831C 082C20 003C+00 0/0 1/1 0/0 .text __dt__7cDegreeFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm cDegree::~cDegree() {
extern "C" asm void __dt__7cDegreeFv() {
nofralloc
#include "asm/d/d_cam_param/__dt__7cDegreeFv.s"
f32 radian = cM_atan2f(deg.Sin(), param_1 * deg.Cos());
return cAngle::r2d(radian);
}
#pragma pop
/* 8008831C-80088384 082C5C 0068+00 0/0 1/1 0/0 .text xyzRotateX__8dCamMathFR4cXyz7cSAngle */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamMath::xyzRotateX(cXyz& param_0, cSAngle param_1) {
nofralloc
#include "asm/d/d_cam_param/xyzRotateX__8dCamMathFR4cXyz7cSAngle.s"
cXyz dCamMath::xyzRotateX(cXyz& i_xyz, cSAngle i_angle) {
Mtx m;
cXyz rot_xyz;
s16 angle = i_angle.Val();
mDoMtx_XrotS(m, angle);
PSMTXMultVec(m, &i_xyz, &rot_xyz);
return rot_xyz;
}
#pragma pop
/* 80088384-800883EC 082CC4 0068+00 0/0 13/13 0/0 .text xyzRotateY__8dCamMathFR4cXyz7cSAngle */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamMath::xyzRotateY(cXyz& param_0, cSAngle param_1) {
nofralloc
#include "asm/d/d_cam_param/xyzRotateY__8dCamMathFR4cXyz7cSAngle.s"
cXyz dCamMath::xyzRotateY(cXyz& i_xyz, cSAngle i_angle) {
Mtx m;
cXyz rot_xyz;
s16 angle = i_angle.Val();
mDoMtx_YrotS(m, angle);
PSMTXMultVec(m, &i_xyz, &rot_xyz);
return rot_xyz;
}
#pragma pop
/* 800883EC-80088434 082D2C 0048+00 0/0 9/9 0/0 .text
* xyzHorizontalDistance__8dCamMathFR4cXyzR4cXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamMath::xyzHorizontalDistance(cXyz& param_0, cXyz& param_1) {
nofralloc
#include "asm/d/d_cam_param/xyzHorizontalDistance__8dCamMathFR4cXyzR4cXyz.s"
f32 dCamMath::xyzHorizontalDistance(cXyz& i_posA, cXyz& i_posB) {
f64 x = i_posA.x - i_posB.x;
f64 z = i_posA.z - i_posB.z;
return sqrt((x * x) + (z * z));
}
#pragma pop
/* ############################################################################################## */
/* 803AC500-803AC50C 009620 000C+00 2/2 0/0 0/0 .data __vt__11dCamSetup_c */
@@ -179,98 +135,56 @@ SECTION_DATA extern void* __vt__9dCstick_c[3 + 1 /* padding */] = {
NULL,
};
/* 80452818-8045281C 000E18 0004+00 3/3 0/0 0/0 .sdata2 @3991 */
SECTION_SDATA2 static f32 lit_3991 = 1.0f / 5.0f;
/* 8045281C-80452820 000E1C 0004+00 1/1 0/0 0/0 .sdata2 @3992 */
SECTION_SDATA2 static f32 lit_3992 = 19.0f / 20.0f;
/* 80088434-8008845C 082D74 0028+00 1/1 0/0 0/0 .text __ct__9dCstick_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dCstick_c::dCstick_c() {
nofralloc
#include "asm/d/d_cam_param/__ct__9dCstick_cFv.s"
dCstick_c::dCstick_c() {
mThresholdLow = 0.2f;
mThresholdHigh = 0.95f;
mInputSpeed = 6;
}
#pragma pop
/* 8008845C-80088464 082D9C 0008+00 0/0 1/1 0/0 .text Shift__9dCstick_cFUl */
bool dCstick_c::Shift(u32 param_0) {
return false;
}
/* ############################################################################################## */
/* 80452820-80452824 000E20 0004+00 1/1 0/0 0/0 .sdata2 @4001 */
SECTION_SDATA2 static f32 lit_4001 = 32.0f;
/* 80452824-80452828 000E24 0004+00 2/2 0/0 0/0 .sdata2 @4002 */
SECTION_SDATA2 static f32 lit_4002 = 25.0f;
/* 80452828-8045282C 000E28 0004+00 2/2 0/0 0/0 .sdata2 @4003 */
SECTION_SDATA2 static f32 lit_4003 = 2.0f / 5.0f;
/* 8045282C-80452830 000E2C 0004+00 1/1 0/0 0/0 .sdata2 @4004 */
SECTION_SDATA2 static f32 lit_4004 = 3.0f / 5.0f;
/* 80452830-80452834 000E30 0004+00 1/1 0/0 0/0 .sdata2 @4005 */
SECTION_SDATA2 static f32 lit_4005 = 3.0f;
/* 80452834-80452838 000E34 0004+00 2/2 0/0 0/0 .sdata2 @4006 */
SECTION_SDATA2 static f32 lit_4006 = 15.0f;
/* 80452838-8045283C 000E38 0004+00 2/2 0/0 0/0 .sdata2 @4007 */
SECTION_SDATA2 static f32 lit_4007 = 0.5f;
/* 8045283C-80452840 000E3C 0004+00 2/2 0/0 0/0 .sdata2 @4008 */
SECTION_SDATA2 static f32 lit_4008 = 3.0f / 10.0f;
/* 80452840-80452844 000E40 0004+00 2/2 0/0 0/0 .sdata2 @4009 */
SECTION_SDATA2 static f32 lit_4009 = 10.0f;
/* 80452844-80452848 000E44 0004+00 2/2 0/0 0/0 .sdata2 @4010 */
SECTION_SDATA2 static f32 lit_4010 = 1.0f / 10.0f;
/* 80452848-8045284C 000E48 0004+00 2/2 0/0 0/0 .sdata2 @4011 */
SECTION_SDATA2 static f32 lit_4011 = 0.75f;
/* 8045284C-80452850 000E4C 0004+00 2/2 0/0 0/0 .sdata2 @4012 */
SECTION_SDATA2 static f32 lit_4012 = 80.0f;
/* 80452850-80452854 000E50 0004+00 1/1 0/0 0/0 .sdata2 @4013 */
SECTION_SDATA2 static f32 lit_4013 = 2.0f / 25.0f;
/* 80452854-80452858 000E54 0004+00 2/2 0/0 0/0 .sdata2 @4014 */
SECTION_SDATA2 static f32 lit_4014 = 120.0f;
/* 80088464-800884F0 082DA4 008C+00 1/1 0/0 0/0 .text __ct__11dCamBGChk_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dCamBGChk_c::dCamBGChk_c() {
nofralloc
#include "asm/d/d_cam_param/__ct__11dCamBGChk_cFv.s"
}
#pragma pop
dCamBGChk_c::dCamBGChk_c() {
mFloorMargin = 32.0f;
/* ############################################################################################## */
/* 8037A7E0-8037A7E0 006E40 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8037A7E0 = "camstyle.dat";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_8037A7ED = "\0\0";
#pragma pop
mChkInfo[0].mDistance = lit_3791;
mChkInfo[0].mChkAngle = 25.0f;
mChkInfo[0].mWeightH = 0.4f;
mChkInfo[0].mWeightL = 0.6f;
mChkInfo[1].mDistance = 3.0f;
mChkInfo[1].mChkAngle = 15.0f;
mChkInfo[1].mWeightH = 0.5f;
mChkInfo[1].mWeightL = 0.3f;
mFwdBackMargin = 10.0f;
mFwdCushion = 0.1f;
field_0x2c = 0.2f;
mGazeBackMargin = 10.0f;
mCornerCushion = 0.75f;
mWallCushion = 0.5f;
mWallUpDistance = 80.0f;
mWallBackCushion = 0.08f;
mCornerAngleMax = 120.0f;
}
/* 800884F0-8008858C 082E30 009C+00 0/0 1/1 0/0 .text __ct__11dCamParam_cFl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dCamParam_c::dCamParam_c(s32 param_0) {
nofralloc
#include "asm/d/d_cam_param/__ct__11dCamParam_cFl.s"
dCamParam_c::dCamParam_c(s32 i_styleID) {
u8* cam_data = (u8*)dComIfG_getObjectRes(dComIfGp_getCameraParamFileName(0), "camstyle.dat");
mCamStyleData = (dCamStyleData::StyleData*)(cam_data + 8);
mStyleNum = ((dCamStyleData*)cam_data)->mStyleNum;
Change(i_styleID);
mMapToolFovy = 0xFF;
mMapToolArg0 = 0xFF;
mMapToolArg1 = 0xFF;
mMapToolArg2 = -1;
}
#pragma pop
/* 8008858C-800885D4 082ECC 0048+00 1/0 1/1 0/0 .text __dt__11dCamParam_cFv */
#pragma push
@@ -284,104 +198,118 @@ extern "C" asm void __dt__11dCamParam_cFv() {
#pragma pop
/* 800885D4-80088620 082F14 004C+00 1/1 7/7 0/0 .text Change__11dCamParam_cFl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamParam_c::Change(s32 param_0) {
nofralloc
#include "asm/d/d_cam_param/Change__11dCamParam_cFl.s"
int dCamParam_c::Change(s32 i_styleID) {
if (i_styleID >= 0 && i_styleID < mStyleNum) {
mStyleID = i_styleID;
mCurrentStyle = &mCamStyleData[mStyleID];
return 1;
}
mStyleID = 0;
mCurrentStyle = mCamStyleData;
return 0;
}
#pragma pop
/* 80088620-80088668 082F60 0048+00 0/0 4/4 0/0 .text SearchStyle__11dCamParam_cFUl */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamParam_c::SearchStyle(u32 param_0) {
nofralloc
#include "asm/d/d_cam_param/SearchStyle__11dCamParam_cFUl.s"
int dCamParam_c::SearchStyle(u32 param_0) {
int styleID = -1;
for (int i = 0; i < mStyleNum; i++) {
if (param_0 == mCamStyleData[i].field_0x0) {
styleID = i;
break;
}
}
return styleID;
}
#pragma pop
/* ############################################################################################## */
/* 80452858-8045285C 000E58 0004+00 1/1 0/0 0/0 .sdata2 @4058 */
SECTION_SDATA2 static f32 lit_4058 = 0.25f;
/* 8045285C-80452860 000E5C 0004+00 1/1 0/0 0/0 .sdata2 @4119 */
SECTION_SDATA2 static f32 lit_4119 = 100000.0f;
/* 80452860-80452864 000E60 0004+00 1/1 0/0 0/0 .sdata2 @4120 */
SECTION_SDATA2 static f32 lit_4120 = 1.0f / 20.0f;
/* 80452864-80452868 000E64 0004+00 1/1 0/0 0/0 .sdata2 @4121 */
SECTION_SDATA2 static f32 lit_4121 = -60.0f;
/* 80452868-8045286C 000E68 0004+00 1/1 0/0 0/0 .sdata2 @4122 */
SECTION_SDATA2 static f32 lit_4122 = 33.0f / 100.0f;
/* 8045286C-80452870 000E6C 0004+00 1/1 0/0 0/0 .sdata2 @4123 */
SECTION_SDATA2 static f32 lit_4123 = 1.0f / 50.0f;
/* 80452870-80452874 000E70 0004+00 1/1 0/0 0/0 .sdata2 @4124 */
SECTION_SDATA2 static f32 lit_4124 = 100.0f;
/* 80452874-80452878 000E74 0004+00 1/1 0/0 0/0 .sdata2 @4125 */
SECTION_SDATA2 static f32 lit_4125 = 7.0f / 25.0f;
/* 80452878-8045287C 000E78 0004+00 1/1 0/0 0/0 .sdata2 @4126 */
SECTION_SDATA2 static f32 lit_4126 = 3.0f / 20.0f;
/* 8045287C-80452880 000E7C 0004+00 1/1 0/0 0/0 .sdata2 @4127 */
SECTION_SDATA2 static f32 lit_4127 = 0.004999999888241291f;
/* 80452880-80452884 000E80 0004+00 1/1 0/0 0/0 .sdata2 @4128 */
SECTION_SDATA2 static f32 lit_4128 = 3.0f / 50.0f;
/* 80452884-80452888 000E84 0004+00 1/1 0/0 0/0 .sdata2 @4129 */
SECTION_SDATA2 static f32 lit_4129 = 70.0f;
/* 80452888-8045288C 000E88 0004+00 1/1 0/0 0/0 .sdata2 @4130 */
SECTION_SDATA2 static f32 lit_4130 = 60.0f;
/* 8045288C-80452890 000E8C 0004+00 1/1 0/0 0/0 .sdata2 @4131 */
SECTION_SDATA2 static f32 lit_4131 = 35.0f;
/* 80452890-80452894 000E90 0004+00 1/1 0/0 0/0 .sdata2 @4132 */
SECTION_SDATA2 static f32 lit_4132 = 65.0f;
/* 80452894-80452898 000E94 0004+00 1/1 0/0 0/0 .sdata2 @4133 */
SECTION_SDATA2 static f32 lit_4133 = 30.0f;
/* 80452898-8045289C 000E98 0004+00 1/1 0/0 0/0 .sdata2 @4134 */
SECTION_SDATA2 static f32 lit_4134 = 27.0f;
/* 8045289C-804528A0 000E9C 0004+00 1/1 0/0 0/0 .sdata2 @4135 */
SECTION_SDATA2 static f32 lit_4135 = 45.0f;
/* 804528A0-804528A4 000EA0 0004+00 1/1 0/0 0/0 .sdata2 @4136 */
SECTION_SDATA2 static f32 lit_4136 = 3500.0f;
/* 804528A4-804528A8 000EA4 0004+00 1/1 0/0 0/0 .sdata2 @4137 */
SECTION_SDATA2 static f32 lit_4137 = 4.0f;
/* 804528A8-804528AC 000EA8 0004+00 1/1 0/0 0/0 .sdata2 @4138 */
SECTION_SDATA2 static f32 lit_4138 = 1200.0f;
/* 804528AC-804528B0 000EAC 0004+00 1/1 0/0 0/0 .sdata2 @4139 */
SECTION_SDATA2 static f32 lit_4139 = 17.0f / 20.0f;
/* 804528B0-804528B4 000EB0 0004+00 1/1 0/0 0/0 .sdata2 @4140 */
SECTION_SDATA2 static f32 lit_4140 = 50.0f;
SECTION_SDATA2 static f32 lit_4058 = 0.25f; // placed in a weird order, so can't remove until fixed
/* 80088668-800888B8 082FA8 0250+00 0/0 1/1 0/0 .text __ct__11dCamSetup_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dCamSetup_c::dCamSetup_c() {
nofralloc
#include "asm/d/d_cam_param/__ct__11dCamSetup_cFv.s"
dCamSetup_c::dCamSetup_c() {
f32 temp_1 = lit_3791;
mDrawNear = temp_1;
mDrawFar = 100000.0f;
field_0xc = 1;
mModeSwitchType = -1;
mForceType = -1;
mCusCus = 0.2f;
field_0x24 = 0.05f;
field_0x60 = 80.0f;
field_0x5c = -60.0f;
field_0x28 = 0.33f;
field_0x2c = 0.02f;
field_0x50 = 100.0f;
field_0x30 = 0.75f;
mBaseCushion = 0.28f;
mJumpCushion = temp_1;
field_0x58 = 0.15f;
field_0x44 = 0.005f;
field_0x54 = 0.06f;
mCurveWeight = temp_1;
field_0x34 = 25.0f;
mSubjLinkCullDist = 70.0f;
mParallelDist = 60.0f;
mTrimVistaHeight = 35.0f;
mTrimCineScopeHeight = 65.0f;
field_0xb0 = 150;
field_0xb4 = 60.0f;
mManualStartCThreshold = 0.3f;
mManualEndVal = 0.2f;
mFalseValue = 0.1f;
mFalseAngle = 30.0f;
mDebugFlags = 1;
field_0xa = 0x118;
field_0xa |= 0x200;
field_0xa |= 0x400;
mChargeLatitude = 27.0f;
mChargeTimer = 90;
mChargeBRatio = 0.5f;
mLockonChangeTimer = 40;
mLockonChangeCushion = lit_4058;
field_0x6c = 45.0f;
mForceLockOffDist = 3500.0f;
mForceLockOffTimer = 90;
mThrowTimer = 30;
mThrowVAngle = 25.0f;
mThrowCushion = 0.05f;
mThrowCtrOffset = 10.0f;
field_0x78 = 0.5f;
field_0x7c = 0.4f;
field_0x80 = 10.0f;
field_0x84 = 4.0f;
field_0xd4 = 60.0f;
field_0xd8 = 100.0f;
mWindShakeCtr = 15.0f;
mWindShakeFvy = 0.3f;
mMapToolCamShortTimer = 60;
mMapToolCamLongTimer = 120;
mDebugFlags |= 0x4800;
field_0x15c = 0.0f;
field_0x160 = 0.0f;
mDebugFlags |= 0x800;
mWaitRollTimer = 120;
mWaitRollSpeed = 0.02f;
field_0x16c = 1200.0f;
field_0xe0 = 0.06f;
field_0xec = 25;
field_0xf4 = 0.85f;
field_0xf8 = temp_1;
field_0xf0 = 12;
field_0xe4 = 50.0f;
field_0xe8 = 0.0f;
mScreensaverFirstWaitTimer = 30;
mScreensaverWaitTimer = 600;
mScreensaverExecTimer = 120;
dCam_getBody()->EventRecoverNotime();
}
#pragma pop
/* 800888B8-80088918 0831F8 0060+00 1/0 1/1 0/0 .text __dt__11dCamSetup_cFv */
#pragma push
@@ -394,38 +322,32 @@ extern "C" asm void __dt__11dCamSetup_cFv() {
}
#pragma pop
/* ############################################################################################## */
/* 804528B4-804528B8 000EB4 0004+00 1/1 0/0 0/0 .sdata2 @4173 */
SECTION_SDATA2 static f32 lit_4173 = 182.04444885253906f;
/* 80088918-80088988 083258 0070+00 0/0 1/1 0/0 .text CheckLatitudeRange__11dCamSetup_cFPs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamSetup_c::CheckLatitudeRange(s16* param_0) {
nofralloc
#include "asm/d/d_cam_param/CheckLatitudeRange__11dCamSetup_cFPs.s"
bool dCamSetup_c::CheckLatitudeRange(s16* param_0) {
s16 temp0 = cAngle::d2s(field_0x60);
s16 temp1 = cAngle::d2s(field_0x5c);
if (*param_0 > temp0) {
*param_0 = temp0;
return false;
}
if (*param_0 < temp1) {
*param_0 = temp1;
return false;
}
return true;
}
#pragma pop
/* 80088988-800889B0 0832C8 0028+00 0/0 1/1 0/0 .text PlayerHideDist__11dCamSetup_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dCamSetup_c::PlayerHideDist() {
nofralloc
#include "asm/d/d_cam_param/PlayerHideDist__11dCamSetup_cFv.s"
f32 dCamSetup_c::PlayerHideDist() {
if (daPy_py_c::i_checkNowWolf()) {
return 120.0f;
}
return mSubjLinkCullDist;
}
#pragma pop
/* 800889B0-800889F8 0832F0 0048+00 1/0 0/0 0/0 .text __dt__9dCstick_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dCstick_c::~dCstick_c() {
nofralloc
#include "asm/d/d_cam_param/__dt__9dCstick_cFv.s"
}
#pragma pop
/* 8037A7E0-8037A7E0 006E40 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
dCstick_c::~dCstick_c() {}
+40 -190
View File
@@ -1,257 +1,107 @@
//
// Generated By: dol2asm
// Translation Unit: d/d_door_param2
//
/**
* d_door_param2.cpp
*
*/
#include "d/d_door_param2.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct fopAc_ac_c {};
struct door_param2_c {
/* 8003A188 */ void getKind(fopAc_ac_c*);
/* 8003A194 */ void getDoorModel(fopAc_ac_c*);
/* 8003A1A0 */ void getFrontOption(fopAc_ac_c*);
/* 8003A1AC */ void getBackOption(fopAc_ac_c*);
/* 8003A1B8 */ void getFRoomNo(fopAc_ac_c*);
/* 8003A1C4 */ void getBRoomNo(fopAc_ac_c*);
/* 8003A1D0 */ void getSwbit(fopAc_ac_c*);
/* 8003A1DC */ void getSwbit2(fopAc_ac_c*);
/* 8003A1E8 */ void getSwbit3(fopAc_ac_c*);
/* 8003A1F4 */ void isMsgDoor(fopAc_ac_c*);
/* 8003A200 */ void getEventNo(fopAc_ac_c*);
/* 8003A20C */ void getEventNo2(fopAc_ac_c*);
/* 8003A218 */ void getMsgNo(fopAc_ac_c*);
/* 8003A224 */ void getExitNo(fopAc_ac_c*);
/* 8003A230 */ void getFLightInf(fopAc_ac_c*);
/* 8003A23C */ void getBLightInf(fopAc_ac_c*);
/* 8003A248 */ void getMFLightInf(fopAc_ac_c*);
/* 8003A254 */ void getMBLightInf(fopAc_ac_c*);
};
//
// Forward References:
//
extern "C" void getKind__13door_param2_cFP10fopAc_ac_c();
extern "C" void getDoorModel__13door_param2_cFP10fopAc_ac_c();
extern "C" void getFrontOption__13door_param2_cFP10fopAc_ac_c();
extern "C" void getBackOption__13door_param2_cFP10fopAc_ac_c();
extern "C" void getFRoomNo__13door_param2_cFP10fopAc_ac_c();
extern "C" void getBRoomNo__13door_param2_cFP10fopAc_ac_c();
extern "C" void getSwbit__13door_param2_cFP10fopAc_ac_c();
extern "C" void getSwbit2__13door_param2_cFP10fopAc_ac_c();
extern "C" void getSwbit3__13door_param2_cFP10fopAc_ac_c();
extern "C" void isMsgDoor__13door_param2_cFP10fopAc_ac_c();
extern "C" void getEventNo__13door_param2_cFP10fopAc_ac_c();
extern "C" void getEventNo2__13door_param2_cFP10fopAc_ac_c();
extern "C" void getMsgNo__13door_param2_cFP10fopAc_ac_c();
extern "C" void getExitNo__13door_param2_cFP10fopAc_ac_c();
extern "C" void getFLightInf__13door_param2_cFP10fopAc_ac_c();
extern "C" void getBLightInf__13door_param2_cFP10fopAc_ac_c();
extern "C" void getMFLightInf__13door_param2_cFP10fopAc_ac_c();
extern "C" void getMBLightInf__13door_param2_cFP10fopAc_ac_c();
//
// External References:
//
//
// Declarations:
//
/* 8003A188-8003A194 034AC8 000C+00 0/0 0/0 17/17 .text getKind__13door_param2_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void door_param2_c::getKind(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_door_param2/getKind__13door_param2_cFP10fopAc_ac_c.s"
u8 door_param2_c::getKind(fopAc_ac_c* i_actor) {
return fopAcM_GetParamBit(i_actor, 0, 5);
}
#pragma pop
/* 8003A194-8003A1A0 034AD4 000C+00 0/0 0/0 2/2 .text getDoorModel__13door_param2_cFP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void door_param2_c::getDoorModel(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_door_param2/getDoorModel__13door_param2_cFP10fopAc_ac_c.s"
u8 door_param2_c::getDoorModel(fopAc_ac_c* i_actor) {
return fopAcM_GetParamBit(i_actor, 5, 3);
}
#pragma pop
/* 8003A1A0-8003A1AC 034AE0 000C+00 0/0 0/0 17/17 .text
* getFrontOption__13door_param2_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void door_param2_c::getFrontOption(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_door_param2/getFrontOption__13door_param2_cFP10fopAc_ac_c.s"
u8 door_param2_c::getFrontOption(fopAc_ac_c* i_actor) {
return fopAcM_GetParamBit(i_actor, 8, 2);
}
#pragma pop
/* 8003A1AC-8003A1B8 034AEC 000C+00 0/0 0/0 14/14 .text
* getBackOption__13door_param2_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void door_param2_c::getBackOption(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_door_param2/getBackOption__13door_param2_cFP10fopAc_ac_c.s"
u8 door_param2_c::getBackOption(fopAc_ac_c* i_actor) {
return fopAcM_GetParamBit(i_actor, 10, 3);
}
#pragma pop
/* 8003A1B8-8003A1C4 034AF8 000C+00 0/0 0/0 19/19 .text getFRoomNo__13door_param2_cFP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void door_param2_c::getFRoomNo(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_door_param2/getFRoomNo__13door_param2_cFP10fopAc_ac_c.s"
u8 door_param2_c::getFRoomNo(fopAc_ac_c* i_actor) {
return fopAcM_GetParamBit(i_actor, 13, 6);
}
#pragma pop
/* 8003A1C4-8003A1D0 034B04 000C+00 0/0 0/0 10/10 .text getBRoomNo__13door_param2_cFP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void door_param2_c::getBRoomNo(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_door_param2/getBRoomNo__13door_param2_cFP10fopAc_ac_c.s"
u8 door_param2_c::getBRoomNo(fopAc_ac_c* i_actor) {
return fopAcM_GetParamBit(i_actor, 19, 6);
}
#pragma pop
/* 8003A1D0-8003A1DC 034B10 000C+00 0/0 0/0 25/25 .text getSwbit__13door_param2_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void door_param2_c::getSwbit(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_door_param2/getSwbit__13door_param2_cFP10fopAc_ac_c.s"
u8 door_param2_c::getSwbit(fopAc_ac_c* i_actor) {
return i_actor->orig.angle.z & 0xFF;
}
#pragma pop
/* 8003A1DC-8003A1E8 034B1C 000C+00 0/0 0/0 12/12 .text getSwbit2__13door_param2_cFP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void door_param2_c::getSwbit2(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_door_param2/getSwbit2__13door_param2_cFP10fopAc_ac_c.s"
u8 door_param2_c::getSwbit2(fopAc_ac_c* i_actor) {
return (i_actor->orig.angle.z >> 8) & 0xFF;
}
#pragma pop
/* 8003A1E8-8003A1F4 034B28 000C+00 0/0 0/0 3/3 .text getSwbit3__13door_param2_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void door_param2_c::getSwbit3(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_door_param2/getSwbit3__13door_param2_cFP10fopAc_ac_c.s"
u8 door_param2_c::getSwbit3(fopAc_ac_c* i_actor) {
return (i_actor->orig.angle.x >> 8) & 0xFF;
}
#pragma pop
/* 8003A1F4-8003A200 034B34 000C+00 0/0 0/0 4/4 .text isMsgDoor__13door_param2_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void door_param2_c::isMsgDoor(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_door_param2/isMsgDoor__13door_param2_cFP10fopAc_ac_c.s"
u8 door_param2_c::isMsgDoor(fopAc_ac_c* i_actor) {
return fopAcM_GetParamBit(i_actor, 31, 1);
}
#pragma pop
/* 8003A200-8003A20C 034B40 000C+00 0/0 0/0 3/3 .text getEventNo__13door_param2_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void door_param2_c::getEventNo(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_door_param2/getEventNo__13door_param2_cFP10fopAc_ac_c.s"
u8 door_param2_c::getEventNo(fopAc_ac_c* i_actor) {
return i_actor->orig.angle.x & 0xFF;
}
#pragma pop
/* 8003A20C-8003A218 034B4C 000C+00 0/0 0/0 2/2 .text getEventNo2__13door_param2_cFP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void door_param2_c::getEventNo2(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_door_param2/getEventNo2__13door_param2_cFP10fopAc_ac_c.s"
u8 door_param2_c::getEventNo2(fopAc_ac_c* i_actor) {
return (i_actor->orig.angle.x >> 8) & 0xFF;
}
#pragma pop
/* 8003A218-8003A224 034B58 000C+00 0/0 0/0 2/2 .text getMsgNo__13door_param2_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void door_param2_c::getMsgNo(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_door_param2/getMsgNo__13door_param2_cFP10fopAc_ac_c.s"
u16 door_param2_c::getMsgNo(fopAc_ac_c* i_actor) {
return i_actor->orig.angle.x;
}
#pragma pop
/* 8003A224-8003A230 034B64 000C+00 0/0 0/0 6/6 .text getExitNo__13door_param2_cFP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void door_param2_c::getExitNo(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_door_param2/getExitNo__13door_param2_cFP10fopAc_ac_c.s"
u8 door_param2_c::getExitNo(fopAc_ac_c* i_actor) {
return fopAcM_GetParamBit(i_actor, 25, 6);
}
#pragma pop
/* 8003A230-8003A23C 034B70 000C+00 0/0 0/0 1/1 .text getFLightInf__13door_param2_cFP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void door_param2_c::getFLightInf(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_door_param2/getFLightInf__13door_param2_cFP10fopAc_ac_c.s"
u8 door_param2_c::getFLightInf(fopAc_ac_c* i_actor) {
return fopAcM_GetParamBit(i_actor, 25, 3);
}
#pragma pop
/* 8003A23C-8003A248 034B7C 000C+00 0/0 0/0 1/1 .text getBLightInf__13door_param2_cFP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void door_param2_c::getBLightInf(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_door_param2/getBLightInf__13door_param2_cFP10fopAc_ac_c.s"
u8 door_param2_c::getBLightInf(fopAc_ac_c* i_actor) {
return fopAcM_GetParamBit(i_actor, 28, 3);
}
#pragma pop
/* 8003A248-8003A254 034B88 000C+00 0/0 0/0 1/1 .text getMFLightInf__13door_param2_cFP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void door_param2_c::getMFLightInf(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_door_param2/getMFLightInf__13door_param2_cFP10fopAc_ac_c.s"
u8 door_param2_c::getMFLightInf(fopAc_ac_c* i_actor) {
return fopAcM_GetParamBit(i_actor, 19, 3);
}
#pragma pop
/* 8003A254-8003A260 034B94 000C+00 0/0 0/0 1/1 .text getMBLightInf__13door_param2_cFP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void door_param2_c::getMBLightInf(fopAc_ac_c* param_0) {
nofralloc
#include "asm/d/d_door_param2/getMBLightInf__13door_param2_cFP10fopAc_ac_c.s"
u8 door_param2_c::getMBLightInf(fopAc_ac_c* i_actor) {
return fopAcM_GetParamBit(i_actor, 22, 3);
}
#pragma pop
+137 -1546
View File
File diff suppressed because it is too large Load Diff
+434 -332
View File
@@ -4,128 +4,23 @@
//
#include "d/d_gameover.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
#include "d/menu/d_menu_save.h"
#include "d/meter/d_meter_HIO.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_msg_mng.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct mDoRst {
static u8 mResetData[4 + 4 /* padding */];
};
struct mDoGph_gInf_c {
static u8 mFadeColor[4];
static u8 mFader[4];
static u8 mFrameBufferTimg[4];
static u8 mFrameBufferTex[4];
static u8 mZbufferTex[4];
static f32 mFadeRate;
};
struct dSv_player_item_c {
/* 80032FB8 */ void setItem(int, u8);
/* 80033030 */ void getItem(int, bool) const;
};
struct dSv_player_get_item_c {
/* 80033EC8 */ void isFirstBit(u8) const;
};
struct dSv_event_flag_c {
static u8 saveBitLabels[1644 + 4 /* padding */];
};
struct dSv_event_c {
/* 800349A4 */ void offEventBit(u16);
/* 800349BC */ void isEventBit(u16) const;
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C1E4 */ void getResInfo(char const*, dRes_info_c*, int);
};
struct JUtility {
struct TColor {};
};
struct dMsgScrnLight_c {
/* 80245934 */ dMsgScrnLight_c(u8, u8);
/* 80245F90 */ void draw(f32*, f32, f32, f32, f32, f32, f32, JUtility::TColor,
JUtility::TColor);
};
struct JMSMesgEntry_c {};
struct dMeter2Info_c {
/* 8021C250 */ void getString(u32, char*, JMSMesgEntry_c*);
/* 8021E0C4 */ void resetMiniGameItem(bool);
};
struct dMenu_save_c {
/* 8019C314 */ ~dMenu_save_c();
/* 801EF6A0 */ dMenu_save_c();
/* 801EF7AC */ void _create();
/* 801F09AC */ void _open();
/* 801F0B28 */ void _delete();
/* 801F1048 */ void _move();
/* 801F69FC */ void _draw2();
};
class dGov_HIO_c {
public:
/* 8019AFE0 */ dGov_HIO_c();
/* 8019C06C */ virtual ~dGov_HIO_c();
/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 mScale;
/* 0x0C */ f32 mAlpha;
/* 0x10 */ f32 mAnimSpeed;
/* 0x14 */ GXColor mBlack;
/* 0x18 */ GXColor mWhite;
}; // Size: 0x1C
struct dDlst_base_c {};
struct dDlst_list_c {
/* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
};
struct dDlst_Gameover_CAPTURE_c {
/* 8019ACF8 */ void draw();
/* 8019C2CC */ ~dDlst_Gameover_CAPTURE_c();
};
struct dDlst_GameOverScrnDraw_c {
/* 8019B940 */ dDlst_GameOverScrnDraw_c(JKRArchive*);
/* 8019BBFC */ ~dDlst_GameOverScrnDraw_c();
/* 8019BCB0 */ void setBackAlpha(f32);
/* 8019BCF4 */ void draw();
};
struct JFWDisplay {
static u8 sManager[4];
};
struct J2DTextBox {
/* 80300660 */ void setString(char const*, ...);
};
struct J2DGrafContext {};
struct J2DScreen {
/* 802F8498 */ J2DScreen();
/* 802F8648 */ void setPriority(char const*, u32, JKRArchive*);
/* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*);
};
struct J2DPicture {
/* 802FC800 */ J2DPicture(u64, JGeometry::TBox2<f32> const&, ResTIMG const*, ResTLUT const*);
/* 0x00 */ u8 field_0x0[0x24];
};
//
@@ -221,26 +116,19 @@ extern "C" void _savegpr_29();
extern "C" void _restgpr_24();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" void strcmp();
extern "C" extern u8 g_mDoMtx_identity[48 + 24 /* padding */];
extern "C" extern void* g_fopMsg_Method[5 + 1 /* padding */];
extern "C" extern void* __vt__12dDlst_base_c[3];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern void* __vt__14mDoHIO_entry_c[3];
extern "C" extern void* __vt__16dDlst_MenuSave_c[4];
extern "C" extern void* __vt__23dDlst_MenuSaveExplain_c[4 + 18 /* padding */];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_meter2_info[248];
extern "C" u8 mFadeColor__13mDoGph_gInf_c[4];
extern "C" extern u8 g_clearColor[4];
extern "C" extern u32 g_blackColor;
extern "C" u8 mFader__13mDoGph_gInf_c[4];
extern "C" u8 mFrameBufferTimg__13mDoGph_gInf_c[4];
extern "C" u8 mFrameBufferTex__13mDoGph_gInf_c[4];
extern "C" u8 mZbufferTex__13mDoGph_gInf_c[4];
extern "C" f32 mFadeRate__13mDoGph_gInf_c;
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
extern "C" extern u8 g_menuHIO[8];
extern "C" u8 sManager__10JFWDisplay[4];
//
@@ -264,6 +152,65 @@ SECTION_SDATA2 static f32 lit_3870 = 10.0f;
/* 8019ACF8-8019AFE0 195638 02E8+00 1/0 0/0 0/0 .text draw__24dDlst_Gameover_CAPTURE_cFv
*/
// matches with literals
#ifdef NONMATCHING
void dDlst_Gameover_CAPTURE_c::draw() {
GXTexObj tex_obj;
Mtx44 m;
GXSetTexCopySrc(0, 0, 608, 448);
GXSetTexCopyDst(304, 224, GX_TF_RGB565, 1);
GXCopyTex(mDoGph_gInf_c::mZbufferTex, 0);
GXPixModeSync();
GXInitTexObj(&tex_obj, mDoGph_gInf_c::mFrameBufferTex, 304, 224,
(GXTexFmt)mDoGph_gInf_c::mFrameBufferTimg->format, GX_CLAMP, GX_CLAMP, GX_FALSE);
GXInitTexObjLOD(&tex_obj, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE,
GX_ANISO_1);
GXLoadTexObj(&tex_obj, GX_TEXMAP0);
GXSetNumChans(0);
GXSetNumTexGens(1);
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 60, GX_FALSE, 125);
GXSetNumTevStages(1);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL);
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC);
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetZCompLoc(1);
GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE);
GXSetBlendMode(GX_BM_NONE, GX_BL_ZERO, GX_BL_ZERO, GX_LO_OR);
GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0);
GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor);
GXSetFogRangeAdj(GX_FALSE, 0, NULL);
GXSetCullMode(GX_CULL_NONE);
GXSetDither(1);
C_MTXOrtho(m, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 10.0f);
GXSetProjection(m, GX_ORTHOGRAPHIC);
GXLoadPosMtxImm(g_mDoMtx_identity, GX_PNMTX0);
GXSetCurrentMtx(0);
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_RGB8, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB8, 0);
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
GXPosition3s8(0, 0, -5);
GXTexCoord2s8(0, 0);
GXPosition3s8(1, 0, -5);
GXTexCoord2s8(1, 0);
GXPosition3s8(1, 1, -5);
GXTexCoord2s8(1, 1);
GXPosition3s8(0, 1, -5);
GXTexCoord2s8(0, 1);
i_GXEnd();
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -272,6 +219,7 @@ asm void dDlst_Gameover_CAPTURE_c::draw() {
#include "asm/d/d_gameover/draw__24dDlst_Gameover_CAPTURE_cFv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 803BBB50-803BBB5C 018C70 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
@@ -380,6 +328,13 @@ SECTION_DATA static u8 init_process[108] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* typedef void (dGameover_c::*initFunc)();
SECTION_DATA initFunc init_process[] = {
&dGameover_c::playerAnmWait_init, &dGameover_c::dispFadeOut_init, &dGameover_c::dispWait_init,
&dGameover_c::demoFadeIn_init, &dGameover_c::demoFadeOut_init, &dGameover_c::saveOpen_init,
&dGameover_c::saveMove_init, &dGameover_c::saveClose_init, &dGameover_c::deleteWait_init,
}; */
/* 803BBC34-803BBC40 -00001 000C+00 0/1 0/0 0/0 .data @3892 */
#pragma push
#pragma force_active on
@@ -481,10 +436,16 @@ SECTION_DATA static u8 move_process[108] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* typedef void (dGameover_c::*moveFunc)();
SECTION_DATA moveFunc move_process[] = {
&dGameover_c::playerAnmWait_proc, &dGameover_c::dispFadeOut_proc, &dGameover_c::dispWait_proc,
&dGameover_c::demoFadeIn_proc, &dGameover_c::demoFadeOut_proc, &dGameover_c::saveOpen_proc,
&dGameover_c::saveMove_proc, &dGameover_c::saveClose_proc, &dGameover_c::deleteWait_proc,
}; */
/* 803BBD0C-803BBD2C 018E2C 0020+00 1/1 0/0 0/0 .data offset$4331 */
SECTION_DATA static u8 offset[32] = {
0xC3, 0x0A, 0x00, 0x00, 0xC2, 0xC0, 0x00, 0x00, 0xC2, 0x60, 0x00, 0x00, 0xC1, 0x90, 0x00, 0x00,
0x42, 0x28, 0x00, 0x00, 0x42, 0x96, 0x00, 0x00, 0x42, 0xDC, 0x00, 0x00, 0x43, 0x0F, 0x00, 0x00,
SECTION_DATA static f32 offset[8] = {
-138.0f, -96.0f, -56.0f, -18.0f, 42.0f, 75.0f, 110.0f, 143.0f,
};
/* 803BBD2C-803BBD40 -00001 0014+00 1/0 0/0 0/0 .data l_dGameover_Method */
@@ -533,21 +494,22 @@ SECTION_DATA extern void* __vt__10dGov_HIO_c[3 + 3 /* padding */] = {
NULL,
};
/* 80453B8C-80453B90 00218C 0004+00 1/1 0/0 0/0 .sdata2 @3878 */
SECTION_SDATA2 static f32 lit_3878 = 27.0f / 10.0f;
/* 80453B90-80453B94 002190 0004+00 1/1 0/0 0/0 .sdata2 @3879 */
SECTION_SDATA2 static f32 lit_3879 = 1.0f / 5.0f;
/* 8019AFE0-8019B044 195920 0064+00 1/1 0/0 0/0 .text __ct__10dGov_HIO_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dGov_HIO_c::dGov_HIO_c() {
nofralloc
#include "asm/d/d_gameover/__ct__10dGov_HIO_cFv.s"
dGov_HIO_c::dGov_HIO_c() {
mScale = 2.7f;
mAlpha = lit_3869;
mAnimSpeed = 0.2f;
mBlack.r = 0;
mBlack.g = 0;
mBlack.b = 0;
mBlack.a = 0;
mWhite.r = 255;
mWhite.g = 220;
mWhite.b = 125;
mWhite.a = 255;
}
#pragma pop
/* ############################################################################################## */
/* 80394C28-80394C28 021288 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -566,207 +528,288 @@ SECTION_DATA extern void* __vt__24dDlst_Gameover_CAPTURE_c[4] = {
};
/* 8019B044-8019B2F4 195984 02B0+00 1/1 0/0 0/0 .text _create__11dGameover_cFv */
#ifdef NONMATCHING
int dGameover_c::_create() {
int phase = dComIfG_resLoad(&mPhase, "Gover");
if (dComIfGp_isPauseFlag() ||
(dComIfGp_isHeapLockFlag() != 0 && dComIfGp_isHeapLockFlag() != 6) ||
dComIfGp_getMesgStatus() != 0)
{
return 0;
}
if (phase == cPhs_COMPLEATE_e) {
if (dMeter2Info_getGameOverType() == 0) {
mDoGph_gInf_c::setFadeColor(*(JUtility::TColor*)&g_blackColor);
dComIfGs_addDeathCount();
}
dRes_info_c* resInfo = dComIfG_getObjectResInfo("Gover");
mpHeap = dComIfGp_getExpHeap2D();
dComIfGp_setHeapLockFlag(6);
JKRHeap* old_heap = mDoExt_setCurrentHeap(mpHeap);
mpHeap->getTotalFreeSize();
dgo_screen_c = new dDlst_GameOverScrnDraw_c(resInfo->getArchive());
dMs_c = new dMenu_save_c();
if (dMeter2Info_getGameOverType() == 1) {
if (!strcmp(dComIfGp_getLastPlayStageName(), "D_MN10A")) {
// Last stage was Stallord Arena
// Remove Ooccoo from inventory
dComIfGs_setItem(SLOT_18, NO_ITEM);
dComIfGs_resetLastWarpAcceptStage();
}
dMs_c->setUseType(3);
} else if (dMeter2Info_getGameOverType() == 2) {
dMs_c->setUseType(4);
} else {
dMs_c->setUseType(2);
}
dMs_c->_create();
dgo_capture_c = new dDlst_Gameover_CAPTURE_c();
mDoExt_setCurrentHeap(old_heap);
field_0x116 = g_menuHIO.mGameover;
if (dMeter2Info_getGameOverType() == 1 || dMeter2Info_getGameOverType() == 2) {
mIsDemoSave = true;
mProc = PROC_DEMO_FADE_IN;
dgo_screen_c->setBackAlpha(1.0f);
} else {
mIsDemoSave = false;
mProc = PROC_PLAYER_ANM_WAIT;
}
(this->*init_process[mProc])();
return cPhs_COMPLEATE_e;
}
return phase;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dGameover_c::_create() {
asm int dGameover_c::_create() {
nofralloc
#include "asm/d/d_gameover/_create__11dGameover_cFv.s"
}
#pragma pop
#endif
/* 8019B2F4-8019B384 195C34 0090+00 1/1 0/0 0/0 .text _execute__11dGameover_cFv */
// matches with sinit
#ifdef NONMATCHING
int dGameover_c::_execute() {
JKRHeap* old_heap = mDoExt_setCurrentHeap(mpHeap);
u8 old_proc = mProc;
(this->*move_process[mProc])();
if (mProc != old_proc) {
(this->*init_process[mProc])();
}
mDoExt_setCurrentHeap(old_heap);
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dGameover_c::_execute() {
asm int dGameover_c::_execute() {
nofralloc
#include "asm/d/d_gameover/_execute__11dGameover_cFv.s"
}
#pragma pop
#endif
/* 8019B384-8019B388 195CC4 0004+00 1/0 0/0 0/0 .text playerAnmWait_init__11dGameover_cFv
*/
void dGameover_c::playerAnmWait_init() {
/* empty function */
}
void dGameover_c::playerAnmWait_init() {}
/* 8019B388-8019B3A0 195CC8 0018+00 1/0 0/0 0/0 .text playerAnmWait_proc__11dGameover_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dGameover_c::playerAnmWait_proc() {
nofralloc
#include "asm/d/d_gameover/playerAnmWait_proc__11dGameover_cFv.s"
void dGameover_c::playerAnmWait_proc() {
if (mIsDemoSave) {
mProc = PROC_DISP_FADE_OUT;
}
}
#pragma pop
/* 8019B3A0-8019B3E8 195CE0 0048+00 1/0 0/0 0/0 .text dispFadeOut_init__11dGameover_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dGameover_c::dispFadeOut_init() {
nofralloc
#include "asm/d/d_gameover/dispFadeOut_init__11dGameover_cFv.s"
void dGameover_c::dispFadeOut_init() {
mTimer = 30;
mDoGph_gInf_c::startFadeOut(15);
}
#pragma pop
/* 8019B3E8-8019B40C 195D28 0024+00 1/0 0/0 0/0 .text dispFadeOut_proc__11dGameover_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dGameover_c::dispFadeOut_proc() {
nofralloc
#include "asm/d/d_gameover/dispFadeOut_proc__11dGameover_cFv.s"
void dGameover_c::dispFadeOut_proc() {
if (mTimer != 0) {
mTimer--;
} else {
mProc = PROC_DISP_WAIT;
}
}
#pragma pop
/* 8019B40C-8019B454 195D4C 0048+00 1/0 0/0 0/0 .text dispWait_init__11dGameover_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dGameover_c::dispWait_init() {
nofralloc
#include "asm/d/d_gameover/dispWait_init__11dGameover_cFv.s"
void dGameover_c::dispWait_init() {
mTimer = 90;
mDoGph_gInf_c::startFadeIn(30);
}
#pragma pop
/* 8019B454-8019B478 195D94 0024+00 1/0 0/0 0/0 .text dispWait_proc__11dGameover_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dGameover_c::dispWait_proc() {
nofralloc
#include "asm/d/d_gameover/dispWait_proc__11dGameover_cFv.s"
void dGameover_c::dispWait_proc() {
if (mTimer != 0) {
mTimer--;
} else {
mProc = PROC_SAVE_OPEN;
}
}
#pragma pop
/* 8019B478-8019B484 195DB8 000C+00 1/0 0/0 0/0 .text demoFadeIn_init__11dGameover_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dGameover_c::demoFadeIn_init() {
nofralloc
#include "asm/d/d_gameover/demoFadeIn_init__11dGameover_cFv.s"
void dGameover_c::demoFadeIn_init() {
mTimer = 0;
}
#pragma pop
/* 8019B484-8019B4D8 195DC4 0054+00 1/0 0/0 0/0 .text demoFadeIn_proc__11dGameover_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dGameover_c::demoFadeIn_proc() {
nofralloc
#include "asm/d/d_gameover/demoFadeIn_proc__11dGameover_cFv.s"
void dGameover_c::demoFadeIn_proc() {
mTimer++;
dgo_screen_c->setBackAlpha(lit_3869);
if (mTimer >= 30) {
mProc = PROC_SAVE_OPEN;
}
}
#pragma pop
/* 8019B4D8-8019B4E4 195E18 000C+00 1/0 0/0 0/0 .text demoFadeOut_init__11dGameover_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dGameover_c::demoFadeOut_init() {
nofralloc
#include "asm/d/d_gameover/demoFadeOut_init__11dGameover_cFv.s"
void dGameover_c::demoFadeOut_init() {
mTimer = 30;
}
#pragma pop
/* ############################################################################################## */
/* 80453B94-80453B98 002194 0004+00 1/1 0/0 0/0 .sdata2 @4069 */
SECTION_SDATA2 static f32 lit_4069 = 900.0f;
/* 80453B98-80453BA0 002198 0008+00 1/1 0/0 0/0 .sdata2 @4071 */
SECTION_SDATA2 static f64 lit_4071 = 4503601774854144.0 /* cast s32 to float */;
/* 8019B4E4-8019B560 195E24 007C+00 1/0 0/0 0/0 .text demoFadeOut_proc__11dGameover_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dGameover_c::demoFadeOut_proc() {
nofralloc
#include "asm/d/d_gameover/demoFadeOut_proc__11dGameover_cFv.s"
void dGameover_c::demoFadeOut_proc() {
mTimer--;
dgo_screen_c->setBackAlpha((mTimer * mTimer) / 900.0f);
if (mTimer <= 0) {
mProc = PROC_DELETE_WAIT;
}
}
#pragma pop
/* 8019B560-8019B564 195EA0 0004+00 1/0 0/0 0/0 .text saveOpen_init__11dGameover_cFv */
void dGameover_c::saveOpen_init() {
/* empty function */
}
void dGameover_c::saveOpen_init() {}
/* 8019B564-8019B5A4 195EA4 0040+00 1/0 0/0 0/0 .text saveOpen_proc__11dGameover_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dGameover_c::saveOpen_proc() {
nofralloc
#include "asm/d/d_gameover/saveOpen_proc__11dGameover_cFv.s"
void dGameover_c::saveOpen_proc() {
if (dMs_c->_open()) {
mProc = PROC_SAVE_MOVE;
}
}
#pragma pop
/* 8019B5A4-8019B5A8 195EE4 0004+00 1/0 0/0 0/0 .text saveMove_init__11dGameover_cFv */
void dGameover_c::saveMove_init() {
/* empty function */
}
void dGameover_c::saveMove_init() {}
/* 8019B5A8-8019B5F0 195EE8 0048+00 1/0 0/0 0/0 .text saveMove_proc__11dGameover_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dGameover_c::saveMove_proc() {
nofralloc
#include "asm/d/d_gameover/saveMove_proc__11dGameover_cFv.s"
void dGameover_c::saveMove_proc() {
dMs_c->_move();
if (dMs_c->getSaveStatus() == 3) {
mProc = PROC_SAVE_CLOSE;
}
}
#pragma pop
/* 8019B5F0-8019B5F4 195F30 0004+00 1/0 0/0 0/0 .text saveClose_init__11dGameover_cFv */
void dGameover_c::saveClose_init() {
/* empty function */
}
void dGameover_c::saveClose_init() {}
/* 8019B5F4-8019B7BC 195F34 01C8+00 1/0 0/0 0/0 .text saveClose_proc__11dGameover_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dGameover_c::saveClose_proc() {
nofralloc
#include "asm/d/d_gameover/saveClose_proc__11dGameover_cFv.s"
void dGameover_c::saveClose_proc() {
if (dMs_c->getEndStatus() == 0) {
dComIfGp_setGameoverStatus(3);
dComIfGp_offPauseFlag();
mDoRst::onReset();
} else if (dMs_c->getEndStatus() == 1) {
if (dMeter2Info_getGameOverType() == 1 || dMeter2Info_getGameOverType() == 2) {
dComIfGp_setGameoverStatus(1);
} else {
dComIfGp_setGameoverStatus(2);
}
dComIfGp_offPauseFlag();
// Reset Monkey lantern steal sequence flags if player hasn't regained lantern
if (!i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[226])) {
dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[224]);
dComIfGs_offEventBit(dSv_event_flag_c::saveBitLabels[225]);
}
// Reset Lantern and oil status back into inventory if gameover during monkey steal sequence
if (i_dComIfGs_isItemFirstBit(KANTERA) && dComIfGs_getItem(SLOT_1, true) == NO_ITEM) {
dComIfGs_setItem(SLOT_1, KANTERA);
dComIfGs_setOil(dMeter2Info_getOilGaugeBackUp());
}
dMeter2Info_resetMiniGameItem(false);
}
if (dMeter2Info_getGameOverType() == 1 && dMeter2Info_getGameOverType() == 2 &&
dComIfGp_getGameoverStatus() == 1)
{
mProc = PROC_DEMO_FADE_OUT;
} else {
mProc = PROC_DELETE_WAIT;
}
}
#pragma pop
/* 8019B7BC-8019B7C0 1960FC 0004+00 1/0 0/0 0/0 .text deleteWait_init__11dGameover_cFv */
void dGameover_c::deleteWait_init() {
/* empty function */
}
void dGameover_c::deleteWait_init() {}
/* 8019B7C0-8019B7C4 196100 0004+00 1/0 0/0 0/0 .text deleteWait_proc__11dGameover_cFv */
void dGameover_c::deleteWait_proc() {
/* empty function */
}
void dGameover_c::deleteWait_proc() {}
/* 8019B7C4-8019B864 196104 00A0+00 1/1 0/0 0/0 .text _draw__11dGameover_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dGameover_c::_draw() {
nofralloc
#include "asm/d/d_gameover/_draw__11dGameover_cFv.s"
int dGameover_c::_draw() {
if (dgo_capture_c != NULL && dComIfGp_isPauseFlag()) {
dComIfGd_set2DOpa(dgo_capture_c);
}
if (mIsDemoSave && mProc >= PROC_DISP_WAIT) {
if (dgo_screen_c != NULL) {
dComIfGd_set2DOpa(dgo_screen_c);
}
dMs_c->_draw2();
}
return 1;
}
#pragma pop
/* 8019B864-8019B940 1961A4 00DC+00 1/1 0/0 0/0 .text _delete__11dGameover_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dGameover_c::_delete() {
nofralloc
#include "asm/d/d_gameover/_delete__11dGameover_cFv.s"
int dGameover_c::_delete() {
JKRHeap* old_heap = mDoExt_setCurrentHeap(mpHeap);
if (dgo_screen_c != NULL) {
delete dgo_screen_c;
dgo_screen_c = NULL;
}
dMs_c->_delete();
delete dMs_c;
delete dgo_capture_c;
mpHeap->freeAll();
dComIfGp_offHeapLockFlag(0);
mDoExt_setCurrentHeap(old_heap);
dComIfG_resDelete(&mPhase, "Gover");
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 80394C28-80394C28 021288 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -786,6 +829,46 @@ SECTION_SDATA2 static f32 lit_4291 = 660.0f;
/* 8019B940-8019BBFC 196280 02BC+00 1/1 0/0 0/0 .text
* __ct__24dDlst_GameOverScrnDraw_cFP10JKRArchive */
// matches with literals
#ifdef NONMATCHING
dDlst_GameOverScrnDraw_c::dDlst_GameOverScrnDraw_c(JKRArchive* i_archive) {
mpScreen = new J2DScreen();
mpScreen->setPriority("zelda_game_over.blo", 0x100000, i_archive);
dPaneClass_showNullPane(mpScreen);
mFadeColor.set(0, 0, 0, 0);
if (dMeter2Info_getGameOverType() != 0) {
mpScreen->search('n_base')->hide();
if (mDoGph_gInf_c::getFadeRate() == 1.0f) {
mFadeColor = mDoGph_gInf_c::getFadeColor();
}
}
mpScreen->search('base_b')->hide();
JUtility::TColor img_white(mFadeColor);
JUtility::TColor img_black(mFadeColor);
img_white.a = 0;
img_black.a = 255;
ResTIMG* img = (ResTIMG*)dComIfGp_getMain2DArchive()->getResource('TIMG', "tt_block8x8.bti");
mpBackImg =
new J2DPicture('PICT01', JGeometry::TBox2<f32>(0.0f, 486.0f, 0.0f, 660.0f), img, NULL);
mpBackImg->setBlackWhite(img_white, img_black);
J2DTextBox* gold_tbox = (J2DTextBox*)mpScreen->search('gold_00');
gold_tbox->setFont(mDoExt_getSubFont());
char string[64];
dMeter2Info_getString(0x381, string, NULL);
gold_tbox->setString(string);
mpLight = new dMsgScrnLight_c(6, 0xFF);
field_0x10 = 0.0f;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -794,39 +877,21 @@ asm dDlst_GameOverScrnDraw_c::dDlst_GameOverScrnDraw_c(JKRArchive* param_0) {
#include "asm/d/d_gameover/__ct__24dDlst_GameOverScrnDraw_cFP10JKRArchive.s"
}
#pragma pop
#endif
/* 8019BBFC-8019BCB0 19653C 00B4+00 1/0 0/0 0/0 .text __dt__24dDlst_GameOverScrnDraw_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dDlst_GameOverScrnDraw_c::~dDlst_GameOverScrnDraw_c() {
nofralloc
#include "asm/d/d_gameover/__dt__24dDlst_GameOverScrnDraw_cFv.s"
dDlst_GameOverScrnDraw_c::~dDlst_GameOverScrnDraw_c() {
delete mpBackImg;
delete mpScreen;
dComIfGp_getMain2DArchive()->removeResourceAll();
}
#pragma pop
/* ############################################################################################## */
/* 80453BA8-80453BAC 0021A8 0004+00 1/1 0/0 0/0 .sdata2 @4316 */
SECTION_SDATA2 static f32 lit_4316 = 255.0f;
/* 8019BCB0-8019BCF4 1965F0 0044+00 3/3 0/0 0/0 .text setBackAlpha__24dDlst_GameOverScrnDraw_cFf
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dDlst_GameOverScrnDraw_c::setBackAlpha(f32 param_0) {
nofralloc
#include "asm/d/d_gameover/setBackAlpha__24dDlst_GameOverScrnDraw_cFf.s"
void dDlst_GameOverScrnDraw_c::setBackAlpha(f32 i_alpha) {
mpBackImg->setAlpha(i_alpha * 255.0f);
}
#pragma pop
/* ############################################################################################## */
/* 8042CA20-8042CA2C 059740 000C+00 1/1 0/0 0/0 .bss @3882 */
static u8 lit_3882[12];
/* 8042CA2C-8042CA48 05974C 001C+00 2/2 0/0 0/0 .bss l_HIO */
static u8 l_HIO[28];
/* 80453BAC-80453BB0 0021AC 0004+00 1/1 0/0 0/0 .sdata2 @4374 */
SECTION_SDATA2 static f32 lit_4374 = 608.0f;
@@ -846,82 +911,119 @@ SECTION_SDATA2 static f32 lit_4377[1 + 1 /* padding */] = {
/* 8019BCF4-8019BF3C 196634 0248+00 1/0 0/0 0/0 .text draw__24dDlst_GameOverScrnDraw_cFv
*/
// matches with literals / sinit
#ifdef NONMATCHING
/* ############################################################################################## */
/* 8042CA20-8042CA2C 059740 000C+00 1/1 0/0 0/0 .bss @3882 */
static u8 lit_3882[12];
/* 8042CA2C-8042CA48 05974C 001C+00 2/2 0/0 0/0 .bss l_HIO */
static dGov_HIO_c l_HIO;
void dDlst_GameOverScrnDraw_c::draw() {
J2DGrafContext* graf_ctx = dComIfGp_getCurrentGrafPort();
graf_ctx->setup2D();
if (dMeter2Info_getGameOverType() == 1 || dMeter2Info_getGameOverType() == 2) {
if (mDoGph_gInf_c::getFadeRate() == 1.0f) {
mFadeColor = mDoGph_gInf_c::getFadeColor();
}
JUtility::TColor img_black(mFadeColor);
JUtility::TColor img_white(mFadeColor);
img_black.a = 0;
img_white.a = 255;
mpBackImg->setBlackWhite(img_black, img_white);
mpBackImg->draw(0.0f, 0.0f, 608.0f, 448.0f, false, false, false);
} else {
JUtility::TColor img_black;
JUtility::TColor img_white;
img_black.r = l_HIO.mBlack.r;
img_black.g = l_HIO.mBlack.g;
img_black.b = l_HIO.mBlack.b;
img_black.a = l_HIO.mBlack.a;
img_white.r = l_HIO.mWhite.r;
img_white.g = l_HIO.mWhite.g;
img_white.b = l_HIO.mWhite.b;
img_white.a = l_HIO.mWhite.a;
mpBackImg->draw(0.0f, 0.0f, 608.0f, 448.0f, false, false, false);
for (int i = 0; i < 8; i++) {
mpLight->draw(&field_0x10, offset[i] + 304.0f, 224.0f, l_HIO.mScale, l_HIO.mScale,
l_HIO.mAlpha, l_HIO.mAnimSpeed, img_black, img_white);
}
}
mpScreen->draw(0.0f, 0.0f, graf_ctx);
}
#else
/* ############################################################################################## */
/* 8042CA20-8042CA2C 059740 000C+00 1/1 0/0 0/0 .bss @3882 */
static u8 lit_3882[12];
/* 8042CA2C-8042CA48 05974C 001C+00 2/2 0/0 0/0 .bss l_HIO */
static u8 l_HIO[28];
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dDlst_GameOverScrnDraw_c::draw() {
// asm void dDlst_GameOverScrnDraw_c::draw() {
extern "C" asm void draw__24dDlst_GameOverScrnDraw_cFv() {
nofralloc
#include "asm/d/d_gameover/draw__24dDlst_GameOverScrnDraw_cFv.s"
}
#pragma pop
#endif
/* 8019BF3C-8019BF5C 19687C 0020+00 1/0 0/0 0/0 .text dGameover_Draw__FP11dGameover_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dGameover_Draw(dGameover_c* param_0) {
nofralloc
#include "asm/d/d_gameover/dGameover_Draw__FP11dGameover_c.s"
static int dGameover_Draw(dGameover_c* i_this) {
return i_this->_draw();
}
#pragma pop
/* 8019BF5C-8019BF7C 19689C 0020+00 1/0 0/0 0/0 .text dGameover_Execute__FP11dGameover_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dGameover_Execute(dGameover_c* param_0) {
nofralloc
#include "asm/d/d_gameover/dGameover_Execute__FP11dGameover_c.s"
static int dGameover_Execute(dGameover_c* i_this) {
return i_this->_execute();
}
#pragma pop
/* 8019BF7C-8019BF84 1968BC 0008+00 1/0 0/0 0/0 .text dGameover_IsDelete__FP11dGameover_c
*/
static bool dGameover_IsDelete(dGameover_c* param_0) {
return true;
static int dGameover_IsDelete(dGameover_c* i_this) {
return 1;
}
/* 8019BF84-8019BFA4 1968C4 0020+00 1/0 0/0 0/0 .text dGameover_Delete__FP11dGameover_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dGameover_Delete(dGameover_c* param_0) {
nofralloc
#include "asm/d/d_gameover/dGameover_Delete__FP11dGameover_c.s"
static int dGameover_Delete(dGameover_c* i_this) {
return i_this->_delete();
}
#pragma pop
/* 8019BFA4-8019BFC4 1968E4 0020+00 1/0 0/0 0/0 .text dGameover_Create__FP9msg_class */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void dGameover_Create(msg_class* param_0) {
nofralloc
#include "asm/d/d_gameover/dGameover_Create__FP9msg_class.s"
static int dGameover_Create(msg_class* i_this) {
return static_cast<dGameover_c*>(i_this)->_create();
}
#pragma pop
/* 8019BFC4-8019C008 196904 0044+00 0/0 2/2 0/0 .text d_GameOver_Create__FUc */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm s32 d_GameOver_Create(u8 param_0) {
nofralloc
#include "asm/d/d_gameover/d_GameOver_Create__FUc.s"
s32 d_GameOver_Create(u8 i_gameoverType) {
dMeter2Info_setGameOverType(i_gameoverType);
return fopMsgM_create(PROC_GAMEOVER, NULL, NULL, NULL, NULL, NULL);
}
#pragma pop
/* 8019C008-8019C06C 196948 0064+00 0/0 1/1 0/0 .text d_GameOver_Delete__FRUi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void d_GameOver_Delete(unsigned int& param_0) {
nofralloc
#include "asm/d/d_gameover/d_GameOver_Delete__FRUi.s"
bool d_GameOver_Delete(unsigned int& i_id) {
if (i_id != UINT32_MAX) {
fopMsgM_Delete(fopMsgM_SearchByID(i_id));
i_id = -1;
dMeter2Info_setGameOverType(0);
return true;
}
return false;
}
#pragma pop
/* 8019C06C-8019C0C8 1969AC 005C+00 2/1 0/0 0/0 .text __dt__10dGov_HIO_cFv */
#pragma push
@@ -938,8 +1040,7 @@ extern "C" asm void __dt__10dGov_HIO_cFv() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __sinit_d_gameover_cpp() {
nofralloc
asm void __sinit_d_gameover_cpp(){nofralloc
#include "asm/d/d_gameover/__sinit_d_gameover_cpp.s"
}
#pragma pop
@@ -964,7 +1065,8 @@ asm dDlst_Gameover_CAPTURE_c::~dDlst_Gameover_CAPTURE_c() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dMenu_save_c::~dMenu_save_c() {
// asm dMenu_save_c::~dMenu_save_c() {
extern "C" asm void __dt__12dMenu_save_cFv() {
nofralloc
#include "asm/d/d_gameover/__dt__12dMenu_save_cFv.s"
}
+63 -87
View File
@@ -5,9 +5,9 @@
#include "d/d_timer.h"
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_msg_mng.h"
#include "d/d_procname.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "f_op/f_op_msg_mng.h"
#include "m_Do/m_Do_lib.h"
//
@@ -195,18 +195,12 @@ asm void dTimer_c::_execute() {
/* 8025D33C-8025D3BC 257C7C 0080+00 1/1 0/0 0/0 .text _draw__8dTimer_cFv */
int dTimer_c::_draw() {
int ret;
if (dComIfGp_isPauseFlag() || dMsgObject_isTalkNowCheck()) {
ret = 1;
} else {
dComIfGd_set2DOpa((dDlst_base_c*)field_0xfc);
ret = 1;
return 1;
}
return ret;
dComIfGd_set2DOpa(mp_tm_scrn);
return 1;
}
/* 8025D3BC-8025D524 257CFC 0168+00 1/1 0/0 0/0 .text _delete__8dTimer_cFv */
@@ -252,7 +246,7 @@ bool dTimer_c::stock_start() {
OSTime current_time = dLib_time_c::getTime();
mTime1 = current_time;
mTime2 = current_time;
mTime1 -= OS_TIMER_CLOCK_MS * dComIfG_getTimerNowTimeMs();
}
return mDeleteCheck == 5;
@@ -275,61 +269,54 @@ int dTimer_c::stock_start(s16 param_0) {
mDeleteCheck = 5;
return 1;
}
return 0;
}
/* 8025D7E8-8025D86C 258128 0084+00 3/3 1/1 0/0 .text stop__8dTimer_cFUc */
int dTimer_c::stop(u8 param_0) {
int ret;
if (field_0x16A == 1 || field_0x16B != 0) {
ret = 0;
return 0;
} else if (mDeleteCheck != 4) {
ret = 0;
return 0;
} else {
mTime3 = dLib_time_c::getTime();
field_0x16A = 1;
field_0x16B = param_0;
ret = 1;
return 1;
}
return ret;
}
/* 8025D86C-8025D920 2581AC 00B4+00 1/1 1/1 0/0 .text restart__8dTimer_cFUc */
int dTimer_c::restart(u8 param_0) {
if (field_0x16A != 1 || field_0x16B != param_0) {
return 0;
} else if (mDeleteCheck != 4 && mDeleteCheck != 2) {
return 0;
} else {
if (mDeleteCheck != 4 && mDeleteCheck != 2) {
return 0;
} else {
mTime2 = dLib_time_c::getTime();
mTime5 += mTime2 - mTime3;
field_0x16A = 0;
field_0x16B = 0;
return 1;
}
mTime2 = dLib_time_c::getTime();
mTime5 += mTime2 - mTime3;
field_0x16A = 0;
field_0x16B = 0;
return 1;
}
}
/* 8025D920-8025D9E0 258260 00C0+00 0/0 1/1 0/0 .text end__8dTimer_cFi */
int dTimer_c::end(int param_0) {
int ret;
if (mDeleteCheck != 4) {
ret = 0;
} else {
mTime6 = dLib_time_c::getTime();
mDeleteCheck = 6;
dComIfG_setTimerNowTimeMs((mTime6 - mTime1 - mTime5) / OS_TIMER_CLOCK_MS);
if (param_0 != -1) {
field_0x158 = param_0;
}
ret = 1;
return 0;
}
return ret;
mTime6 = dLib_time_c::getTime();
mDeleteCheck = 6;
dComIfG_setTimerNowTimeMs((mTime6 - mTime1 - mTime5) / OS_TIMER_CLOCK_MS);
if (param_0 != -1) {
field_0x158 = param_0;
}
return 1;
}
/* 8025D9E0-8025D9F0 258320 0010+00 0/0 1/1 0/0 .text deleteRequest__8dTimer_cFv */
@@ -353,8 +340,8 @@ int dTimer_c::getLimitTimeMs() {
int dTimer_c::getRestTimeMs() {
OSTime tmpTime2 = mTime2 - mTime1 - mTime5;
// OSTime tmpTime = (mTime5) - mLimitTime;
return (tmpTime2 - mLimitTime) / OS_TIMER_CLOCK_MS;
return (tmpTime2 - mLimitTime) / OS_TIMER_CLOCK_MS;
}
#else
#pragma push
@@ -372,6 +359,7 @@ int dTimer_c::isStart() {
if (field_0x16A != 1 && mDeleteCheck == 4) {
return 1;
}
return 0;
}
/* ############################################################################################## */
@@ -422,10 +410,10 @@ dDlst_TimerScrnDraw_c::dDlst_TimerScrnDraw_c() {
field_0x3D0 = -1;
field_0x3D4 = 0;
field_0x3B0 = 0; // fix
field_0x3B4 = 0; // fix
field_0x3B8 = 0; // fix
field_0x3BC = 0; // fix
field_0x3B0 = 0; // fix
field_0x3B4 = 0; // fix
field_0x3B8 = 0; // fix
field_0x3BC = 0; // fix
field_0x3DE = 0;
field_0x3DF = 0;
@@ -790,43 +778,39 @@ asm void dDlst_TimerScrnDraw_c::drawPikari(int param_0) {
#pragma pop
/* 80260F04-80260F24 25B844 0020+00 1/0 0/0 0/0 .text dTimer_Draw__FP8dTimer_c */
static void dTimer_Draw(dTimer_c* i_timer) {
i_timer->_draw();
static void dTimer_Draw(dTimer_c* i_this) {
i_this->_draw();
}
/* 80260F24-80260F44 25B864 0020+00 1/0 0/0 0/0 .text dTimer_Execute__FP8dTimer_c */
static void dTimer_Execute(dTimer_c* i_timer) {
i_timer->_execute();
static void dTimer_Execute(dTimer_c* i_this) {
i_this->_execute();
}
/* 80260F44-80260F4C 25B884 0008+00 1/0 0/0 0/0 .text dTimer_IsDelete__FP8dTimer_c */
static bool dTimer_IsDelete(dTimer_c* i_timer) {
static bool dTimer_IsDelete(dTimer_c* i_this) {
return true;
}
/* 80260F4C-80260F6C 25B88C 0020+00 1/0 0/0 0/0 .text dTimer_Delete__FP8dTimer_c */
static void dTimer_Delete(dTimer_c* i_timer) {
i_timer->_delete();
static void dTimer_Delete(dTimer_c* i_this) {
i_this->_delete();
}
/* 80260F6C-80260F8C 25B8AC 0020+00 1/0 0/0 0/0 .text dTimer_Create__FP9msg_class */
static void dTimer_Create(msg_class* i_timer) {
((dTimer_c*)i_timer)->_create();
static void dTimer_Create(msg_class* i_this) {
((dTimer_c*)i_this)->_create();
}
/* 80260F8C-80261034 25B8CC 00A8+00 0/0 1/1 9/9 .text dTimer_createTimer__FlUlUcUcffff */
s32 dTimer_createTimer(s32 param_0, u32 param_1, u8 param_2, u8 param_3, f32 param_4,
f32 param_5, f32 param_6, f32 param_7) {
s32 ret;
s32 dTimer_createTimer(s32 param_0, u32 param_1, u8 param_2, u8 param_3, f32 param_4, f32 param_5,
f32 param_6, f32 param_7) {
if (dComIfG_getTimerMode() == -1) {
ret = fopMsgM_Timer_create(0x315,param_0,param_1,param_2,param_3,param_4,param_5,param_6,param_7,0);
return fopMsgM_Timer_create(PROC_TIMER, param_0, param_1, param_2, param_3, param_4,
param_5, param_6, param_7, 0);
}
else {
ret = -1;
}
return ret;
return -1;
}
/* ############################################################################################## */
/* 8039A3D8-8039A3D8 026A38 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@@ -852,12 +836,16 @@ SECTION_SDATA2 static f32 lit_5547 = 419.0f;
/* 80261034-80261100 25B974 00CC+00 0/0 1/1 0/0 .text dTimer_createStockTimer__Fv */
s32 dTimer_createStockTimer() {
if (dComIfG_getTimerMode() != -1) {
if ((dComIfG_getTimerMode() == 3 || dComIfG_getTimerMode() == 4) && strcmp(dComIfGp_getStartStageName(),"F_SP115")) {
if ((dComIfG_getTimerMode() == 3 || dComIfG_getTimerMode() == 4) &&
strcmp(dComIfGp_getStartStageName(), "F_SP115"))
{
dComIfG_setTimerMode(-1);
return -1;
} else {
u8 timer_type = dComIfG_getTimerType();
return fopMsgM_Timer_create(0x315,10,0,timer_type,0,FLOAT_LABEL(lit_5544),FLOAT_LABEL(lit_5545),FLOAT_LABEL(lit_5546),FLOAT_LABEL(lit_5547),0);
return fopMsgM_Timer_create(PROC_TIMER, 10, 0, timer_type, 0, FLOAT_LABEL(lit_5544),
FLOAT_LABEL(lit_5545), FLOAT_LABEL(lit_5546),
FLOAT_LABEL(lit_5547), 0);
}
} else {
return -1;
@@ -868,7 +856,7 @@ s32 dTimer_createStockTimer() {
u32 dTimer_createGetIn2D(s32 param_0, cXyz param_1) {
if (dComIfG_getTimerPtr()) {
cXyz tmp;
mDoLib_project(&param_1,&tmp);
mDoLib_project(&param_1, &tmp);
param_0 = dComIfG_getTimerPtr()->createGetIn(tmp);
} else {
param_0 = 0;
@@ -890,28 +878,20 @@ static int dTimer_createStart2D(s32 param_0, u16 param_1) {
/* 802611F0-80261244 25BB30 0054+00 0/0 0/0 5/5 .text dTimer_isStart__Fv */
int dTimer_isStart() {
int ret;
if (dComIfG_getTimerPtr()) {
ret = dComIfG_getTimerPtr()->isStart();
} else {
ret = 0;
return dComIfG_getTimerPtr()->isStart();
}
return ret;
return 0;
}
/* 80261244-80261298 25BB84 0054+00 0/0 0/0 2/2 .text dTimer_getRestTimeMs__Fv */
int dTimer_getRestTimeMs() {
int ret;
if (dComIfG_getTimerPtr()) {
ret = dComIfG_getTimerPtr()->getRestTimeMs();
} else {
ret = 0;
return dComIfG_getTimerPtr()->getRestTimeMs();
}
return ret;
return 0;
}
/* 80261298-802612EC 25BBD8 0054+00 0/0 0/0 2/2 .text dTimer_show__Fv */
@@ -930,15 +910,11 @@ void dTimer_hide() {
/* 80261340-80261394 25BC80 0054+00 0/0 0/0 1/1 .text dTimer_isReadyFlag__Fv */
u32 dTimer_isReadyFlag() {
u32 ret;
if (dComIfG_getTimerPtr()) {
ret = dComIfG_getTimerPtr()->isReadyFlag();
} else {
ret = 0;
return dComIfG_getTimerPtr()->isReadyFlag();
}
return ret;
return 0;
}
/* 80261394-802613DC 25BCD4 0048+00 1/0 0/0 0/0 .text __dt__21dDlst_TimerScrnDraw_cFv */
+4
View File
@@ -809,18 +809,22 @@ void dMeter2_c::moveLife() {
field_0x204 = g_drawHIO.mLifeGaugePosX;
setDraw = true;
}
if (field_0x208 != g_drawHIO.mLifeGaugePosY) {
field_0x208 = g_drawHIO.mLifeGaugePosY;
setDraw = true;
}
if (field_0x20c != g_drawHIO.mLifeGaugeScale) {
field_0x20c = g_drawHIO.mLifeGaugeScale;
setDraw = true;
}
if (field_0x210 != g_drawHIO.mHeartScale) {
field_0x210 = g_drawHIO.mHeartScale;
setDraw = true;
}
if (field_0x214 != g_drawHIO.mLargeHeartScale) {
field_0x214 = g_drawHIO.mLargeHeartScale;
setDraw = true;
+311 -50
View File
@@ -637,8 +637,8 @@ dMeter2Draw_c::~dMeter2Draw_c() {
mpMagicFrameR = NULL;
for (int i = 0; i < 3; i++) {
delete field_0x53c[i];
field_0x53c[i] = NULL;
delete mpOxygenBpk[i];
mpOxygenBpk[i] = NULL;
}
delete mpMagicMeter;
@@ -961,7 +961,8 @@ void dMeter2Draw_c::exec(u32 param_0) {
if (param_0 & 0x1000000) {
if (mButtonsPosX != g_drawHIO.mRingHUDButtonsPosX ||
mButtonsPosY != g_drawHIO.mRingHUDButtonsPosY) {
mButtonsPosY != g_drawHIO.mRingHUDButtonsPosY)
{
mButtonsPosX = g_drawHIO.mRingHUDButtonsPosX;
mButtonsPosY = g_drawHIO.mRingHUDButtonsPosY;
mpButtonParent->paneTrans(g_drawHIO.mRingHUDButtonsPosX, g_drawHIO.mRingHUDButtonsPosY);
@@ -973,7 +974,8 @@ void dMeter2Draw_c::exec(u32 param_0) {
}
} else {
if (mButtonsPosX != g_drawHIO.mMainHUDButtonsPosX ||
mButtonsPosY != g_drawHIO.mMainHUDButtonsPosY) {
mButtonsPosY != g_drawHIO.mMainHUDButtonsPosY)
{
mButtonsPosX = g_drawHIO.mMainHUDButtonsPosX;
mButtonsPosY = g_drawHIO.mMainHUDButtonsPosY;
mpButtonParent->paneTrans(g_drawHIO.mMainHUDButtonsPosX, g_drawHIO.mMainHUDButtonsPosY);
@@ -1004,6 +1006,57 @@ SECTION_SDATA2 static f32 lit_4923[1 + 1 /* padding */] = {
SECTION_SDATA2 static f64 lit_4925 = 4503601774854144.0 /* cast s32 to float */;
/* 8021151C-80211BEC 20BE5C 06D0+00 1/0 0/0 0/0 .text draw__13dMeter2Draw_cFv */
#ifdef NONMATCHING
void dMeter2Draw_c::draw() {
J2DGrafContext* graf = dComIfGp_getCurrentGrafPort();
mpScreen->draw(0.0f, 0.0f, graf);
drawKanteraScreen(1);
drawKanteraScreen(2);
for (int i = 0; i < 2; i++) {
if (mpItemXY[i] != NULL) {
for (int j = 0; j < 3; j++) {
JGeometry::TVec3<f32> vtx1 = pane->getPanePtr()->getGlbVtx(0);
JGeometry::TVec3<f32> vtx2 = pane->getPanePtr()->getGlbVtx(3);
// mpItemNumTex[i][j]->
}
}
}
for (int i = 0; i < 2; i++) {
mpKanteraMeter[i]->drawSelf();
}
if (!dComIfGp_isPauseFlag() && mpButtonParent->getAlphaRate() != 0.0f) {
if (field_0x608 > 0.0f) {
drawPikari(mpBTextA, &field_0x608, g_drawHIO.mAButtonHighlightScale,
g_drawHIO.mAButtonHighlightFrontOuter, g_drawHIO.mAButtonHighlightFrontInner,
g_drawHIO.mAButtonHighlightBackOuter, g_drawHIO.mAButtonHighlightBackInner,
g_drawHIO.mAButtonHighlightAnimSpeed, field_0x759);
}
if (field_0x60c > 0.0f) {
drawPikari(mpBTextB, &field_0x60c, g_drawHIO.mBButtonHighlightScale,
g_drawHIO.mBButtonHighlightFrontOuter, g_drawHIO.mBButtonHighlightFrontInner,
g_drawHIO.mBButtonHighlightBackOuter, g_drawHIO.mBButtonHighlightBackInner,
g_drawHIO.mBButtonHighlightAnimSpeed, field_0x75a);
}
for (int i = 0; i < 2; i++) {
if (field_0x60c > 0.0f) {
drawPikari(mpBTextXY[i], &field_0x620[i], g_drawHIO.mXYButtonHighlightScale,
g_drawHIO.mXYButtonHighlightFrontOuter, g_drawHIO.mXYButtonHighlightFrontInner,
g_drawHIO.mXYButtonHighlightBackOuter, g_drawHIO.XYButtonHighlightBackInner,
g_drawHIO.mXYButtonHighlightAnimSpeed, field_0x768[i]);
}
}
}
// TODO
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1012,6 +1065,7 @@ asm void dMeter2Draw_c::draw() {
#include "asm/d/meter/d_meter2_draw/draw__13dMeter2Draw_cFv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 80398320-803983C0 024980 00A0+00 0/1 0/0 0/0 .rodata life_tag$4931 */
@@ -1139,18 +1193,18 @@ void dMeter2Draw_c::initMagic() {
void* res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_10percent.bpk",
dComIfGp_getMain2DArchive());
field_0x53c[0] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
field_0x53c[0]->searchUpdateMaterialID(mpKanteraScreen);
mpOxygenBpk[0] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
mpOxygenBpk[0]->searchUpdateMaterialID(mpKanteraScreen);
res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_25percent.bpk",
dComIfGp_getMain2DArchive());
field_0x53c[1] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
field_0x53c[1]->searchUpdateMaterialID(mpKanteraScreen);
mpOxygenBpk[1] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
mpOxygenBpk[1]->searchUpdateMaterialID(mpKanteraScreen);
res = JKRFileLoader::getGlbResource("zelda_game_image_sanso_50percent.bpk",
dComIfGp_getMain2DArchive());
field_0x53c[2] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
field_0x53c[2]->searchUpdateMaterialID(mpKanteraScreen);
mpOxygenBpk[2] = (J2DAnmColorKey*)J2DAnmLoaderDataBase::load(res);
mpOxygenBpk[2]->searchUpdateMaterialID(mpKanteraScreen);
field_0x558 = 0.0f;
mpMagicParent->setAlphaRate(0.0f);
@@ -1163,7 +1217,7 @@ void dMeter2Draw_c::initMagic() {
}
for (int i = 0; i < 3; i++) {
field_0x5fc[i] = 0.0f;
mMeterAlphaRate[i] = 0.0f;
field_0x742[i] = 0;
}
@@ -1486,6 +1540,60 @@ asm void dMeter2Draw_c::setAlphaLifeAnimeMax() {
SECTION_SDATA2 static f32 lit_6143 = 0.25f;
/* 80214EB4-80215290 20F7F4 03DC+00 1/1 0/0 0/0 .text drawKanteraScreen__13dMeter2Draw_cFUc */
// matches with literals
#ifdef NONMATCHING
void dMeter2Draw_c::drawKanteraScreen(u8 i_meterType) {
J2DGrafContext* graf = dComIfGp_getCurrentGrafPort();
mpMagicParent->setAlphaRate(mMeterAlphaRate[i_meterType]);
if (i_meterType == 0) {
JUtility::TColor black = mpMagicMeter->getInitBlack();
black.a = 255;
mpMagicMeter->setBlackWhite(black, mpMagicMeter->getInitWhite());
setAlphaMagicChange(true);
} else if (i_meterType == 1) {
mpMagicMeter->setBlackWhite(JUtility::TColor(255, 255, 140, 255),
JUtility::TColor(230, 170, 0, 255));
setAlphaKanteraChange(true);
} else if (i_meterType == 2) {
f32 oxygen_percent = (f32)dComIfGp_getOxygen() / (f32)dComIfGp_getMaxOxygen();
if (oxygen_percent <= 0.25f) {
mpMagicMeter->setBlackWhite(JUtility::TColor(255, 100, 100, 255),
JUtility::TColor(255, 10, 10, 255));
playOxygenBpkAnimation(mpOxygenBpk[0]);
if (mMeterAlphaRate[i_meterType] > 0.0f) {
Z2GetAudioMgr()->mSeMgr.seStartLevel(Z2SE_SWIM_TIMER_BLINK_2, NULL, 0, 0, 1.0f,
1.0f, -1.0f, -1.0f, 0);
}
} else if (oxygen_percent <= 0.5f) {
mpMagicMeter->setBlackWhite(JUtility::TColor(200, 200, 255, 255),
JUtility::TColor(80, 180, 255, 255));
playOxygenBpkAnimation(mpOxygenBpk[1]);
if (mMeterAlphaRate[i_meterType] > 0.0f) {
Z2GetAudioMgr()->mSeMgr.seStartLevel(Z2SE_SWIM_TIMER_BLINK_1, NULL, 0, 0, 1.0f,
1.0f, -1.0f, -1.0f, 0);
}
} else {
mpMagicMeter->setBlackWhite(JUtility::TColor(200, 200, 255, 255),
JUtility::TColor(80, 180, 255, 255));
}
setAlphaOxygenChange(true);
}
mpMagicMeter->resize(field_0x584[i_meterType], field_0x590[i_meterType]);
mpMagicFrameR->move(field_0x59c[i_meterType], field_0x5a8[i_meterType]);
mpMagicBase->resize(field_0x5b4[i_meterType], field_0x5c0[i_meterType]);
mpMagicParent->scale(field_0x5cc[i_meterType], field_0x5d8[i_meterType]);
mpMagicParent->paneTrans(field_0x5e4[i_meterType], field_0x5f0[i_meterType]);
mpKanteraScreen->draw(0.0f, 0.0f, graf);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1494,6 +1602,7 @@ asm void dMeter2Draw_c::drawKanteraScreen(u8 param_0) {
#include "asm/d/meter/d_meter2_draw/drawKanteraScreen__13dMeter2Draw_cFUc.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 804548B8-804548BC 002EB8 0004+00 1/1 0/0 0/0 .sdata2 @6175 */
@@ -1501,29 +1610,31 @@ SECTION_SDATA2 static f32 lit_6175 = 0.03125f;
/* 80215290-80215380 20FBD0 00F0+00 1/1 0/0 0/0 .text drawMagic__13dMeter2Draw_cFssff */
#ifdef NONMATCHING
void dMeter2Draw_c::drawMagic(s16 max_count, s16 now_count, f32 x_pos, f32 y_pos) {
f32 x_diff = mpMagicFrameR->getInitPosX() - mpMagicFrameL->getInitPosX();
void dMeter2Draw_c::drawMagic(s16 i_maxMagic, s16 i_nowMagic, f32 i_xPos, f32 i_yPos) {
f32 frameL_posX = mpMagicFrameL->getInitPosX();
f32 frameR_posX = mpMagicFrameR->getInitPosX();
field_0x584 = mpMagicMeter->getInitSizeX() * (lit_6175 * now_count);
field_0x590 = mpMagicMeter->getInitSizeY();
field_0x584[0] = (mpMagicMeter->getInitSizeX() * i_nowMagic) * 0.03125f;
field_0x590[0] = mpMagicMeter->getInitSizeY();
field_0x59c = mpMagicFrameL->getInitPosX() * x_diff * (max_count * lit_6175);
field_0x5a8 = mpMagicFrameL->getInitPosY();
field_0x59c[0] =
((f32)i_maxMagic * (frameR_posX - frameL_posX)) * 0.03125f + mpMagicFrameL->getInitPosX();
field_0x5a8[0] = mpMagicFrameL->getInitPosY();
field_0x5b4 = mpMagicBase->getInitSizeX() * (max_count * lit_6175);
field_0x5c0 = mpMagicBase->getInitSizeY();
field_0x5b4[0] = (f32)i_maxMagic * mpMagicBase->getInitSizeX() * 0.03125f;
field_0x5c0[0] = mpMagicBase->getInitSizeY();
field_0x5cc = g_drawHIO.mMagicMeterScale;
field_0x5d8 = g_drawHIO.mMagicMeterScale;
field_0x5cc[0] = g_drawHIO.mMagicMeterScale;
field_0x5d8[0] = g_drawHIO.mMagicMeterScale;
field_0x5e4 = x_pos;
field_0x5f0 = y_pos;
field_0x5e4[0] = i_xPos;
field_0x5f0[0] = i_yPos;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Draw_c::drawMagic(s16 param_0, s16 param_1, f32 param_2, f32 param_3) {
asm void dMeter2Draw_c::drawMagic(s16 i_maxMagic, s16 i_nowMagic, f32 i_xPos, f32 i_yPos) {
nofralloc
#include "asm/d/meter/d_meter2_draw/drawMagic__13dMeter2Draw_cFssff.s"
}
@@ -1531,14 +1642,35 @@ asm void dMeter2Draw_c::drawMagic(s16 param_0, s16 param_1, f32 param_2, f32 par
#endif
/* 80215380-802154A8 20FCC0 0128+00 2/2 0/0 0/0 .text setAlphaMagicChange__13dMeter2Draw_cFb */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Draw_c::setAlphaMagicChange(bool param_0) {
nofralloc
#include "asm/d/meter/d_meter2_draw/setAlphaMagicChange__13dMeter2Draw_cFb.s"
void dMeter2Draw_c::setAlphaMagicChange(bool i_forceSet) {
bool meter_parent_alpha_set = false;
bool meter_alpha_set = false;
bool meter_frame_alpha_set = false;
if (field_0x7a4 != mpMagicParent->getAlphaRate() || i_forceSet) {
field_0x7a4 = mpMagicParent->getAlphaRate();
meter_parent_alpha_set = true;
}
if (mMagicMeterAlpha != g_drawHIO.mMagicMeterAlpha || i_forceSet) {
mMagicMeterAlpha = g_drawHIO.mMagicMeterAlpha;
meter_alpha_set = true;
}
if (mMagicMeterFrameAlpha != g_drawHIO.mMagicMeterFrameAlpha || i_forceSet) {
mMagicMeterFrameAlpha = g_drawHIO.mMagicMeterFrameAlpha;
meter_frame_alpha_set = true;
}
if (meter_parent_alpha_set || meter_alpha_set || i_forceSet) {
mpMagicMeter->setAlphaRate(mMagicMeterAlpha * field_0x7a4);
}
if (meter_parent_alpha_set || meter_frame_alpha_set || i_forceSet) {
mpMagicFrameL->setAlphaRate(mMagicMeterFrameAlpha * field_0x7a4);
mpMagicFrameR->setAlphaRate(mMagicMeterFrameAlpha * field_0x7a4);
}
}
#pragma pop
/* ############################################################################################## */
/* 804548BC-804548C0 002EBC 0004+00 4/4 0/0 0/0 .sdata2 @6210 */
@@ -1552,24 +1684,60 @@ SECTION_SDATA2 static f64 lit_6293 = 4503599627370496.0 /* cast u32 to float */;
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Draw_c::drawKantera(s32 param_0, s32 param_1, f32 param_2, f32 param_3) {
asm void dMeter2Draw_c::drawKantera(s32 i_maxOil, s32 i_nowOil, f32 i_xPos, f32 i_yPos) {
nofralloc
#include "asm/d/meter/d_meter2_draw/drawKantera__13dMeter2Draw_cFllff.s"
}
#pragma pop
/* 802155B8-802156E0 20FEF8 0128+00 2/2 1/1 0/0 .text setAlphaKanteraChange__13dMeter2Draw_cFb */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Draw_c::setAlphaKanteraChange(bool param_0) {
nofralloc
#include "asm/d/meter/d_meter2_draw/setAlphaKanteraChange__13dMeter2Draw_cFb.s"
void dMeter2Draw_c::setAlphaKanteraChange(bool i_forceSet) {
bool meter_parent_alpha_set = false;
bool meter_alpha_set = false;
bool meter_frame_alpha_set = false;
if (field_0x7b0 != mpMagicParent->getAlphaRate() || i_forceSet) {
field_0x7b0 = mpMagicParent->getAlphaRate();
meter_parent_alpha_set = true;
}
if (mLanternMeterAlpha != g_drawHIO.mLanternMeterAlpha || i_forceSet) {
mLanternMeterAlpha = g_drawHIO.mLanternMeterAlpha;
meter_alpha_set = true;
}
if (mLanternMeterFrameAlpha != g_drawHIO.mLanternMeterFrameAlpha || i_forceSet) {
mLanternMeterFrameAlpha = g_drawHIO.mLanternMeterFrameAlpha;
meter_frame_alpha_set = true;
}
if (meter_parent_alpha_set || meter_alpha_set || i_forceSet) {
mpMagicMeter->setAlphaRate(mLanternMeterAlpha * field_0x7b0);
}
if (meter_parent_alpha_set || meter_frame_alpha_set || i_forceSet) {
mpMagicFrameL->setAlphaRate(mLanternMeterFrameAlpha * field_0x7b0);
mpMagicFrameR->setAlphaRate(mLanternMeterFrameAlpha * field_0x7b0);
}
}
#pragma pop
/* 802156E0-8021575C 210020 007C+00 0/0 1/1 0/0 .text setAlphaKanteraAnimeMin__13dMeter2Draw_cFv
*/
// matches with literals
#ifdef NONMATCHING
void dMeter2Draw_c::setAlphaKanteraAnimeMin() {
if (field_0x742[1] <= 0) {
mMeterAlphaRate[1] = 0.0f;
} else {
field_0x742[1]--;
if (field_0x742[1] < 0) {
field_0x742[1] = 0;
}
mMeterAlphaRate[1] = (field_0x742[1] / 5.0f) * g_drawHIO.mHUDAlpha;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1578,9 +1746,25 @@ asm void dMeter2Draw_c::setAlphaKanteraAnimeMin() {
#include "asm/d/meter/d_meter2_draw/setAlphaKanteraAnimeMin__13dMeter2Draw_cFv.s"
}
#pragma pop
#endif
/* 8021575C-802157E0 21009C 0084+00 0/0 1/1 0/0 .text setAlphaKanteraAnimeMax__13dMeter2Draw_cFv
*/
// matches with literals
#ifdef NONMATCHING
void dMeter2Draw_c::setAlphaKanteraAnimeMax() {
if (field_0x742[1] >= 5) {
mMeterAlphaRate[1] = g_drawHIO.mHUDAlpha;
} else {
field_0x742[1]++;
if (field_0x742[1] > 5) {
field_0x742[1] = 5;
}
mMeterAlphaRate[1] = (field_0x742[1] / 5.0f) * g_drawHIO.mHUDAlpha;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1589,6 +1773,7 @@ asm void dMeter2Draw_c::setAlphaKanteraAnimeMax() {
#include "asm/d/meter/d_meter2_draw/setAlphaKanteraAnimeMax__13dMeter2Draw_cFv.s"
}
#pragma pop
#endif
/* 802157E0-802158F0 210120 0110+00 0/0 1/1 0/0 .text drawOxygen__13dMeter2Draw_cFllff */
#pragma push
@@ -1601,16 +1786,52 @@ asm void dMeter2Draw_c::drawOxygen(s32 param_0, s32 param_1, f32 param_2, f32 pa
#pragma pop
/* 802158F0-80215A18 210230 0128+00 1/1 1/1 0/0 .text setAlphaOxygenChange__13dMeter2Draw_cFb */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Draw_c::setAlphaOxygenChange(bool param_0) {
nofralloc
#include "asm/d/meter/d_meter2_draw/setAlphaOxygenChange__13dMeter2Draw_cFb.s"
void dMeter2Draw_c::setAlphaOxygenChange(bool i_forceSet) {
bool meter_parent_alpha_set = false;
bool meter_alpha_set = false;
bool meter_frame_alpha_set = false;
if (field_0x7bc != mpMagicParent->getAlphaRate() || i_forceSet) {
field_0x7bc = mpMagicParent->getAlphaRate();
meter_parent_alpha_set = true;
}
if (mOxygenMeterAlpha != g_drawHIO.mOxygenMeterAlpha || i_forceSet) {
mOxygenMeterAlpha = g_drawHIO.mOxygenMeterAlpha;
meter_alpha_set = true;
}
if (mOxygenMeterFrameAlpha != g_drawHIO.mOxygenMeterFrameAlpha || i_forceSet) {
mOxygenMeterFrameAlpha = g_drawHIO.mOxygenMeterFrameAlpha;
meter_frame_alpha_set = true;
}
if (meter_parent_alpha_set || meter_alpha_set || i_forceSet) {
mpMagicMeter->setAlphaRate(mOxygenMeterAlpha * field_0x7bc);
}
if (meter_parent_alpha_set || meter_frame_alpha_set || i_forceSet) {
mpMagicFrameL->setAlphaRate(mOxygenMeterFrameAlpha * field_0x7bc);
mpMagicFrameR->setAlphaRate(mOxygenMeterFrameAlpha * field_0x7bc);
}
}
#pragma pop
/* 80215A18-80215A94 210358 007C+00 0/0 1/1 0/0 .text setAlphaOxygenAnimeMin__13dMeter2Draw_cFv */
// matches with literals
#ifdef NONMATCHING
void dMeter2Draw_c::setAlphaOxygenAnimeMin() {
if (field_0x742[2] <= 0) {
mMeterAlphaRate[2] = 0.0f;
} else {
field_0x742[2]--;
if (field_0x742[2] < 0) {
field_0x742[2] = 0;
}
mMeterAlphaRate[2] = (field_0x742[2] / 5.0f) * g_drawHIO.mHUDAlpha;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1619,8 +1840,24 @@ asm void dMeter2Draw_c::setAlphaOxygenAnimeMin() {
#include "asm/d/meter/d_meter2_draw/setAlphaOxygenAnimeMin__13dMeter2Draw_cFv.s"
}
#pragma pop
#endif
/* 80215A94-80215B18 2103D4 0084+00 0/0 1/1 0/0 .text setAlphaOxygenAnimeMax__13dMeter2Draw_cFv */
// matches with literals
#ifdef NONMATCHING
void dMeter2Draw_c::setAlphaOxygenAnimeMax() {
if (field_0x742[2] >= 5) {
mMeterAlphaRate[2] = g_drawHIO.mHUDAlpha;
} else {
field_0x742[2]++;
if (field_0x742[2] > 5) {
field_0x742[2] = 5;
}
mMeterAlphaRate[2] = (field_0x742[2] / 5.0f) * g_drawHIO.mHUDAlpha;
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -1629,6 +1866,7 @@ asm void dMeter2Draw_c::setAlphaOxygenAnimeMax() {
#include "asm/d/meter/d_meter2_draw/setAlphaOxygenAnimeMax__13dMeter2Draw_cFv.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 804548C8-804548CC 002EC8 0004+00 4/4 0/0 0/0 .sdata2 @6524 */
@@ -1647,9 +1885,7 @@ asm void dMeter2Draw_c::drawLightDrop(u8 param_0, u8 param_1, f32 param_2, f32 p
/* 80215DA4-80215DA8 2106E4 0004+00 1/1 1/1 0/0 .text setAlphaLightDropChange__13dMeter2Draw_cFb
*/
void dMeter2Draw_c::setAlphaLightDropChange(bool param_0) {
/* empty function */
}
void dMeter2Draw_c::setAlphaLightDropChange(bool param_0) {}
/* 80215DA8-80215E40 2106E8 0098+00 0/0 1/1 0/0 .text getNowLightDropRateCalc__13dMeter2Draw_cFv
*/
@@ -2192,6 +2428,29 @@ SECTION_SBSS2 static u8 lit_8747[4];
SECTION_SBSS2 static u8 data_80456B9C[4];
/* 8021AF78-8021B0C8 2158B8 0150+00 0/0 1/1 0/0 .text drawKanteraMeter__13dMeter2Draw_cFUcf */
#ifdef NONMATCHING
void dMeter2Draw_c::drawKanteraMeter(u8 i_button, f32 i_alphaRate) {
CPaneMgr* pane = mpItemXY[i_button];
f32 local_68[2][2];
local_68[1][0] = 0.0f;
local_68[1][1] = 0.0f;
local_68[0][0] = 0.0f;
local_68[0][1] = 0.0f;
if (i_alphaRate == 1.0f) {
i_alphaRate = pane->getAlphaRate();
}
JGeometry::TVec3<f32> vtx1 = pane->getPanePtr()->getGlbVtx(0);
JGeometry::TVec3<f32> vtx2 = pane->getPanePtr()->getGlbVtx(3);
mpKanteraMeter[i_button]->setPos((vtx1.x + vtx2.x) * 0.5f + 9.0f + local_68[1][i_button],
vtx2.y + local_68[0][i_button]);
mpKanteraMeter[i_button]->setScale(0.6f, 0.6f);
mpKanteraMeter[i_button]->setNowGauge(dComIfGs_getMaxOil(), dComIfGs_getOil());
mpKanteraMeter[i_button]->setAlphaRate(i_alphaRate);
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2200,6 +2459,7 @@ asm void dMeter2Draw_c::drawKanteraMeter(u8 param_0, f32 param_1) {
#include "asm/d/meter/d_meter2_draw/drawKanteraMeter__13dMeter2Draw_cFUcf.s"
}
#pragma pop
#endif
/* 8021B0C8-8021B104 215A08 003C+00 0/0 3/3 0/0 .text isButtonVisible__13dMeter2Draw_cFv
*/
@@ -2414,7 +2674,8 @@ SECTION_DEAD static char const* const pad_80398A77 = "";
*/
bool dMeter2Draw_c::getCanoeFishing() {
if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") &&
g_dComIfG_gameInfo.play.mPlayer[0]->checkCanoeRide()) {
g_dComIfG_gameInfo.play.mPlayer[0]->checkCanoeRide())
{
return TRUE;
} else {
return FALSE;
+1 -1
View File
@@ -105,7 +105,7 @@ def lcf_generate(output_path,shiftable,map_file):
if shiftable==True:
for line in map_file:
literals_found = []
if type(symbol['name'])==str and line.find(' '+symbol['name']+' ')!=-1 and name[0] != "@" or type(symbol['label']) == str and line.find(' '+symbol['label']+' ')!=-1:
if type(symbol['name'])==str and line.find(' '+symbol['name']+' ')!=-1 and symbol['name'][0] != "@" or type(symbol['label']) == str and line.find(' '+symbol['label']+' ')!=-1:
linesplit = line.split()
if len(linesplit) > 3 and linesplit[2]!="NOT":
if line.find("lit_")!=-1: