Z2SeqMgr mostly done (#2053)

This commit is contained in:
Caroline Madsen 2024-01-29 18:50:13 -05:00 committed by GitHub
parent 36a29bc4fe
commit 16259ec265
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
27 changed files with 2275 additions and 525 deletions

View File

@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
.text | 44.556552% | 1602496 | 3596544
.text | 45.154571% | 1624004 | 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 | 50.400331% | 2026432 | 4020672
Total | 50.935267% | 2047940 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 50.400331% | 2026432 | 4020672
main.dol | 50.935267% | 2047940 | 4020672
RELs | 35.541016% | 4087332 | 11500324
Total | 39.390281% | 6113764 | 15520996
Total | 39.528855% | 6135272 | 15520996
## RELs

View File

@ -1,13 +0,0 @@
lbl_802AFDEC:
/* 802AFDEC 80 63 00 0C */ lwz r3, 0xc(r3)
/* 802AFDF0 28 03 00 00 */ cmplwi r3, 0
/* 802AFDF4 41 82 00 1C */ beq lbl_802AFE10
/* 802AFDF8 88 83 00 1E */ lbz r4, 0x1e(r3)
/* 802AFDFC 38 00 00 03 */ li r0, 3
/* 802AFE00 38 60 FF FF */ li r3, -1
/* 802AFE04 7C 00 20 10 */ subfc r0, r0, r4
/* 802AFE08 7C 63 01 90 */ subfze r3, r3
/* 802AFE0C 4E 80 00 20 */ blr
lbl_802AFE10:
/* 802AFE10 38 60 00 00 */ li r3, 0
/* 802AFE14 4E 80 00 20 */ blr

View File

@ -1,58 +0,0 @@
lbl_802AFE18:
/* 802AFE18 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802AFE1C 7C 08 02 A6 */ mflr r0
/* 802AFE20 90 01 00 24 */ stw r0, 0x24(r1)
/* 802AFE24 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802AFE28 7C 7F 1B 78 */ mr r31, r3
/* 802AFE2C 80 63 00 0C */ lwz r3, 0xc(r3)
/* 802AFE30 28 03 00 00 */ cmplwi r3, 0
/* 802AFE34 41 82 00 0C */ beq lbl_802AFE40
/* 802AFE38 38 63 00 1C */ addi r3, r3, 0x1c
/* 802AFE3C 4B FF 24 09 */ bl unlockIfLocked__15JAISoundStatus_Fv
lbl_802AFE40:
/* 802AFE40 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 802AFE44 28 03 00 00 */ cmplwi r3, 0
/* 802AFE48 41 82 00 10 */ beq lbl_802AFE58
/* 802AFE4C 80 83 00 18 */ lwz r4, 0x18(r3)
/* 802AFE50 90 81 00 0C */ stw r4, 0xc(r1)
/* 802AFE54 48 00 00 08 */ b lbl_802AFE5C
lbl_802AFE58:
/* 802AFE58 38 80 FF FF */ li r4, -1
lbl_802AFE5C:
/* 802AFE5C 3C 04 00 01 */ addis r0, r4, 1
/* 802AFE60 28 00 FF FF */ cmplwi r0, 0xffff
/* 802AFE64 40 82 00 1C */ bne lbl_802AFE80
/* 802AFE68 80 7F 00 00 */ lwz r3, 0(r31)
/* 802AFE6C 28 03 00 00 */ cmplwi r3, 0
/* 802AFE70 41 82 00 58 */ beq lbl_802AFEC8
/* 802AFE74 38 80 00 1E */ li r4, 0x1e
/* 802AFE78 4B FF 26 65 */ bl stop__8JAISoundFUl
/* 802AFE7C 48 00 00 4C */ b lbl_802AFEC8
lbl_802AFE80:
/* 802AFE80 28 03 00 00 */ cmplwi r3, 0
/* 802AFE84 41 82 00 10 */ beq lbl_802AFE94
/* 802AFE88 80 83 00 18 */ lwz r4, 0x18(r3)
/* 802AFE8C 90 81 00 08 */ stw r4, 8(r1)
/* 802AFE90 48 00 00 08 */ b lbl_802AFE98
lbl_802AFE94:
/* 802AFE94 38 80 FF FF */ li r4, -1
lbl_802AFE98:
/* 802AFE98 3C 04 FE 00 */ addis r0, r4, 0xfe00
/* 802AFE9C 28 00 00 00 */ cmplwi r0, 0
/* 802AFEA0 40 82 00 28 */ bne lbl_802AFEC8
/* 802AFEA4 28 03 00 00 */ cmplwi r3, 0
/* 802AFEA8 41 82 00 08 */ beq lbl_802AFEB0
/* 802AFEAC 4B FF 26 ED */ bl stop__8JAISoundFv
lbl_802AFEB0:
/* 802AFEB0 7F E3 FB 78 */ mr r3, r31
/* 802AFEB4 3C 80 01 00 */ lis r4, 0x0100 /* 0x010000A9@ha */
/* 802AFEB8 38 84 00 A9 */ addi r4, r4, 0x00A9 /* 0x010000A9@l */
/* 802AFEBC 38 A0 00 00 */ li r5, 0
/* 802AFEC0 38 C0 00 00 */ li r6, 0
/* 802AFEC4 4B FF F1 4D */ bl bgmStart__8Z2SeqMgrFUlUll
lbl_802AFEC8:
/* 802AFEC8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802AFECC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802AFED0 7C 08 03 A6 */ mtlr r0
/* 802AFED4 38 21 00 20 */ addi r1, r1, 0x20
/* 802AFED8 4E 80 00 20 */ blr

View File

@ -1,52 +0,0 @@
lbl_802AFEDC:
/* 802AFEDC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802AFEE0 7C 08 02 A6 */ mflr r0
/* 802AFEE4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802AFEE8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802AFEEC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802AFEF0 7C 7E 1B 78 */ mr r30, r3
/* 802AFEF4 7C 9F 23 78 */ mr r31, r4
/* 802AFEF8 80 83 00 0C */ lwz r4, 0xc(r3)
/* 802AFEFC 28 04 00 00 */ cmplwi r4, 0
/* 802AFF00 41 82 00 10 */ beq lbl_802AFF10
/* 802AFF04 80 64 00 18 */ lwz r3, 0x18(r4)
/* 802AFF08 90 61 00 0C */ stw r3, 0xc(r1)
/* 802AFF0C 48 00 00 08 */ b lbl_802AFF14
lbl_802AFF10:
/* 802AFF10 38 60 FF FF */ li r3, -1
lbl_802AFF14:
/* 802AFF14 3C 03 FE 00 */ addis r0, r3, 0xfe00
/* 802AFF18 28 00 00 3F */ cmplwi r0, 0x3f
/* 802AFF1C 41 82 00 28 */ beq lbl_802AFF44
/* 802AFF20 28 04 00 00 */ cmplwi r4, 0
/* 802AFF24 41 82 00 10 */ beq lbl_802AFF34
/* 802AFF28 80 64 00 18 */ lwz r3, 0x18(r4)
/* 802AFF2C 90 61 00 08 */ stw r3, 8(r1)
/* 802AFF30 48 00 00 08 */ b lbl_802AFF38
lbl_802AFF34:
/* 802AFF34 38 60 FF FF */ li r3, -1
lbl_802AFF38:
/* 802AFF38 3C 03 FE 00 */ addis r0, r3, 0xfe00
/* 802AFF3C 28 00 00 5C */ cmplwi r0, 0x5c
/* 802AFF40 40 82 00 18 */ bne lbl_802AFF58
lbl_802AFF44:
/* 802AFF44 80 6D 85 FC */ lwz r3, __OSReport_disable-0x1C(r13)
/* 802AFF48 3C 80 80 3A */ lis r4, Z2SeqMgr__stringBase0@ha /* 0x8039BA08@ha */
/* 802AFF4C 38 84 BA 08 */ addi r4, r4, Z2SeqMgr__stringBase0@l /* 0x8039BA08@l */
/* 802AFF50 38 84 02 76 */ addi r4, r4, 0x276
/* 802AFF54 48 00 62 95 */ bl setDemoName__11Z2StatusMgrFPc
lbl_802AFF58:
/* 802AFF58 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 802AFF5C 28 03 00 00 */ cmplwi r3, 0
/* 802AFF60 41 82 00 0C */ beq lbl_802AFF6C
/* 802AFF64 7F E4 FB 78 */ mr r4, r31
/* 802AFF68 4B FF 25 75 */ bl stop__8JAISoundFUl
lbl_802AFF6C:
/* 802AFF6C 38 7E 00 0C */ addi r3, r30, 0xc
/* 802AFF70 4B FF 22 15 */ bl releaseSound__14JAISoundHandleFv
/* 802AFF74 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802AFF78 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802AFF7C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802AFF80 7C 08 03 A6 */ mtlr r0
/* 802AFF84 38 21 00 20 */ addi r1, r1, 0x20
/* 802AFF88 4E 80 00 20 */ blr

View File

@ -1,48 +0,0 @@
lbl_802B3EAC:
/* 802B3EAC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B3EB0 80 A3 00 00 */ lwz r5, 0(r3)
/* 802B3EB4 28 05 00 00 */ cmplwi r5, 0
/* 802B3EB8 41 82 00 10 */ beq lbl_802B3EC8
/* 802B3EBC 80 05 00 18 */ lwz r0, 0x18(r5)
/* 802B3EC0 90 01 00 10 */ stw r0, 0x10(r1)
/* 802B3EC4 48 00 00 08 */ b lbl_802B3ECC
lbl_802B3EC8:
/* 802B3EC8 38 00 FF FF */ li r0, -1
lbl_802B3ECC:
/* 802B3ECC 7C 04 00 40 */ cmplw r4, r0
/* 802B3ED0 40 82 00 0C */ bne lbl_802B3EDC
/* 802B3ED4 38 60 00 01 */ li r3, 1
/* 802B3ED8 48 00 00 60 */ b lbl_802B3F38
lbl_802B3EDC:
/* 802B3EDC 80 A3 00 04 */ lwz r5, 4(r3)
/* 802B3EE0 28 05 00 00 */ cmplwi r5, 0
/* 802B3EE4 41 82 00 10 */ beq lbl_802B3EF4
/* 802B3EE8 80 05 00 18 */ lwz r0, 0x18(r5)
/* 802B3EEC 90 01 00 0C */ stw r0, 0xc(r1)
/* 802B3EF0 48 00 00 08 */ b lbl_802B3EF8
lbl_802B3EF4:
/* 802B3EF4 38 00 FF FF */ li r0, -1
lbl_802B3EF8:
/* 802B3EF8 7C 04 00 40 */ cmplw r4, r0
/* 802B3EFC 40 82 00 0C */ bne lbl_802B3F08
/* 802B3F00 38 60 00 01 */ li r3, 1
/* 802B3F04 48 00 00 34 */ b lbl_802B3F38
lbl_802B3F08:
/* 802B3F08 80 63 00 0C */ lwz r3, 0xc(r3)
/* 802B3F0C 28 03 00 00 */ cmplwi r3, 0
/* 802B3F10 41 82 00 10 */ beq lbl_802B3F20
/* 802B3F14 80 03 00 18 */ lwz r0, 0x18(r3)
/* 802B3F18 90 01 00 08 */ stw r0, 8(r1)
/* 802B3F1C 48 00 00 08 */ b lbl_802B3F24
lbl_802B3F20:
/* 802B3F20 38 00 FF FF */ li r0, -1
lbl_802B3F24:
/* 802B3F24 7C 04 00 40 */ cmplw r4, r0
/* 802B3F28 40 82 00 0C */ bne lbl_802B3F34
/* 802B3F2C 38 60 00 01 */ li r3, 1
/* 802B3F30 48 00 00 08 */ b lbl_802B3F38
lbl_802B3F34:
/* 802B3F34 38 60 00 00 */ li r3, 0
lbl_802B3F38:
/* 802B3F38 38 21 00 20 */ addi r1, r1, 0x20
/* 802B3F3C 4E 80 00 20 */ blr

View File

@ -1,72 +0,0 @@
lbl_802B545C:
/* 802B545C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B5460 7C 08 02 A6 */ mflr r0
/* 802B5464 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B5468 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802B546C 7C 7F 1B 78 */ mr r31, r3
/* 802B5470 80 6D 86 00 */ lwz r3, __OSReport_disable-0x18(r13)
/* 802B5474 88 03 00 1D */ lbz r0, 0x1d(r3)
/* 802B5478 28 00 00 00 */ cmplwi r0, 0
/* 802B547C 41 82 00 DC */ beq lbl_802B5558
/* 802B5480 88 1F 00 D0 */ lbz r0, 0xd0(r31)
/* 802B5484 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f
/* 802B5488 41 82 00 D0 */ beq lbl_802B5558
/* 802B548C 80 6D 85 FC */ lwz r3, __OSReport_disable-0x1C(r13)
/* 802B5490 48 00 12 A5 */ bl checkDayTime__11Z2StatusMgrFv
/* 802B5494 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802B5498 41 82 00 8C */ beq lbl_802B5524
/* 802B549C 3C 00 01 00 */ lis r0, 0x100
/* 802B54A0 90 01 00 0C */ stw r0, 0xc(r1)
/* 802B54A4 80 6D 85 E0 */ lwz r3, __OSReport_disable-0x38(r13)
/* 802B54A8 38 81 00 0C */ addi r4, r1, 0xc
/* 802B54AC 7F E5 FB 78 */ mr r5, r31
/* 802B54B0 38 C0 00 00 */ li r6, 0
/* 802B54B4 81 83 00 00 */ lwz r12, 0(r3)
/* 802B54B8 81 8C 00 08 */ lwz r12, 8(r12)
/* 802B54BC 7D 89 03 A6 */ mtctr r12
/* 802B54C0 4E 80 04 21 */ bctrl
/* 802B54C4 7F E3 FB 78 */ mr r3, r31
/* 802B54C8 38 80 00 00 */ li r4, 0
/* 802B54CC 4B FF AA C1 */ bl changeBgmStatus__8Z2SeqMgrFl
/* 802B54D0 38 80 00 00 */ li r4, 0
/* 802B54D4 98 9F 00 C4 */ stb r4, 0xc4(r31)
/* 802B54D8 80 6D 8D E0 */ lwz r3, mLinkPtr__14Z2CreatureLink(r13)
/* 802B54DC 88 03 00 CB */ lbz r0, 0xcb(r3)
/* 802B54E0 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f
/* 802B54E4 41 82 00 24 */ beq lbl_802B5508
/* 802B54E8 38 60 00 01 */ li r3, 1
/* 802B54EC 88 1F 00 D0 */ lbz r0, 0xd0(r31)
/* 802B54F0 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 802B54F4 98 1F 00 D0 */ stb r0, 0xd0(r31)
/* 802B54F8 98 9F 00 C3 */ stb r4, 0xc3(r31)
/* 802B54FC 7F E3 FB 78 */ mr r3, r31
/* 802B5500 48 00 00 6D */ bl fieldRidingMute__8Z2SeqMgrFv
/* 802B5504 48 00 00 54 */ b lbl_802B5558
lbl_802B5508:
/* 802B5508 88 1F 00 D0 */ lbz r0, 0xd0(r31)
/* 802B550C 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c
/* 802B5510 98 1F 00 D0 */ stb r0, 0xd0(r31)
/* 802B5514 98 9F 00 C3 */ stb r4, 0xc3(r31)
/* 802B5518 7F E3 FB 78 */ mr r3, r31
/* 802B551C 48 00 00 51 */ bl fieldRidingMute__8Z2SeqMgrFv
/* 802B5520 48 00 00 38 */ b lbl_802B5558
lbl_802B5524:
/* 802B5524 3C 60 01 00 */ lis r3, 0x0100 /* 0x01000001@ha */
/* 802B5528 38 03 00 01 */ addi r0, r3, 0x0001 /* 0x01000001@l */
/* 802B552C 90 01 00 08 */ stw r0, 8(r1)
/* 802B5530 80 6D 85 E0 */ lwz r3, __OSReport_disable-0x38(r13)
/* 802B5534 38 81 00 08 */ addi r4, r1, 8
/* 802B5538 7F E5 FB 78 */ mr r5, r31
/* 802B553C 38 C0 00 00 */ li r6, 0
/* 802B5540 81 83 00 00 */ lwz r12, 0(r3)
/* 802B5544 81 8C 00 08 */ lwz r12, 8(r12)
/* 802B5548 7D 89 03 A6 */ mtctr r12
/* 802B554C 4E 80 04 21 */ bctrl
/* 802B5550 38 00 00 00 */ li r0, 0
/* 802B5554 98 1F 00 BC */ stb r0, 0xbc(r31)
lbl_802B5558:
/* 802B5558 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802B555C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B5560 7C 08 03 A6 */ mtlr r0
/* 802B5564 38 21 00 20 */ addi r1, r1, 0x20
/* 802B5568 4E 80 00 20 */ blr

View File

@ -1,20 +0,0 @@
lbl_802B5750:
/* 802B5750 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B5754 7C 08 02 A6 */ mflr r0
/* 802B5758 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B575C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802B5760 7C 7F 1B 78 */ mr r31, r3
/* 802B5764 7F E4 FB 78 */ mr r4, r31
/* 802B5768 38 A0 00 05 */ li r5, 5
/* 802B576C 4B FF E7 D5 */ bl getChildTrackVolume__8Z2SeqMgrFP14JAISoundHandlei
/* 802B5770 D0 3F 00 C8 */ stfs f1, 0xc8(r31)
/* 802B5774 7F E3 FB 78 */ mr r3, r31
/* 802B5778 7F E4 FB 78 */ mr r4, r31
/* 802B577C 38 A0 00 0C */ li r5, 0xc
/* 802B5780 4B FF E7 C1 */ bl getChildTrackVolume__8Z2SeqMgrFP14JAISoundHandlei
/* 802B5784 D0 3F 00 CC */ stfs f1, 0xcc(r31)
/* 802B5788 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802B578C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B5790 7C 08 03 A6 */ mtlr r0
/* 802B5794 38 21 00 10 */ addi r1, r1, 0x10
/* 802B5798 4E 80 00 20 */ blr

View File

@ -1,17 +0,0 @@
lbl_802B4128:
/* 802B4128 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802B412C 7C 08 02 A6 */ mflr r0
/* 802B4130 90 01 00 14 */ stw r0, 0x14(r1)
/* 802B4134 80 6D 85 C8 */ lwz r3, __OSReport_disable-0x50(r13)
/* 802B4138 28 03 00 00 */ cmplwi r3, 0
/* 802B413C 41 82 00 18 */ beq lbl_802B4154
/* 802B4140 38 80 00 00 */ li r4, 0
/* 802B4144 38 A0 02 BC */ li r5, 0x2bc
/* 802B4148 38 C0 04 4C */ li r6, 0x44c
/* 802B414C 38 E0 05 DC */ li r7, 0x5dc
/* 802B4150 48 00 B8 31 */ bl setForceBattleArea__13Z2SoundObjMgrFbUsUsUs
lbl_802B4154:
/* 802B4154 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802B4158 7C 08 03 A6 */ mtlr r0
/* 802B415C 38 21 00 10 */ addi r1, r1, 0x10
/* 802B4160 4E 80 00 20 */ blr

View File

@ -1,53 +0,0 @@
lbl_802B4164:
/* 802B4164 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802B4168 7C 08 02 A6 */ mflr r0
/* 802B416C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802B4170 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802B4174 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802B4178 7C 7E 1B 78 */ mr r30, r3
/* 802B417C 7C 9F 23 78 */ mr r31, r4
/* 802B4180 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 802B4184 54 03 E7 FE */ rlwinm r3, r0, 0x1c, 0x1f, 0x1f
/* 802B4188 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 802B418C 7C 03 00 40 */ cmplw r3, r0
/* 802B4190 41 82 00 68 */ beq lbl_802B41F8
/* 802B4194 28 00 00 00 */ cmplwi r0, 0
/* 802B4198 41 82 00 60 */ beq lbl_802B41F8
/* 802B419C 80 9E 00 04 */ lwz r4, 4(r30)
/* 802B41A0 28 04 00 00 */ cmplwi r4, 0
/* 802B41A4 41 82 00 10 */ beq lbl_802B41B4
/* 802B41A8 80 64 00 18 */ lwz r3, 0x18(r4)
/* 802B41AC 90 61 00 0C */ stw r3, 0xc(r1)
/* 802B41B0 48 00 00 08 */ b lbl_802B41B8
lbl_802B41B4:
/* 802B41B4 38 60 FF FF */ li r3, -1
lbl_802B41B8:
/* 802B41B8 3C 03 FF 00 */ addis r0, r3, 0xff00
/* 802B41BC 28 00 00 0F */ cmplwi r0, 0xf
/* 802B41C0 41 82 00 28 */ beq lbl_802B41E8
/* 802B41C4 28 04 00 00 */ cmplwi r4, 0
/* 802B41C8 41 82 00 10 */ beq lbl_802B41D8
/* 802B41CC 80 64 00 18 */ lwz r3, 0x18(r4)
/* 802B41D0 90 61 00 08 */ stw r3, 8(r1)
/* 802B41D4 48 00 00 08 */ b lbl_802B41DC
lbl_802B41D8:
/* 802B41D8 38 60 FF FF */ li r3, -1
lbl_802B41DC:
/* 802B41DC 3C 03 FF 00 */ addis r0, r3, 0xff00
/* 802B41E0 28 00 00 1B */ cmplwi r0, 0x1b
/* 802B41E4 40 82 00 14 */ bne lbl_802B41F8
lbl_802B41E8:
/* 802B41E8 7F C3 F3 78 */ mr r3, r30
/* 802B41EC 88 8D 82 E2 */ lbz r4, struct_80450862+0x0(r13)
/* 802B41F0 88 AD 82 E1 */ lbz r5, struct_80450861+0x0(r13)
/* 802B41F4 48 00 10 11 */ bl stopBattleBgm__8Z2SeqMgrFUcUc
lbl_802B41F8:
/* 802B41F8 88 1E 00 D0 */ lbz r0, 0xd0(r30)
/* 802B41FC 53 E0 26 F6 */ rlwimi r0, r31, 4, 0x1b, 0x1b
/* 802B4200 98 1E 00 D0 */ stb r0, 0xd0(r30)
/* 802B4204 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802B4208 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802B420C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802B4210 7C 08 03 A6 */ mtlr r0
/* 802B4214 38 21 00 20 */ addi r1, r1, 0x20
/* 802B4218 4E 80 00 20 */ blr

View File

@ -1,5 +0,0 @@
lbl_802B43D0:
/* 802B43D0 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 802B43D4 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 802B43D8 98 03 00 D0 */ stb r0, 0xd0(r3)
/* 802B43DC 4E 80 00 20 */ blr

View File

@ -1,5 +0,0 @@
lbl_802B3398:
/* 802B3398 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 802B339C 50 80 07 FE */ rlwimi r0, r4, 0, 0x1f, 0x1f
/* 802B33A0 98 03 00 D0 */ stb r0, 0xd0(r3)
/* 802B33A4 4E 80 00 20 */ blr

View File

@ -51,7 +51,7 @@ struct JAISoundStatus_ {
bool isDead() { return state.unk == 6;}
inline bool isPlaying() { return state.unk == 5; }
bool isPrepared() { return state.unk >= 3; }
inline bool isMute() { return field_0x0.flags.mute; }
inline bool isPaused() { return field_0x0.flags.paused; }
void pauseWhenOut() {
@ -97,7 +97,7 @@ struct JAISoundStatus_ {
} flags;
} state;
/* 0x4 */ u32 user_data;
}; // Size: 0x6
}; // Size: 0x8
struct JAISoundFader {
void forceIn() {
@ -236,10 +236,14 @@ public:
bool isHandleAttached() const { return handle_ != NULL; }
bool hasLifeTime() const { return status_.field_0x1.flags.flag2; }
void removeLifeTime_() { status_.field_0x1.flags.flag1 = false; }
bool isPrepared() { return status_.isPrepared(); }
void unlockIfLocked() { status_.unlockIfLocked(); }
void lockWhenPrepared() { status_.lockWhenPrepared(); }
void stop_JAISound_() {
status_.state.flags.flag5 = 0;
status_.state.flags.flag1 = 1;
}
bool isStopping() {
bool isStopping = false;
if (status_.state.flags.flag1) {
@ -278,10 +282,9 @@ public:
return audible_ != NULL;
}
void fadeIn(u32 param_1) {
fader.fadeInFromOut(param_1);
return;
}
JAISoundFader& getFader() { return fader; }
void fadeIn(u32 i_count) { fader.fadeInFromOut(i_count); }
void fadeOut(u32 i_count) { fader.fadeOut(i_count); }
JAISoundParamsProperty& getProperty() { return params.mProperty; }

View File

@ -18,32 +18,32 @@ struct JAISoundParamsProperty {
struct JAISoundParamsTransition {
struct TTransition {
void zero() {
field_0x0 = 0.0f;
mStep = 0.0f;
mCount = 0;
field_0x4 = 0.0f;
mDest = 0.0f;
}
void set(f32 newValue, f32 intensity, u32 fadeCount) {
mCount = fadeCount;
field_0x0 = (newValue - intensity) / mCount;
field_0x4 = newValue;
mStep = (newValue - intensity) / mCount;
mDest = newValue;
}
f32 apply(f32 param_0) {
if (mCount > 1) {
mCount--;
param_0 += field_0x0;
param_0 += mStep;
} else {
if (mCount == 1) {
mCount = 0;
param_0 = field_0x4;
param_0 = mDest;
}
}
return param_0;
}
/* 0x0 */ f32 field_0x0;
/* 0x4 */ f32 field_0x4;
/* 0x0 */ f32 mStep;
/* 0x4 */ f32 mDest;
/* 0x8 */ u32 mCount;
}; // Size: 0xC

View File

@ -81,6 +81,7 @@ public:
void i_setLinkState(u8 i_state) { mLinkState = i_state; }
Z2SoundObjSimple& getKantera() { return mKantera; }
u8 getLinkHp() const { return mLinkHp; }
u8 getMovingTime() { return mMovingTime; }
static Z2CreatureLink* mLinkPtr;

View File

@ -54,5 +54,6 @@ extern u8 struct_80450868;
extern u8 struct_80450869;
extern u8 struct_8045086A;
extern u8 struct_8045086B;
extern u8 data_8045086C;
#endif /* Z2PARAM_H */

View File

@ -32,7 +32,9 @@ public:
bool isSceneExist() const { return sceneExist; }
int getCurrentSceneNum() const { return sceneNum; }
s8 getCurrentRoomNum() { return roomNum; }
bool isInGame() const { return inGame; }
void setInGame(bool i_inGame) { inGame = i_inGame; }
bool isInDarkness() const { return inDarkness; }
s8 getRoomReverb() const { return dComIfGp_getReverb(roomNum); }

View File

@ -4,13 +4,6 @@
#include "JSystem/JAudio2/JAISoundHandles.h"
#include "JSystem/JAudio2/JASGadget.h"
// move TTransition / Z2SoundFader ?
struct TTransition {
/* 0x0 */ float field_0x0;
/* 0x4 */ float field_0x4;
/* 0x8 */ u32 mCount;
}; // Size = 0xC
struct Z2SoundFader {
void move(f32 vol, u32 count) {
if (count != 0) {
@ -21,6 +14,61 @@ struct Z2SoundFader {
}
}
void forceIn() {
mIntensity = 1.0f;
mTransition.zero();
}
void forceOut() {
mIntensity = 0.0f;
mTransition.zero();
}
void fadeIn(u32 count) {
if (count != 0) {
mTransition.set(1.0f, mIntensity, count);
} else {
forceIn();
}
}
void fadeOut(u32 count) {
if (count != 0) {
mTransition.set(0.0f, mIntensity, count);
} else {
forceOut();
}
}
void fadeInFromOut(u32 count) {
mIntensity = 0.0f;
fadeIn(count);
}
u32 getCount() {
return mTransition.mCount;
}
f32 getIntensity() {
return mIntensity;
}
f32 getDest() {
if (getCount() != 0) {
return mTransition.mDest;
} else {
return mIntensity;
}
}
void calc() {
mIntensity = mTransition.apply(mIntensity);
}
f32 get() {
return getIntensity();
}
/* 0x0 */ float mIntensity;
/* 0x4 */ JAISoundParamsTransition::TTransition mTransition;
}; // Size = 0x10
@ -35,7 +83,7 @@ public:
void subBgmStop();
void subBgmStopInner();
void bgmStreamPrepare(u32);
int bgmStreamCheckReady();
bool bgmStreamCheckReady();
void bgmStreamPlay();
void bgmStreamStop(u32);
void changeBgmStatus(s32);
@ -52,7 +100,7 @@ public:
void setTimeProcVolMod(bool, u32);
void processBgmFramework();
bool checkBgmIDPlaying(u32);
void getChildTrackVolume(JAISoundHandle*, int);
f32 getChildTrackVolume(JAISoundHandle*, int);
void setChildTrackVolume(JAISoundHandle*, int, float, u32, float, float);
void resetBattleBgmParams();
void setBattleBgmOff(bool);
@ -90,20 +138,24 @@ public:
void i_bgmAllUnMute(u32 count) { mAllBgmMaster.move(1.0f, count); }
void i_muteSceneBgm(u32 count, f32 vol) {
field_0x44.move(vol, count);
mSceneBgm.move(vol, count);
}
void i_unMuteSceneBgm(u32 count) {
mBgmPause.move(1.0f, 0);
field_0x44.move(1.0f, count);
mSceneBgm.move(1.0f, count);
}
void bgmAllMute(u32 count, f32 val) {
mAllBgmMaster.mTransition.set(val, mAllBgmMaster.mIntensity, count);
}
void bgmAllUnMute(u32 count) {
mAllBgmMaster.move(1.0f, count);
}
bool isItemGetDemo() {
return field_0x08.isSoundAttached() || field_0xba != 0;
return mFanfareHandle.isSoundAttached() || mFanfareCount != 0;
}
u32 getMainBgmID() {
@ -122,39 +174,56 @@ public:
return -1;
}
u32 getStreamBgmID() {
if (mStreamBgmHandle) {
return mStreamBgmHandle->getID();
}
return -1;
}
JAISoundHandle* getMainBgmHandle() { return &mMainBgmHandle; }
/* 0x00 */ JAISoundHandle mMainBgmHandle;
/* 0x04 */ JAISoundHandle mSubBgmHandle;
/* 0x08 */ JAISoundHandle field_0x08;
/* 0x0C */ JAISoundHandle field_0x0c;
/* 0x10 */ JAISoundID field_0x10;
/* 0x08 */ JAISoundHandle mFanfareHandle;
/* 0x0C */ JAISoundHandle mStreamBgmHandle;
/* 0x10 */ JAISoundID mFanfareID;
/* 0x14 */ Z2SoundFader mMainBgmMaster;
/* 0x24 */ Z2SoundFader mSubBgmMaster;
/* 0x34 */ Z2SoundFader mBgmPause;
/* 0x44 */ Z2SoundFader field_0x44;
/* 0x44 */ Z2SoundFader mSceneBgm;
/* 0x54 */ Z2SoundFader mFanfareMute;
/* 0x64 */ Z2SoundFader field_0x64;
/* 0x64 */ Z2SoundFader mStreamBgmMaster;
/* 0x74 */ Z2SoundFader mAllBgmMaster;
/* 0x84 */ Z2SoundFader field_0x84;
/* 0x94 */ Z2SoundFader mWindStone;
/* 0xA4 */ Z2SoundFader field_0xa4;
/* 0xB4 */ f32 mTwilightGateVol;
/* 0xB8 */ u16 field_0xb8;
/* 0xBA */ u8 field_0xba;
/* 0xBB */ u8 field_0xbb;
/* 0xBC */ u8 field_0xbc;
/* 0xBD */ u8 field_0xbd;
/* 0xBE */ u8 field_0xbe;
/* 0xBF */ u8 field_0xbf;
/* 0xC0 */ u8 field_0xc0;
/* 0xB8 */ s16 field_0xb8;
/* 0xBA */ u8 mFanfareCount;
/* 0xBB */ u8 mDekuToadCount;
/* 0xBC */ u8 mBgmStatus;
/* 0xBD */ u8 mSubBgmStatus;
/* 0xBE */ u8 mBattleDistState;
/* 0xBF */ u8 mBattleSeqState;
/* 0xC0 */ u8 mBattleSeqCount;
/* 0xC1 */ u8 field_0xc1;
/* 0xC2 */ u8 field_0xc2;
/* 0xC3 */ u8 field_0xc3;
/* 0xC2 */ u8 mBattleLastHit;
/* 0xC3 */ u8 mRideCount;
/* 0xC4 */ u8 field_0xc4;
/* 0xC8 */ f32 field_0xc8;
/* 0xCC */ f32 field_0xcc;
/* 0xD0 */ u8 mFlags;
/* 0xD0 */ struct {
bool mBattleDistIgnore : 1;
bool flag1 : 1;
bool mBattleSearched : 1;
bool mBattleBgmOff : 1;
bool mRiding : 1;
bool flag5 : 1;
bool flag6 : 1;
bool flag7 : 1;
} mFlags;
}; // Size = 0xD4
inline Z2SeqMgr* Z2GetSeqMgr() {

View File

@ -25,7 +25,7 @@ public:
/* 802AA9E8 */ void multiVolumeSoundID(JAISoundID, f32);
/* 802AAAC4 */ void isPlayingSoundID(JAISoundID);
/* 802A9EE8 */ virtual int startSound(JAISoundID, JAISoundHandle*,
/* 802A9EE8 */ virtual bool startSound(JAISoundID, JAISoundHandle*,
JGeometry::TVec3<f32> const*);
JAISeMgr* getSeMgr() { return &mSeMgr; }

View File

@ -30,6 +30,7 @@ public:
bool removeEnemy(JSULink<Z2CreatureEnemy>*);
u8 isTwilightBattle();
u8 getEnemyNumVeryFar() { return mEnemyNumVeryFar; }
bool isForceBattle() { return mForceBattle; }
JSUList<Z2CreatureEnemy>* getEnemyList() { return this; }

View File

@ -15,4 +15,8 @@ struct Z2SoundStarter : public JAISoundStarter, public JASGlobalInstance<Z2Sound
float, float, float, float, u32);
};
inline Z2SoundStarter* Z2GetSoundStarter() {
return JASGlobalInstance<Z2SoundStarter>::getInstance();
}
#endif /* Z2SOUNDSTARTER_H */

View File

@ -25,7 +25,10 @@ struct Z2StatusMgr : public JASGlobalInstance<Z2StatusMgr> {
void setHour(s32 hour) { mHour = hour; }
void setMinute(s32 min) { mMinute = min; }
void setWeekday(s32 day) { mWeekday = day; }
f32 getCameraInWaterDepth() { return mUnderwaterDepth; }
f32 getCameraInWaterDepthRatio() const { return mCameraInWaterDepthRatio; }
u8 getHour() { return mHour; }
bool isPaused() { return mIsMenuIn; }
/* 0x00 */ u8 mHour;
/* 0x01 */ u8 mMinute;

View File

@ -303,8 +303,4 @@ public:
static const u8* m_branchData;
};
inline Z2SoundStarter* Z2GetSoundStarter() {
return JASGlobalInstance<Z2SoundStarter>::getInstance();
}
#endif /* D_D_DEMO_H */

View File

@ -629,7 +629,7 @@ Z2SoundHandlePool* Z2CreatureEnemy::startCreatureSoundLevel(JAISoundID i_soundID
* startCreatureVoice__15Z2CreatureEnemyF10JAISoundIDSc */
Z2SoundHandlePool* Z2CreatureEnemy::startCreatureVoice(JAISoundID i_soundID, s8 param_1) {
if (Z2GetSeqMgr()->getMainBgmID() == Z2BGM_BOSS_ZANT) {
switch (Z2GetSeqMgr()->field_0xbc) {
switch (Z2GetSeqMgr()->mBgmStatus) {
case 0:
case 1:
break;

View File

@ -147,7 +147,7 @@ u8 struct_8045086B = 0x14;
#pragma pop
/* 8045086C-80450870 0002EC 0004+00 0/0 3/3 0/0 .sdata None */
extern u32 data_8045086C = 0x01000000;
u8 data_8045086C = 1;
/* 80451338-8045133C 000838 0004+00 0/0 1/1 0/0 .sbss MIN_DISTANCE_VOLUME__7Z2Param */
f32 Z2Param::MIN_DISTANCE_VOLUME;

View File

@ -717,7 +717,7 @@ extern "C" void __ct__10JAISoundIDFRC10JAISoundID(JAISoundID* this_, JAISoundID
/* 802B9968-802B9978 2B42A8 0010+00 1/1 0/0 0/0 .text setFieldBgmPlay__8Z2SeqMgrFb */
void Z2SeqMgr::setFieldBgmPlay(bool param_1) {
mFlags = (param_1 & 1U) << 2 | (mFlags & ~4);
mFlags.flag5 = param_1;
}
/* 802B9978-802B9988 2B42B8 0010+00 1/1 0/0 0/0 .text isActive__12JAIStreamMgrCFv */

File diff suppressed because it is too large Load Diff

View File

@ -212,7 +212,7 @@ SECTION_SDATA2 static f64 lit_3909 = 4503599627370496.0 /* cast u32 to float */;
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm int Z2SoundMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
asm bool Z2SoundMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1,
JGeometry::TVec3<f32> const* param_2) {
nofralloc
#include "asm/Z2AudioLib/Z2SoundMgr/func_802A9EE8.s"