Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Trueffeloot 2023-06-13 18:21:25 +02:00
commit c5e01ec11b
41 changed files with 525 additions and 1248 deletions

View File

@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472 .init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96 .extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96
.text | 27.346475% | 983528 | 3596544 .text | 27.417543% | 986084 | 3596544
.ctors | 100.000000% | 448 | 448 .ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32 .dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856 .rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632 .data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408 .sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832 .sdata2 | 100.000000% | 20832 | 20832
Total | 35.005691% | 1407464 | 4020672 Total | 35.069262% | 1410020 | 4020672
## Total ## Total
Section | Percentage | Decompiled (bytes) | Total (bytes) Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|--- ---|---|---|---
main.dol | 35.005691% | 1407464 | 4020672 main.dol | 35.069262% | 1410020 | 4020672
RELs | 33.644652% | 3869244 | 11500324 RELs | 33.649382% | 3869788 | 11500324
Total | 33.997225% | 5276708 | 15520996 Total | 34.017198% | 5279808 | 15520996
## RELs ## RELs
@ -220,7 +220,7 @@ d_a_myna | 30.876570% | 9736 | 31532
d_a_nbomb | 28.739233% | 8808 | 30648 d_a_nbomb | 28.739233% | 8808 | 30648
d_a_ni | 27.299309% | 8216 | 30096 d_a_ni | 27.299309% | 8216 | 30096
d_a_npc_aru | 34.812103% | 12932 | 37148 d_a_npc_aru | 34.812103% | 12932 | 37148
d_a_npc_ash | 40.990760% | 12776 | 31168 d_a_npc_ash | 42.736140% | 13320 | 31168
d_a_npc_ashB | 32.906995% | 8336 | 25332 d_a_npc_ashB | 32.906995% | 8336 | 25332
d_a_npc_bans | 34.954955% | 11640 | 33300 d_a_npc_bans | 34.954955% | 11640 | 33300
d_a_npc_besu | 38.726854% | 19492 | 50332 d_a_npc_besu | 38.726854% | 19492 | 50332
@ -785,4 +785,4 @@ d_a_vrbox2 | 34.977578% | 2184 | 6244
d_a_warp_bug | 54.940711% | 1112 | 2024 d_a_warp_bug | 54.940711% | 1112 | 2024
d_a_ykgr | 44.400631% | 2252 | 5072 d_a_ykgr | 44.400631% | 2252 | 5072
f_pc_profile_lst | 100.000000% | 28156 | 28156 f_pc_profile_lst | 100.000000% | 28156 | 28156
Total | 33.644652% | 3869244 | 11500324 Total | 33.649382% | 3869788 | 11500324

View File

@ -1,22 +0,0 @@
lbl_8029CF68:
/* 8029CF68 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029CF6C 7C 08 02 A6 */ mflr r0
/* 8029CF70 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029CF74 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029CF78 83 ED 86 0C */ lwz r31, __OSReport_disable-0xC(r13)
/* 8029CF7C 38 60 00 04 */ li r3, 4
/* 8029CF80 4B FF 3F A5 */ bl stop__8JASProbeFl
/* 8029CF84 38 60 00 04 */ li r3, 4
/* 8029CF88 3C 80 80 3A */ lis r4, JASAudioThread__stringBase0@ha /* 0x8039B338@ha */
/* 8029CF8C 38 84 B3 38 */ addi r4, r4, JASAudioThread__stringBase0@l /* 0x8039B338@l */
/* 8029CF90 38 84 00 08 */ addi r4, r4, 8
/* 8029CF94 4B FF 3F 51 */ bl start__8JASProbeFlPCc
/* 8029CF98 38 7F 00 30 */ addi r3, r31, 0x30
/* 8029CF9C 38 80 00 00 */ li r4, 0
/* 8029CFA0 38 A0 00 00 */ li r5, 0
/* 8029CFA4 48 0A 1A 51 */ bl OSSendMessage
/* 8029CFA8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029CFAC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029CFB0 7C 08 03 A6 */ mtlr r0
/* 8029CFB4 38 21 00 10 */ addi r1, r1, 0x10
/* 8029CFB8 4E 80 00 20 */ blr

View File

@ -1,31 +0,0 @@
lbl_8029CFBC:
/* 8029CFBC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029CFC0 7C 08 02 A6 */ mflr r0
/* 8029CFC4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029CFC8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029CFCC 83 ED 86 0C */ lwz r31, __OSReport_disable-0xC(r13)
lbl_8029CFD0:
/* 8029CFD0 48 0B 54 71 */ bl DSPCheckMailFromDSP
/* 8029CFD4 28 03 00 00 */ cmplwi r3, 0
/* 8029CFD8 41 82 FF F8 */ beq lbl_8029CFD0
/* 8029CFDC 48 0B 54 75 */ bl DSPReadMailFromDSP
/* 8029CFE0 54 60 84 3E */ srwi r0, r3, 0x10
/* 8029CFE4 28 00 F3 55 */ cmplwi r0, 0xf355
/* 8029CFE8 40 82 00 2C */ bne lbl_8029D014
/* 8029CFEC 54 60 04 2E */ rlwinm r0, r3, 0, 0x10, 0x17
/* 8029CFF0 28 00 FF 00 */ cmplwi r0, 0xff00
/* 8029CFF4 40 82 00 18 */ bne lbl_8029D00C
/* 8029CFF8 38 7F 00 30 */ addi r3, r31, 0x30
/* 8029CFFC 38 80 00 01 */ li r4, 1
/* 8029D000 38 A0 00 00 */ li r5, 0
/* 8029D004 48 0A 19 F1 */ bl OSSendMessage
/* 8029D008 48 00 00 0C */ b lbl_8029D014
lbl_8029D00C:
/* 8029D00C 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 8029D010 48 00 09 B5 */ bl finishWork__6JASDspFUs
lbl_8029D014:
/* 8029D014 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029D018 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029D01C 7C 08 03 A6 */ mtlr r0
/* 8029D020 38 21 00 10 */ addi r1, r1, 0x10
/* 8029D024 4E 80 00 20 */ blr

View File

@ -1,30 +0,0 @@
lbl_8029CCDC:
/* 8029CCDC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029CCE0 7C 08 02 A6 */ mflr r0
/* 8029CCE4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029CCE8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029CCEC 7C 7F 1B 78 */ mr r31, r3
/* 8029CCF0 7C 87 23 78 */ mr r7, r4
/* 8029CCF4 7C A0 2B 78 */ mr r0, r5
/* 8029CCF8 80 8D 8C 90 */ lwz r4, JASDram(r13)
/* 8029CCFC 7C C5 33 78 */ mr r5, r6
/* 8029CD00 7C 06 03 78 */ mr r6, r0
/* 8029CD04 48 03 49 0D */ bl __ct__9JKRThreadFP7JKRHeapUlii
/* 8029CD08 34 7F 00 7C */ addic. r3, r31, 0x7c
/* 8029CD0C 41 82 00 08 */ beq lbl_8029CD14
/* 8029CD10 38 63 FF 84 */ addi r3, r3, -124
lbl_8029CD14:
/* 8029CD14 90 6D 86 0C */ stw r3, __OSReport_disable-0xC(r13)
/* 8029CD18 3C 60 80 3C */ lis r3, __vt__14JASAudioThread@ha /* 0x803C78E0@ha */
/* 8029CD1C 38 03 78 E0 */ addi r0, r3, __vt__14JASAudioThread@l /* 0x803C78E0@l */
/* 8029CD20 90 1F 00 00 */ stw r0, 0(r31)
/* 8029CD24 38 00 00 00 */ li r0, 0
/* 8029CD28 98 1F 00 84 */ stb r0, 0x84(r31)
/* 8029CD2C 38 7F 00 7C */ addi r3, r31, 0x7c
/* 8029CD30 48 0A 3F 45 */ bl OSInitThreadQueue
/* 8029CD34 7F E3 FB 78 */ mr r3, r31
/* 8029CD38 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029CD3C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029CD40 7C 08 03 A6 */ mtlr r0
/* 8029CD44 38 21 00 10 */ addi r1, r1, 0x10
/* 8029CD48 4E 80 00 20 */ blr

View File

@ -1,39 +0,0 @@
lbl_8029D028:
/* 8029D028 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029D02C 7C 08 02 A6 */ mflr r0
/* 8029D030 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029D034 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029D038 93 C1 00 08 */ stw r30, 8(r1)
/* 8029D03C 7C 7E 1B 79 */ or. r30, r3, r3
/* 8029D040 7C 9F 23 78 */ mr r31, r4
/* 8029D044 41 82 00 54 */ beq lbl_8029D098
/* 8029D048 3C 60 80 3C */ lis r3, __vt__14JASAudioThread@ha /* 0x803C78E0@ha */
/* 8029D04C 38 03 78 E0 */ addi r0, r3, __vt__14JASAudioThread@l /* 0x803C78E0@l */
/* 8029D050 90 1E 00 00 */ stw r0, 0(r30)
/* 8029D054 34 1E 00 7C */ addic. r0, r30, 0x7c
/* 8029D058 41 82 00 24 */ beq lbl_8029D07C
/* 8029D05C 34 7E 00 7C */ addic. r3, r30, 0x7c
/* 8029D060 41 82 00 08 */ beq lbl_8029D068
/* 8029D064 38 63 FF 84 */ addi r3, r3, -124
lbl_8029D068:
/* 8029D068 80 0D 86 0C */ lwz r0, __OSReport_disable-0xC(r13)
/* 8029D06C 7C 00 18 40 */ cmplw r0, r3
/* 8029D070 40 82 00 0C */ bne lbl_8029D07C
/* 8029D074 38 00 00 00 */ li r0, 0
/* 8029D078 90 0D 86 0C */ stw r0, __OSReport_disable-0xC(r13)
lbl_8029D07C:
/* 8029D07C 7F C3 F3 78 */ mr r3, r30
/* 8029D080 38 80 00 00 */ li r4, 0
/* 8029D084 48 03 46 D5 */ bl __dt__9JKRThreadFv
/* 8029D088 7F E0 07 35 */ extsh. r0, r31
/* 8029D08C 40 81 00 0C */ ble lbl_8029D098
/* 8029D090 7F C3 F3 78 */ mr r3, r30
/* 8029D094 48 03 1C A9 */ bl __dl__FPv
lbl_8029D098:
/* 8029D098 7F C3 F3 78 */ mr r3, r30
/* 8029D09C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029D0A0 83 C1 00 08 */ lwz r30, 8(r1)
/* 8029D0A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029D0A8 7C 08 03 A6 */ mtlr r0
/* 8029D0AC 38 21 00 10 */ addi r1, r1, 0x10
/* 8029D0B0 4E 80 00 20 */ blr

View File

@ -1,33 +0,0 @@
lbl_8029CD4C:
/* 8029CD4C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029CD50 7C 08 02 A6 */ mflr r0
/* 8029CD54 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029CD58 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029CD5C 7C 7F 1B 78 */ mr r31, r3
/* 8029CD60 38 60 00 88 */ li r3, 0x88
/* 8029CD64 80 8D 8C 90 */ lwz r4, JASDram(r13)
/* 8029CD68 38 A0 00 00 */ li r5, 0
/* 8029CD6C 48 03 1F 2D */ bl __nw__FUlP7JKRHeapi
/* 8029CD70 7C 64 1B 79 */ or. r4, r3, r3
/* 8029CD74 41 82 00 18 */ beq lbl_8029CD8C
/* 8029CD78 7F E4 FB 78 */ mr r4, r31
/* 8029CD7C 38 A0 00 10 */ li r5, 0x10
/* 8029CD80 38 C0 14 00 */ li r6, 0x1400
/* 8029CD84 4B FF FF 59 */ bl __ct__14JASAudioThreadFiiUl
/* 8029CD88 7C 64 1B 78 */ mr r4, r3
lbl_8029CD8C:
/* 8029CD8C 80 0D 8D F0 */ lwz r0, sSystemHeap__7JKRHeap(r13)
/* 8029CD90 28 00 00 00 */ cmplwi r0, 0
/* 8029CD94 41 82 00 08 */ beq lbl_8029CD9C
/* 8029CD98 48 00 00 08 */ b lbl_8029CDA0
lbl_8029CD9C:
/* 8029CD9C 80 0D 8D F4 */ lwz r0, sCurrentHeap__7JKRHeap(r13)
lbl_8029CDA0:
/* 8029CDA0 90 04 00 74 */ stw r0, 0x74(r4)
/* 8029CDA4 80 64 00 2C */ lwz r3, 0x2c(r4)
/* 8029CDA8 48 0A 4A 0D */ bl OSResumeThread
/* 8029CDAC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029CDB0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029CDB4 7C 08 03 A6 */ mtlr r0
/* 8029CDB8 38 21 00 10 */ addi r1, r1, 0x10
/* 8029CDBC 4E 80 00 20 */ blr

View File

@ -1,12 +0,0 @@
lbl_8029CDC0:
/* 8029CDC0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8029CDC4 7C 08 02 A6 */ mflr r0
/* 8029CDC8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029CDCC 38 80 00 02 */ li r4, 2
/* 8029CDD0 38 A0 00 01 */ li r5, 1
/* 8029CDD4 38 63 00 30 */ addi r3, r3, 0x30
/* 8029CDD8 48 0A 1D C1 */ bl OSJamMessage
/* 8029CDDC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8029CDE0 7C 08 03 A6 */ mtlr r0
/* 8029CDE4 38 21 00 10 */ addi r1, r1, 0x10
/* 8029CDE8 4E 80 00 20 */ blr

View File

@ -1,27 +0,0 @@
lbl_802938BC:
/* 802938BC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802938C0 7C 08 02 A6 */ mflr r0
/* 802938C4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802938C8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802938CC 7C 7F 1B 78 */ mr r31, r3
/* 802938D0 48 00 28 39 */ bl init__12JASSeqReaderFv
/* 802938D4 38 0D 8C B8 */ la r0, sDefaultParser__10JASSeqCtrl(r13) /* 80451238-_SDA_BASE_ */
/* 802938D8 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 802938DC 38 00 00 00 */ li r0, 0
/* 802938E0 90 1F 00 40 */ stw r0, 0x40(r31)
/* 802938E4 90 1F 00 44 */ stw r0, 0x44(r31)
/* 802938E8 90 1F 00 48 */ stw r0, 0x48(r31)
/* 802938EC B0 1F 00 4C */ sth r0, 0x4c(r31)
/* 802938F0 B0 1F 00 4E */ sth r0, 0x4e(r31)
/* 802938F4 98 1F 00 50 */ stb r0, 0x50(r31)
/* 802938F8 98 1F 00 51 */ stb r0, 0x51(r31)
/* 802938FC 90 1F 00 54 */ stw r0, 0x54(r31)
/* 80293900 90 1F 00 58 */ stw r0, 0x58(r31)
/* 80293904 7F E3 FB 78 */ mr r3, r31
/* 80293908 48 00 28 01 */ bl init__12JASSeqReaderFv
/* 8029390C 7F E3 FB 78 */ mr r3, r31
/* 80293910 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80293914 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80293918 7C 08 03 A6 */ mtlr r0
/* 8029391C 38 21 00 10 */ addi r1, r1, 0x10
/* 80293920 4E 80 00 20 */ blr

View File

@ -1,20 +0,0 @@
lbl_80293CAC:
/* 80293CAC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80293CB0 7C 08 02 A6 */ mflr r0
/* 80293CB4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80293CB8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80293CBC 7C 7F 1B 79 */ or. r31, r3, r3
/* 80293CC0 41 82 00 1C */ beq lbl_80293CDC
/* 80293CC4 3C A0 80 3C */ lis r5, __vt__12JASSeqParser@ha /* 0x803C7650@ha */
/* 80293CC8 38 05 76 50 */ addi r0, r5, __vt__12JASSeqParser@l /* 0x803C7650@l */
/* 80293CCC 90 1F 00 00 */ stw r0, 0(r31)
/* 80293CD0 7C 80 07 35 */ extsh. r0, r4
/* 80293CD4 40 81 00 08 */ ble lbl_80293CDC
/* 80293CD8 48 03 B0 65 */ bl __dl__FPv
lbl_80293CDC:
/* 80293CDC 7F E3 FB 78 */ mr r3, r31
/* 80293CE0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80293CE4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80293CE8 7C 08 03 A6 */ mtlr r0
/* 80293CEC 38 21 00 10 */ addi r1, r1, 0x10
/* 80293CF0 4E 80 00 20 */ blr

View File

@ -1,17 +0,0 @@
lbl_80293C6C:
/* 80293C6C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80293C70 7C 08 02 A6 */ mflr r0
/* 80293C74 90 01 00 14 */ stw r0, 0x14(r1)
/* 80293C78 3C 60 80 3C */ lis r3, __vt__12JASSeqParser@ha /* 0x803C7650@ha */
/* 80293C7C 38 03 76 50 */ addi r0, r3, __vt__12JASSeqParser@l /* 0x803C7650@l */
/* 80293C80 90 0D 8C B8 */ stw r0, sDefaultParser__10JASSeqCtrl(r13)
/* 80293C84 38 6D 8C B8 */ la r3, sDefaultParser__10JASSeqCtrl(r13) /* 80451238-_SDA_BASE_ */
/* 80293C88 3C 80 80 29 */ lis r4, __dt__12JASSeqParserFv@ha /* 0x80293CAC@ha */
/* 80293C8C 38 84 3C AC */ addi r4, r4, __dt__12JASSeqParserFv@l /* 0x80293CAC@l */
/* 80293C90 3C A0 80 43 */ lis r5, lit_433@ha /* 0x80431B18@ha */
/* 80293C94 38 A5 1B 18 */ addi r5, r5, lit_433@l /* 0x80431B18@l */
/* 80293C98 48 0C DF 8D */ bl __register_global_object
/* 80293C9C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80293CA0 7C 08 03 A6 */ mtlr r0
/* 80293CA4 38 21 00 10 */ addi r1, r1, 0x10
/* 80293CA8 4E 80 00 20 */ blr

View File

@ -1,30 +0,0 @@
lbl_80293B78:
/* 80293B78 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80293B7C 7C 08 02 A6 */ mflr r0
/* 80293B80 90 01 00 14 */ stw r0, 0x14(r1)
/* 80293B84 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80293B88 7C 7F 1B 78 */ mr r31, r3
/* 80293B8C 80 03 00 44 */ lwz r0, 0x44(r3)
/* 80293B90 28 00 00 00 */ cmplwi r0, 0
/* 80293B94 40 82 00 40 */ bne lbl_80293BD4
/* 80293B98 4B FF FF 91 */ bl findIntr__10JASSeqCtrlFv
/* 80293B9C 2C 03 00 00 */ cmpwi r3, 0
/* 80293BA0 41 80 00 34 */ blt lbl_80293BD4
/* 80293BA4 80 9F 00 48 */ lwz r4, 0x48(r31)
/* 80293BA8 1C 03 00 03 */ mulli r0, r3, 3
/* 80293BAC 7C 84 02 14 */ add r4, r4, r0
/* 80293BB0 80 7F 00 00 */ lwz r3, 0(r31)
/* 80293BB4 38 04 FF FF */ addi r0, r4, -1
/* 80293BB8 7C 03 00 2E */ lwzx r0, r3, r0
/* 80293BBC 54 03 02 3E */ clrlwi r3, r0, 8
/* 80293BC0 80 1F 00 04 */ lwz r0, 4(r31)
/* 80293BC4 90 1F 00 44 */ stw r0, 0x44(r31)
/* 80293BC8 80 1F 00 00 */ lwz r0, 0(r31)
/* 80293BCC 7C 00 1A 14 */ add r0, r0, r3
/* 80293BD0 90 1F 00 04 */ stw r0, 4(r31)
lbl_80293BD4:
/* 80293BD4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80293BD8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80293BDC 7C 08 03 A6 */ mtlr r0
/* 80293BE0 38 21 00 10 */ addi r1, r1, 0x10
/* 80293BE4 4E 80 00 20 */ blr

View File

@ -1,5 +0,0 @@
lbl_80293AF0:
/* 80293AF0 A0 03 00 4E */ lhz r0, 0x4e(r3)
/* 80293AF4 7C 00 20 78 */ andc r0, r0, r4
/* 80293AF8 B0 03 00 4E */ sth r0, 0x4e(r3)
/* 80293AFC 4E 80 00 20 */ blr

View File

@ -1,24 +0,0 @@
lbl_80293B28:
/* 80293B28 A0 83 00 4E */ lhz r4, 0x4e(r3)
/* 80293B2C A0 03 00 4C */ lhz r0, 0x4c(r3)
/* 80293B30 7C 84 00 38 */ and r4, r4, r0
/* 80293B34 38 A0 00 00 */ li r5, 0
/* 80293B38 48 00 00 30 */ b lbl_80293B68
lbl_80293B3C:
/* 80293B3C 54 80 07 FF */ clrlwi. r0, r4, 0x1f
/* 80293B40 41 82 00 20 */ beq lbl_80293B60
/* 80293B44 A0 83 00 4C */ lhz r4, 0x4c(r3)
/* 80293B48 38 00 00 01 */ li r0, 1
/* 80293B4C 7C 00 28 30 */ slw r0, r0, r5
/* 80293B50 7C 80 00 78 */ andc r0, r4, r0
/* 80293B54 B0 03 00 4C */ sth r0, 0x4c(r3)
/* 80293B58 7C A3 2B 78 */ mr r3, r5
/* 80293B5C 4E 80 00 20 */ blr
lbl_80293B60:
/* 80293B60 54 84 F8 7E */ srwi r4, r4, 1
/* 80293B64 38 A5 00 01 */ addi r5, r5, 1
lbl_80293B68:
/* 80293B68 28 04 00 00 */ cmplwi r4, 0
/* 80293B6C 40 82 FF D0 */ bne lbl_80293B3C
/* 80293B70 38 60 FF FF */ li r3, -1
/* 80293B74 4E 80 00 20 */ blr

View File

@ -1,24 +0,0 @@
lbl_80293924:
/* 80293924 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80293928 7C 08 02 A6 */ mflr r0
/* 8029392C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80293930 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80293934 7C 7F 1B 78 */ mr r31, r3
/* 80293938 48 00 27 D1 */ bl init__12JASSeqReaderFv
/* 8029393C 38 0D 8C B8 */ la r0, sDefaultParser__10JASSeqCtrl(r13) /* 80451238-_SDA_BASE_ */
/* 80293940 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 80293944 38 00 00 00 */ li r0, 0
/* 80293948 90 1F 00 40 */ stw r0, 0x40(r31)
/* 8029394C 90 1F 00 44 */ stw r0, 0x44(r31)
/* 80293950 90 1F 00 48 */ stw r0, 0x48(r31)
/* 80293954 B0 1F 00 4C */ sth r0, 0x4c(r31)
/* 80293958 B0 1F 00 4E */ sth r0, 0x4e(r31)
/* 8029395C 98 1F 00 50 */ stb r0, 0x50(r31)
/* 80293960 90 1F 00 54 */ stw r0, 0x54(r31)
/* 80293964 90 1F 00 58 */ stw r0, 0x58(r31)
/* 80293968 98 1F 00 51 */ stb r0, 0x51(r31)
/* 8029396C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80293970 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80293974 7C 08 03 A6 */ mtlr r0
/* 80293978 38 21 00 10 */ addi r1, r1, 0x10
/* 8029397C 4E 80 00 20 */ blr

View File

@ -1,10 +0,0 @@
lbl_80293ABC:
/* 80293ABC A0 A3 00 4E */ lhz r5, 0x4e(r3)
/* 80293AC0 38 00 00 01 */ li r0, 1
/* 80293AC4 7C 04 20 30 */ slw r4, r0, r4
/* 80293AC8 7C A0 20 39 */ and. r0, r5, r4
/* 80293ACC 4D 82 00 20 */ beqlr
/* 80293AD0 A0 03 00 4C */ lhz r0, 0x4c(r3)
/* 80293AD4 7C 00 23 78 */ or r0, r0, r4
/* 80293AD8 B0 03 00 4C */ sth r0, 0x4c(r3)
/* 80293ADC 4E 80 00 20 */ blr

View File

@ -1,12 +0,0 @@
lbl_80293B00:
/* 80293B00 80 03 00 44 */ lwz r0, 0x44(r3)
/* 80293B04 28 00 00 00 */ cmplwi r0, 0
/* 80293B08 40 82 00 0C */ bne lbl_80293B14
/* 80293B0C 38 60 00 00 */ li r3, 0
/* 80293B10 4E 80 00 20 */ blr
lbl_80293B14:
/* 80293B14 90 03 00 04 */ stw r0, 4(r3)
/* 80293B18 38 00 00 00 */ li r0, 0
/* 80293B1C 90 03 00 44 */ stw r0, 0x44(r3)
/* 80293B20 38 60 00 01 */ li r3, 1
/* 80293B24 4E 80 00 20 */ blr

View File

@ -1,5 +0,0 @@
lbl_80293AE0:
/* 80293AE0 A0 03 00 4E */ lhz r0, 0x4e(r3)
/* 80293AE4 7C 00 23 78 */ or r0, r0, r4
/* 80293AE8 B0 03 00 4E */ sth r0, 0x4e(r3)
/* 80293AEC 4E 80 00 20 */ blr

View File

@ -1,18 +0,0 @@
lbl_80293980:
/* 80293980 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80293984 7C 08 02 A6 */ mflr r0
/* 80293988 90 01 00 14 */ stw r0, 0x14(r1)
/* 8029398C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80293990 93 C1 00 08 */ stw r30, 8(r1)
/* 80293994 7C 7E 1B 78 */ mr r30, r3
/* 80293998 7C BF 2B 78 */ mr r31, r5
/* 8029399C 48 00 27 AD */ bl init__12JASSeqReaderFPv
/* 802939A0 80 1E 00 00 */ lwz r0, 0(r30)
/* 802939A4 7C 00 FA 14 */ add r0, r0, r31
/* 802939A8 90 1E 00 04 */ stw r0, 4(r30)
/* 802939AC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802939B0 83 C1 00 08 */ lwz r30, 8(r1)
/* 802939B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802939B8 7C 08 03 A6 */ mtlr r0
/* 802939BC 38 21 00 10 */ addi r1, r1, 0x10
/* 802939C0 4E 80 00 20 */ blr

View File

@ -1,72 +0,0 @@
lbl_802939C4:
/* 802939C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802939C8 7C 08 02 A6 */ mflr r0
/* 802939CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802939D0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802939D4 93 C1 00 08 */ stw r30, 8(r1)
/* 802939D8 7C 7E 1B 78 */ mr r30, r3
/* 802939DC 7C 9F 23 78 */ mr r31, r4
/* 802939E0 80 03 00 00 */ lwz r0, 0(r3)
/* 802939E4 28 00 00 00 */ cmplwi r0, 0
/* 802939E8 40 82 00 0C */ bne lbl_802939F4
/* 802939EC 38 60 00 00 */ li r3, 0
/* 802939F0 48 00 00 B4 */ b lbl_80293AA4
lbl_802939F4:
/* 802939F4 38 80 00 06 */ li r4, 6
/* 802939F8 48 00 00 C5 */ bl interrupt__10JASSeqCtrlFQ210JASSeqCtrl8IntrType
/* 802939FC 7F C3 F3 78 */ mr r3, r30
/* 80293A00 48 00 01 E9 */ bl timerProcess__10JASSeqCtrlFv
/* 80293A04 88 1E 00 51 */ lbz r0, 0x51(r30)
/* 80293A08 28 00 00 00 */ cmplwi r0, 0
/* 80293A0C 41 82 00 28 */ beq lbl_80293A34
/* 80293A10 7F E3 FB 78 */ mr r3, r31
/* 80293A14 38 80 00 00 */ li r4, 0
/* 80293A18 4B FF E8 09 */ bl checkNoteStop__8JASTrackCFUl
/* 80293A1C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80293A20 40 82 00 0C */ bne lbl_80293A2C
/* 80293A24 38 60 00 00 */ li r3, 0
/* 80293A28 48 00 00 7C */ b lbl_80293AA4
lbl_80293A2C:
/* 80293A2C 38 00 00 00 */ li r0, 0
/* 80293A30 98 1E 00 51 */ stb r0, 0x51(r30)
lbl_80293A34:
/* 80293A34 80 7E 00 40 */ lwz r3, 0x40(r30)
/* 80293A38 2C 03 00 00 */ cmpwi r3, 0
/* 80293A3C 40 81 00 0C */ ble lbl_80293A48
/* 80293A40 38 03 FF FF */ addi r0, r3, -1
/* 80293A44 90 1E 00 40 */ stw r0, 0x40(r30)
lbl_80293A48:
/* 80293A48 7F C3 F3 78 */ mr r3, r30
/* 80293A4C 48 00 01 2D */ bl checkIntr__10JASSeqCtrlFv
/* 80293A50 48 00 00 2C */ b lbl_80293A7C
lbl_80293A54:
/* 80293A54 80 7E 00 3C */ lwz r3, 0x3c(r30)
/* 80293A58 7F E4 FB 78 */ mr r4, r31
/* 80293A5C 81 83 00 00 */ lwz r12, 0(r3)
/* 80293A60 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 80293A64 7D 89 03 A6 */ mtctr r12
/* 80293A68 4E 80 04 21 */ bctrl
/* 80293A6C 2C 03 00 00 */ cmpwi r3, 0
/* 80293A70 40 80 00 0C */ bge lbl_80293A7C
/* 80293A74 38 60 FF FF */ li r3, -1
/* 80293A78 48 00 00 2C */ b lbl_80293AA4
lbl_80293A7C:
/* 80293A7C 80 1E 00 40 */ lwz r0, 0x40(r30)
/* 80293A80 2C 00 00 00 */ cmpwi r0, 0
/* 80293A84 41 82 00 10 */ beq lbl_80293A94
/* 80293A88 80 1E 00 44 */ lwz r0, 0x44(r30)
/* 80293A8C 28 00 00 00 */ cmplwi r0, 0
/* 80293A90 41 82 00 10 */ beq lbl_80293AA0
lbl_80293A94:
/* 80293A94 88 1E 00 51 */ lbz r0, 0x51(r30)
/* 80293A98 28 00 00 00 */ cmplwi r0, 0
/* 80293A9C 41 82 FF B8 */ beq lbl_80293A54
lbl_80293AA0:
/* 80293AA0 38 60 00 00 */ li r3, 0
lbl_80293AA4:
/* 80293AA4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80293AA8 83 C1 00 08 */ lwz r30, 8(r1)
/* 80293AAC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80293AB0 7C 08 03 A6 */ mtlr r0
/* 80293AB4 38 21 00 10 */ addi r1, r1, 0x10
/* 80293AB8 4E 80 00 20 */ blr

View File

@ -1,36 +0,0 @@
lbl_80293BE8:
/* 80293BE8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80293BEC 7C 08 02 A6 */ mflr r0
/* 80293BF0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80293BF4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80293BF8 7C 7F 1B 78 */ mr r31, r3
/* 80293BFC 80 83 00 54 */ lwz r4, 0x54(r3)
/* 80293C00 28 04 00 00 */ cmplwi r4, 0
/* 80293C04 41 82 00 54 */ beq lbl_80293C58
/* 80293C08 38 04 FF FF */ addi r0, r4, -1
/* 80293C0C 90 1F 00 54 */ stw r0, 0x54(r31)
/* 80293C10 80 1F 00 54 */ lwz r0, 0x54(r31)
/* 80293C14 28 00 00 00 */ cmplwi r0, 0
/* 80293C18 40 82 00 40 */ bne lbl_80293C58
/* 80293C1C 38 80 00 05 */ li r4, 5
/* 80293C20 4B FF FE 9D */ bl interrupt__10JASSeqCtrlFQ210JASSeqCtrl8IntrType
/* 80293C24 88 7F 00 50 */ lbz r3, 0x50(r31)
/* 80293C28 28 03 00 00 */ cmplwi r3, 0
/* 80293C2C 41 82 00 24 */ beq lbl_80293C50
/* 80293C30 38 03 FF FF */ addi r0, r3, -1
/* 80293C34 98 1F 00 50 */ stb r0, 0x50(r31)
/* 80293C38 88 1F 00 50 */ lbz r0, 0x50(r31)
/* 80293C3C 28 00 00 00 */ cmplwi r0, 0
/* 80293C40 41 82 00 18 */ beq lbl_80293C58
/* 80293C44 80 1F 00 58 */ lwz r0, 0x58(r31)
/* 80293C48 90 1F 00 54 */ stw r0, 0x54(r31)
/* 80293C4C 48 00 00 0C */ b lbl_80293C58
lbl_80293C50:
/* 80293C50 80 1F 00 58 */ lwz r0, 0x58(r31)
/* 80293C54 90 1F 00 54 */ stw r0, 0x54(r31)
lbl_80293C58:
/* 80293C58 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80293C5C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80293C60 7C 08 03 A6 */ mtlr r0
/* 80293C64 38 21 00 10 */ addi r1, r1, 0x10
/* 80293C68 4E 80 00 20 */ blr

View File

@ -1,15 +0,0 @@
lbl_801934D0:
/* 801934D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801934D4 7C 08 02 A6 */ mflr r0
/* 801934D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 801934DC 88 03 00 18 */ lbz r0, 0x18(r3)
/* 801934E0 1C A0 00 0C */ mulli r5, r0, 0xc
/* 801934E4 3C 80 80 3C */ lis r4, brightChackProc@ha /* 0x803BB5D4@ha */
/* 801934E8 38 04 B5 D4 */ addi r0, r4, brightChackProc@l /* 0x803BB5D4@l */
/* 801934EC 7D 80 2A 14 */ add r12, r0, r5
/* 801934F0 48 1C EB 95 */ bl __ptmf_scall
/* 801934F4 60 00 00 00 */ nop
/* 801934F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801934FC 7C 08 03 A6 */ mtlr r0
/* 80193500 38 21 00 10 */ addi r1, r1, 0x10
/* 80193504 4E 80 00 20 */ blr

View File

@ -1,37 +0,0 @@
lbl_8019350C:
/* 8019350C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80193510 7C 08 02 A6 */ mflr r0
/* 80193514 90 01 00 24 */ stw r0, 0x24(r1)
/* 80193518 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8019351C 7C 7F 1B 78 */ mr r31, r3
/* 80193520 3C 60 80 3E */ lis r3, m_cpadInfo__8mDoCPd_c@ha /* 0x803DD2E8@ha */
/* 80193524 38 63 D2 E8 */ addi r3, r3, m_cpadInfo__8mDoCPd_c@l /* 0x803DD2E8@l */
/* 80193528 80 63 00 34 */ lwz r3, 0x34(r3)
/* 8019352C 54 60 05 EF */ rlwinm. r0, r3, 0, 0x17, 0x17
/* 80193530 40 82 00 0C */ bne lbl_8019353C
/* 80193534 54 60 04 E7 */ rlwinm. r0, r3, 0, 0x13, 0x13
/* 80193538 41 82 00 48 */ beq lbl_80193580
lbl_8019353C:
/* 8019353C 38 00 00 01 */ li r0, 1
/* 80193540 90 01 00 08 */ stw r0, 8(r1)
/* 80193544 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13)
/* 80193548 38 81 00 08 */ addi r4, r1, 8
/* 8019354C 38 A0 00 00 */ li r5, 0
/* 80193550 38 C0 00 00 */ li r6, 0
/* 80193554 38 E0 00 00 */ li r7, 0
/* 80193558 C0 22 A0 04 */ lfs f1, lit_3821(r2)
/* 8019355C FC 40 08 90 */ fmr f2, f1
/* 80193560 C0 62 A0 08 */ lfs f3, lit_3822(r2)
/* 80193564 FC 80 18 90 */ fmr f4, f3
/* 80193568 39 00 00 00 */ li r8, 0
/* 8019356C 48 11 84 19 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
/* 80193570 38 00 00 01 */ li r0, 1
/* 80193574 98 1F 00 19 */ stb r0, 0x19(r31)
/* 80193578 38 00 00 00 */ li r0, 0
/* 8019357C 98 1F 00 18 */ stb r0, 0x18(r31)
lbl_80193580:
/* 80193580 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80193584 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80193588 7C 08 03 A6 */ mtlr r0
/* 8019358C 38 21 00 20 */ addi r1, r1, 0x20
/* 80193590 4E 80 00 20 */ blr

View File

@ -1,32 +0,0 @@
lbl_8004817C:
/* 8004817C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80048180 7C 08 02 A6 */ mflr r0
/* 80048184 90 01 00 14 */ stw r0, 0x14(r1)
/* 80048188 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8004818C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80048190 88 05 4F AC */ lbz r0, 0x4fac(r5)
/* 80048194 28 00 00 00 */ cmplwi r0, 0
/* 80048198 41 82 00 4C */ beq lbl_800481E4
/* 8004819C 2C 04 FF FF */ cmpwi r4, -1
/* 800481A0 41 82 00 44 */ beq lbl_800481E4
/* 800481A4 A8 03 01 AA */ lha r0, 0x1aa(r3)
/* 800481A8 2C 00 FF FF */ cmpwi r0, -1
/* 800481AC 41 82 00 38 */ beq lbl_800481E4
/* 800481B0 80 03 01 B4 */ lwz r0, 0x1b4(r3)
/* 800481B4 1C 00 00 24 */ mulli r0, r0, 0x24
/* 800481B8 7C C3 02 14 */ add r6, r3, r0
/* 800481BC 80 A6 00 08 */ lwz r5, 8(r6)
/* 800481C0 1C 84 00 50 */ mulli r4, r4, 0x50
/* 800481C4 38 04 00 38 */ addi r0, r4, 0x38
/* 800481C8 7C 05 00 2E */ lwzx r0, r5, r0
/* 800481CC 80 86 00 0C */ lwz r4, 0xc(r6)
/* 800481D0 1C 00 00 50 */ mulli r0, r0, 0x50
/* 800481D4 7C 84 02 14 */ add r4, r4, r0
/* 800481D8 38 63 01 BC */ addi r3, r3, 0x1bc
/* 800481DC 80 84 00 34 */ lwz r4, 0x34(r4)
/* 800481E0 4B FF BB E9 */ bl flagSet__11dEvDtFlag_cFi
lbl_800481E4:
/* 800481E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800481E8 7C 08 03 A6 */ mtlr r0
/* 800481EC 38 21 00 10 */ addi r1, r1, 0x10
/* 800481F0 4E 80 00 20 */ blr

View File

@ -1,48 +0,0 @@
lbl_80040134:
/* 80040134 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80040138 7C 08 02 A6 */ mflr r0
/* 8004013C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80040140 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80040144 93 C1 00 08 */ stw r30, 8(r1)
/* 80040148 7C 7E 1B 78 */ mr r30, r3
/* 8004014C 3B E0 00 00 */ li r31, 0
/* 80040150 4B FF FE A5 */ bl getFirstDrawRoomNo__16renderingDAmap_cFv
/* 80040154 90 7E 00 24 */ stw r3, 0x24(r30)
/* 80040158 80 1E 00 24 */ lwz r0, 0x24(r30)
/* 8004015C 2C 00 00 00 */ cmpwi r0, 0
/* 80040160 41 80 00 5C */ blt lbl_800401BC
/* 80040164 7F C3 F3 78 */ mr r3, r30
/* 80040168 81 9E 00 00 */ lwz r12, 0(r30)
/* 8004016C 81 8C 00 68 */ lwz r12, 0x68(r12)
/* 80040170 7D 89 03 A6 */ mtctr r12
/* 80040174 4E 80 04 21 */ bctrl
/* 80040178 90 7E 00 28 */ stw r3, 0x28(r30)
/* 8004017C 80 8D 88 E4 */ lwz r4, mLayerList__8dMpath_c(r13)
/* 80040180 80 1E 00 28 */ lwz r0, 0x28(r30)
/* 80040184 54 03 40 2E */ slwi r3, r0, 8
/* 80040188 80 1E 00 24 */ lwz r0, 0x24(r30)
/* 8004018C 54 00 10 3A */ slwi r0, r0, 2
/* 80040190 7C 03 02 14 */ add r0, r3, r0
/* 80040194 7C 04 00 2E */ lwzx r0, r4, r0
/* 80040198 7C 1F 03 78 */ mr r31, r0
/* 8004019C 28 00 00 00 */ cmplwi r0, 0
/* 800401A0 40 82 00 1C */ bne lbl_800401BC
/* 800401A4 7F C3 F3 78 */ mr r3, r30
/* 800401A8 81 9E 00 00 */ lwz r12, 0(r30)
/* 800401AC 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 800401B0 7D 89 03 A6 */ mtctr r12
/* 800401B4 4E 80 04 21 */ bctrl
/* 800401B8 7C 7F 1B 78 */ mr r31, r3
lbl_800401BC:
/* 800401BC 28 1F 00 00 */ cmplwi r31, 0
/* 800401C0 41 82 00 0C */ beq lbl_800401CC
/* 800401C4 7F C3 F3 78 */ mr r3, r30
/* 800401C8 4B FF FC A5 */ bl setSingleRoomSetting__16renderingDAmap_cFv
lbl_800401CC:
/* 800401CC 7F E3 FB 78 */ mr r3, r31
/* 800401D0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800401D4 83 C1 00 08 */ lwz r30, 8(r1)
/* 800401D8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800401DC 7C 08 03 A6 */ mtlr r0
/* 800401E0 38 21 00 10 */ addi r1, r1, 0x10
/* 800401E4 4E 80 00 20 */ blr

View File

@ -1,45 +0,0 @@
lbl_8003F0F8:
/* 8003F0F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003F0FC 7C 08 02 A6 */ mflr r0
/* 8003F100 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003F104 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003F108 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8003F10C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8003F110 AB E3 0D BA */ lha r31, 0xdba(r3)
/* 8003F114 4B FF FE 5D */ bl getConstRestartIconPointer__10dMapInfo_nFv
/* 8003F118 28 03 00 00 */ cmplwi r3, 0
/* 8003F11C 41 82 00 34 */ beq lbl_8003F150
/* 8003F120 88 03 00 13 */ lbz r0, 0x13(r3)
/* 8003F124 7C 00 07 74 */ extsb r0, r0
/* 8003F128 7C 1F 03 78 */ mr r31, r0
/* 8003F12C 7C 60 00 D0 */ neg r3, r0
/* 8003F130 7C 60 00 78 */ andc r0, r3, r0
/* 8003F134 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 8003F138 41 82 00 08 */ beq lbl_8003F140
/* 8003F13C 7C 7F 1B 78 */ mr r31, r3
lbl_8003F140:
/* 8003F140 57 FF 40 2E */ slwi r31, r31, 8
/* 8003F144 28 00 00 00 */ cmplwi r0, 0
/* 8003F148 41 82 00 08 */ beq lbl_8003F150
/* 8003F14C 7F FF 00 D0 */ neg r31, r31
lbl_8003F150:
/* 8003F150 3C 60 80 3F */ lis r3, mStatus__20dStage_roomControl_c@ha /* 0x803F6094@ha */
/* 8003F154 38 83 60 94 */ addi r4, r3, mStatus__20dStage_roomControl_c@l /* 0x803F6094@l */
/* 8003F158 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8003F15C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8003F160 88 03 0D B4 */ lbz r0, 0xdb4(r3)
/* 8003F164 7C 00 07 74 */ extsb r0, r0
/* 8003F168 1C 00 04 04 */ mulli r0, r0, 0x404
/* 8003F16C 7C 64 02 14 */ add r3, r4, r0
/* 8003F170 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8003F174 28 03 00 00 */ cmplwi r3, 0
/* 8003F178 41 82 00 0C */ beq lbl_8003F184
/* 8003F17C A8 03 00 1C */ lha r0, 0x1c(r3)
/* 8003F180 7F FF 02 14 */ add r31, r31, r0
lbl_8003F184:
/* 8003F184 7F E3 07 34 */ extsh r3, r31
/* 8003F188 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003F18C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003F190 7C 08 03 A6 */ mtlr r0
/* 8003F194 38 21 00 10 */ addi r1, r1, 0x10
/* 8003F198 4E 80 00 20 */ blr

View File

@ -1,61 +0,0 @@
lbl_800401E8:
/* 800401E8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800401EC 7C 08 02 A6 */ mflr r0
/* 800401F0 90 01 00 24 */ stw r0, 0x24(r1)
/* 800401F4 39 61 00 20 */ addi r11, r1, 0x20
/* 800401F8 48 32 1F E5 */ bl _savegpr_29
/* 800401FC 7C 7D 1B 78 */ mr r29, r3
/* 80040200 3B E0 00 00 */ li r31, 0
/* 80040204 3B C0 00 00 */ li r30, 0
lbl_80040208:
/* 80040208 7F A3 EB 78 */ mr r3, r29
/* 8004020C 80 9D 00 24 */ lwz r4, 0x24(r29)
/* 80040210 4B FF FE 85 */ bl getNextDrawRoomNo__16renderingDAmap_cFi
/* 80040214 90 7D 00 24 */ stw r3, 0x24(r29)
/* 80040218 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 8004021C 2C 00 00 00 */ cmpwi r0, 0
/* 80040220 40 80 00 40 */ bge lbl_80040260
/* 80040224 7F A3 EB 78 */ mr r3, r29
/* 80040228 80 9D 00 28 */ lwz r4, 0x28(r29)
/* 8004022C 81 9D 00 00 */ lwz r12, 0(r29)
/* 80040230 81 8C 00 6C */ lwz r12, 0x6c(r12)
/* 80040234 7D 89 03 A6 */ mtctr r12
/* 80040238 4E 80 04 21 */ bctrl
/* 8004023C 90 7D 00 28 */ stw r3, 0x28(r29)
/* 80040240 80 1D 00 28 */ lwz r0, 0x28(r29)
/* 80040244 2C 00 00 00 */ cmpwi r0, 0
/* 80040248 40 80 00 0C */ bge lbl_80040254
/* 8004024C 3B C0 00 01 */ li r30, 1
/* 80040250 48 00 00 10 */ b lbl_80040260
lbl_80040254:
/* 80040254 7F A3 EB 78 */ mr r3, r29
/* 80040258 4B FF FD 9D */ bl getFirstDrawRoomNo__16renderingDAmap_cFv
/* 8004025C 90 7D 00 24 */ stw r3, 0x24(r29)
lbl_80040260:
/* 80040260 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 80040264 40 82 00 20 */ bne lbl_80040284
/* 80040268 80 8D 88 E4 */ lwz r4, mLayerList__8dMpath_c(r13)
/* 8004026C 80 1D 00 28 */ lwz r0, 0x28(r29)
/* 80040270 54 03 40 2E */ slwi r3, r0, 8
/* 80040274 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 80040278 54 00 10 3A */ slwi r0, r0, 2
/* 8004027C 7C 03 02 14 */ add r0, r3, r0
/* 80040280 7F E4 00 2E */ lwzx r31, r4, r0
lbl_80040284:
/* 80040284 28 1F 00 00 */ cmplwi r31, 0
/* 80040288 40 82 00 0C */ bne lbl_80040294
/* 8004028C 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 80040290 41 82 FF 78 */ beq lbl_80040208
lbl_80040294:
/* 80040294 28 1F 00 00 */ cmplwi r31, 0
/* 80040298 41 82 00 0C */ beq lbl_800402A4
/* 8004029C 7F A3 EB 78 */ mr r3, r29
/* 800402A0 4B FF FB CD */ bl setSingleRoomSetting__16renderingDAmap_cFv
lbl_800402A4:
/* 800402A4 7F E3 FB 78 */ mr r3, r31
/* 800402A8 39 61 00 20 */ addi r11, r1, 0x20
/* 800402AC 48 32 1F 7D */ bl _restgpr_29
/* 800402B0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800402B4 7C 08 03 A6 */ mtlr r0
/* 800402B8 38 21 00 20 */ addi r1, r1, 0x20
/* 800402BC 4E 80 00 20 */ blr

View File

@ -1,145 +0,0 @@
lbl_80959238:
/* 80959238 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8095923C 7C 08 02 A6 */ mflr r0
/* 80959240 90 01 00 34 */ stw r0, 0x34(r1)
/* 80959244 39 61 00 30 */ addi r11, r1, 0x30
/* 80959248 4B A0 8F 91 */ bl _savegpr_28
/* 8095924C 7C 7D 1B 78 */ mr r29, r3
/* 80959250 7C BE 2B 78 */ mr r30, r5
/* 80959254 A0 A4 00 14 */ lhz r5, 0x14(r4)
/* 80959258 7C BF 2B 78 */ mr r31, r5
/* 8095925C 3C 60 80 96 */ lis r3, lit_4385@ha /* 0x8095D6C4@ha */
/* 80959260 38 83 D6 C4 */ addi r4, r3, lit_4385@l /* 0x8095D6C4@l */
/* 80959264 80 64 00 00 */ lwz r3, 0(r4)
/* 80959268 80 04 00 04 */ lwz r0, 4(r4)
/* 8095926C 90 61 00 08 */ stw r3, 8(r1)
/* 80959270 90 01 00 0C */ stw r0, 0xc(r1)
/* 80959274 80 04 00 08 */ lwz r0, 8(r4)
/* 80959278 90 01 00 10 */ stw r0, 0x10(r1)
/* 8095927C 2C 05 00 00 */ cmpwi r5, 0
/* 80959280 40 82 00 B0 */ bne lbl_80959330
/* 80959284 80 7D 05 68 */ lwz r3, 0x568(r29)
/* 80959288 80 63 00 04 */ lwz r3, 4(r3)
/* 8095928C 80 63 00 84 */ lwz r3, 0x84(r3)
/* 80959290 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80959294 38 63 00 30 */ addi r3, r3, 0x30
/* 80959298 3C 80 80 3E */ lis r4, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8095929C 38 84 D4 70 */ addi r4, r4, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 809592A0 4B 9E D2 11 */ bl PSMTXCopy
/* 809592A4 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 809592A8 3B 83 D4 70 */ addi r28, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 809592AC C0 1C 00 0C */ lfs f0, 0xc(r28)
/* 809592B0 D0 1D 08 54 */ stfs f0, 0x854(r29)
/* 809592B4 C0 1C 00 1C */ lfs f0, 0x1c(r28)
/* 809592B8 D0 1D 08 58 */ stfs f0, 0x858(r29)
/* 809592BC C0 1C 00 2C */ lfs f0, 0x2c(r28)
/* 809592C0 D0 1D 08 5C */ stfs f0, 0x85c(r29)
/* 809592C4 80 7D 05 68 */ lwz r3, 0x568(r29)
/* 809592C8 80 63 00 04 */ lwz r3, 4(r3)
/* 809592CC 80 63 00 84 */ lwz r3, 0x84(r3)
/* 809592D0 80 63 00 0C */ lwz r3, 0xc(r3)
/* 809592D4 38 63 00 90 */ addi r3, r3, 0x90
/* 809592D8 7F 84 E3 78 */ mr r4, r28
/* 809592DC 4B 9E D1 D5 */ bl PSMTXCopy
/* 809592E0 C0 1C 00 0C */ lfs f0, 0xc(r28)
/* 809592E4 D0 1D 08 60 */ stfs f0, 0x860(r29)
/* 809592E8 C0 1C 00 1C */ lfs f0, 0x1c(r28)
/* 809592EC D0 1D 08 64 */ stfs f0, 0x864(r29)
/* 809592F0 C0 1C 00 2C */ lfs f0, 0x2c(r28)
/* 809592F4 D0 1D 08 68 */ stfs f0, 0x868(r29)
/* 809592F8 80 7D 05 68 */ lwz r3, 0x568(r29)
/* 809592FC 80 63 00 04 */ lwz r3, 4(r3)
/* 80959300 80 63 00 84 */ lwz r3, 0x84(r3)
/* 80959304 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80959308 38 63 00 C0 */ addi r3, r3, 0xc0
/* 8095930C 3C 80 80 3E */ lis r4, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80959310 38 84 D4 70 */ addi r4, r4, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80959314 4B 9E D1 9D */ bl PSMTXCopy
/* 80959318 C0 1C 00 0C */ lfs f0, 0xc(r28)
/* 8095931C D0 1D 08 6C */ stfs f0, 0x86c(r29)
/* 80959320 C0 1C 00 1C */ lfs f0, 0x1c(r28)
/* 80959324 D0 1D 08 70 */ stfs f0, 0x870(r29)
/* 80959328 C0 1C 00 2C */ lfs f0, 0x2c(r28)
/* 8095932C D0 1D 08 74 */ stfs f0, 0x874(r29)
lbl_80959330:
/* 80959330 80 7E 00 84 */ lwz r3, 0x84(r30)
/* 80959334 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80959338 1F 9F 00 30 */ mulli r28, r31, 0x30
/* 8095933C 7C 60 E2 14 */ add r3, r0, r28
/* 80959340 3C 80 80 3E */ lis r4, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80959344 38 84 D4 70 */ addi r4, r4, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80959348 4B 9E D1 69 */ bl PSMTXCopy
/* 8095934C 2C 1F 00 02 */ cmpwi r31, 2
/* 80959350 41 82 00 38 */ beq lbl_80959388
/* 80959354 40 80 00 10 */ bge lbl_80959364
/* 80959358 2C 1F 00 01 */ cmpwi r31, 1
/* 8095935C 40 80 00 10 */ bge lbl_8095936C
/* 80959360 48 00 00 28 */ b lbl_80959388
lbl_80959364:
/* 80959364 2C 1F 00 05 */ cmpwi r31, 5
/* 80959368 40 80 00 20 */ bge lbl_80959388
lbl_8095936C:
/* 8095936C 7F A3 EB 78 */ mr r3, r29
/* 80959370 7F E4 FB 78 */ mr r4, r31
/* 80959374 38 A1 00 08 */ addi r5, r1, 8
/* 80959378 3C C0 80 96 */ lis r6, m__16daNpcAsh_Param_c@ha /* 0x8095D640@ha */
/* 8095937C 38 C6 D6 40 */ addi r6, r6, m__16daNpcAsh_Param_c@l /* 0x8095D640@l */
/* 80959380 C0 26 00 40 */ lfs f1, 0x40(r6)
/* 80959384 4B 7F 9F F9 */ bl setLookatMtx__8daNpcF_cFiPif
lbl_80959388:
/* 80959388 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 8095938C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80959390 80 9E 00 84 */ lwz r4, 0x84(r30)
/* 80959394 80 04 00 0C */ lwz r0, 0xc(r4)
/* 80959398 7C 80 E2 14 */ add r4, r0, r28
/* 8095939C 4B 9E D1 15 */ bl PSMTXCopy
/* 809593A0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 809593A4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 809593A8 3C 80 80 43 */ lis r4, mCurrentMtx__6J3DSys@ha /* 0x80434BE4@ha */
/* 809593AC 38 84 4B E4 */ addi r4, r4, mCurrentMtx__6J3DSys@l /* 0x80434BE4@l */
/* 809593B0 4B 9E D1 01 */ bl PSMTXCopy
/* 809593B4 2C 1F 00 04 */ cmpwi r31, 4
/* 809593B8 41 82 00 0C */ beq lbl_809593C4
/* 809593BC 2C 1F 00 0C */ cmpwi r31, 0xc
/* 809593C0 40 82 00 2C */ bne lbl_809593EC
lbl_809593C4:
/* 809593C4 80 1D 09 9C */ lwz r0, 0x99c(r29)
/* 809593C8 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17
/* 809593CC 41 82 00 20 */ beq lbl_809593EC
/* 809593D0 83 9D 05 80 */ lwz r28, 0x580(r29)
/* 809593D4 80 7D 05 68 */ lwz r3, 0x568(r29)
/* 809593D8 80 83 00 08 */ lwz r4, 8(r3)
/* 809593DC 38 7D 05 6C */ addi r3, r29, 0x56c
/* 809593E0 4B 6B 45 B1 */ bl changeBckOnly__13mDoExt_bckAnmFP15J3DAnmTransform
/* 809593E4 80 7D 05 68 */ lwz r3, 0x568(r29)
/* 809593E8 93 83 00 08 */ stw r28, 8(r3)
lbl_809593EC:
/* 809593EC C0 1D 09 78 */ lfs f0, 0x978(r29)
/* 809593F0 FC 00 02 10 */ fabs f0, f0
/* 809593F4 FC 20 00 18 */ frsp f1, f0
/* 809593F8 3C 60 80 45 */ lis r3, G_CM3D_F_ABS_MIN@ha /* 0x80451180@ha */
/* 809593FC C0 03 11 80 */ lfs f0, G_CM3D_F_ABS_MIN@l(r3) /* 0x80451180@l */
/* 80959400 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80959404 7C 00 00 26 */ mfcr r0
/* 80959408 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 8095940C 40 82 00 30 */ bne lbl_8095943C
/* 80959410 2C 1F 00 0C */ cmpwi r31, 0xc
/* 80959414 40 82 00 14 */ bne lbl_80959428
/* 80959418 38 00 00 01 */ li r0, 1
/* 8095941C 80 7D 05 68 */ lwz r3, 0x568(r29)
/* 80959420 98 03 00 55 */ stb r0, 0x55(r3)
/* 80959424 48 00 00 18 */ b lbl_8095943C
lbl_80959428:
/* 80959428 2C 1F 00 04 */ cmpwi r31, 4
/* 8095942C 40 82 00 10 */ bne lbl_8095943C
/* 80959430 38 00 00 00 */ li r0, 0
/* 80959434 80 7D 05 68 */ lwz r3, 0x568(r29)
/* 80959438 98 03 00 55 */ stb r0, 0x55(r3)
lbl_8095943C:
/* 8095943C 38 60 00 01 */ li r3, 1
/* 80959440 39 61 00 30 */ addi r11, r1, 0x30
/* 80959444 4B A0 8D E1 */ bl _restgpr_28
/* 80959448 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8095944C 7C 08 03 A6 */ mtlr r0
/* 80959450 38 21 00 30 */ addi r1, r1, 0x30
/* 80959454 4E 80 00 20 */ blr

View File

@ -2,17 +2,27 @@
#define JASAUDIOTHREAD_H #define JASAUDIOTHREAD_H
#include "JSystem/JAudio2/JASGadget.h" #include "JSystem/JAudio2/JASGadget.h"
#include "JSystem/JKernel/JKRThread.h"
struct JASAudioThread : public JASGlobalInstance<JASAudioThread> { enum JASAudioMessage {
AUDIOMSG_DMA = 0,
AUDIOMSG_DSP = 1,
AUDIOMSG_STOP = 2,
};
struct JASAudioThread : public JKRThread, public JASGlobalInstance<JASAudioThread> {
/* 8029CCDC */ JASAudioThread(int, int, u32); /* 8029CCDC */ JASAudioThread(int, int, u32);
/* 8029CD4C */ void create(s32); /* 8029CD4C */ static void create(s32);
/* 8029CDC0 */ void stop(); /* 8029CDC0 */ void stop();
/* 8029CDEC */ void run(); /* 8029CDEC */ virtual void* run();
/* 8029CF68 */ void DMACallback(); /* 8029CF68 */ static void DMACallback();
/* 8029CFBC */ void DSPCallback(void*); /* 8029CFBC */ static void DSPCallback(void*);
/* 8029D028 */ ~JASAudioThread(); /* 8029D028 */ virtual ~JASAudioThread() {}
static u8 snIntCount[4 + 4 /* padding */]; /* 0x7c */ OSThreadQueue sThreadQueue;
/* 0x84 */ bool sbPauseFlag; // type unsure
static volatile int snIntCount; // type unsure
}; };
#endif /* JASAUDIOTHREAD_H */ #endif /* JASAUDIOTHREAD_H */

View File

@ -19,6 +19,13 @@ struct JASDriver {
/* 8029E2D0 */ void DSPSyncCallback(); /* 8029E2D0 */ void DSPSyncCallback();
/* 8029E2F8 */ void updateDacCallback(); /* 8029E2F8 */ void updateDacCallback();
/* 8029C9F0 */ static u32 getSubFrames(); /* 8029C9F0 */ static u32 getSubFrames();
static void initAI(void (*)());
static void startDMA();
static void stopDMA();
static void updateDac();
static void updateDacCallback();
static void finishDSPFrame();
static void updateDSP();
static u8 sDspSyncCallback[256]; static u8 sDspSyncCallback[256];
static u8 sSubFrameCallback[256]; static u8 sSubFrameCallback[256];

View File

@ -10,8 +10,12 @@ public:
sInstance = inst; sInstance = inst;
} }
JASGlobalInstance(bool param_1) {
sInstance = (T*)this;
}
~JASGlobalInstance() { ~JASGlobalInstance() {
if (this == sInstance) { if (sInstance == (T*)this) {
sInstance = NULL; sInstance = NULL;
} }
} }

View File

@ -13,6 +13,21 @@ public:
/* 8029627C */ bool ret(); /* 8029627C */ bool ret();
/* 802962B0 */ int readMidiValue(); /* 802962B0 */ int readMidiValue();
void jump(u32 param_1) {
field_0x04 = (u8*)field_0x00 + param_1;
}
void jump(void* param_1) {
field_0x04 = (u8*)param_1;
}
u32 get24(int param_0) {
return (*(u32*)((int)field_0x00 + param_0 - 1)) & 0xffffff;
}
u32* getBase() { return field_0x00; }
u8* getCur() { return field_0x04; }
u8 readByte() { u8 readByte() {
u8* tmp = field_0x04; u8* tmp = field_0x04;
field_0x04 += 1; field_0x04 += 1;

View File

@ -70,7 +70,7 @@ struct JASTrack {
/* 80291F38 */ void noteOn(u32, u32, u32); /* 80291F38 */ void noteOn(u32, u32, u32);
/* 80292008 */ void gateOn(u32, u32, f32, u32); /* 80292008 */ void gateOn(u32, u32, f32, u32);
/* 80292198 */ void noteOff(u32, u16); /* 80292198 */ void noteOff(u32, u16);
/* 80292220 */ void checkNoteStop(u32) const; /* 80292220 */ bool checkNoteStop(u32) const;
/* 8029226C */ void overwriteOsc(JASChannel*); /* 8029226C */ void overwriteOsc(JASChannel*);
/* 802922D8 */ void updateTimedParam(); /* 802922D8 */ void updateTimedParam();
/* 80292348 */ void updateTrack(f32); /* 80292348 */ void updateTrack(f32);

View File

@ -72,11 +72,7 @@ public:
s32 getCurrentHeapError() const { return mCurrentHeapError; } s32 getCurrentHeapError() const { return mCurrentHeapError; }
void setCurrentHeap(JKRHeap* heap) { void setCurrentHeap(JKRHeap* heap) {
if (!heap) { mCurrentHeap = heap ? heap : JKRHeap::getCurrentHeap();
heap = JKRHeap::getCurrentHeap();
}
mCurrentHeap = heap;
} }
protected: protected:

View File

@ -18,6 +18,9 @@ public:
/* 8003FB70 */ static void create(); /* 8003FB70 */ static void create();
/* 8003FBD0 */ static void reset(); /* 8003FBD0 */ static void reset();
/* 8003FC70 */ static void remove(); /* 8003FC70 */ static void remove();
static dDrawPath_c::room_class* getRoomPointer(int layerNo, int roomNo) {
return (mLayerList + 0x40*layerNo)[roomNo];
}
static dDrawPath_c::room_class** mLayerList; // this doesn't seem right, but can't figure it out atm static dDrawPath_c::room_class** mLayerList; // this doesn't seem right, but can't figure it out atm
static f32 mMinX; static f32 mMinX;
@ -92,7 +95,7 @@ public:
/* 8003FFC4 */ virtual void postDrawPath(); /* 8003FFC4 */ virtual void postDrawPath();
/* 800402C0 */ virtual bool isDrawPath(); /* 800402C0 */ virtual bool isDrawPath();
/* 8003FE4C */ virtual GXColor* getBackColor() const; /* 8003FE4C */ virtual GXColor* getBackColor() const;
/* 800402E0 */ virtual bool getFirstDrawLayerNo(); /* 800402E0 */ virtual int getFirstDrawLayerNo();
/* 800402E8 */ virtual int getNextDrawLayerNo(int); /* 800402E8 */ virtual int getNextDrawLayerNo(int);
/* 800409E0 */ virtual bool isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool, /* 800409E0 */ virtual bool isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool,
Vec const*) const; Vec const*) const;

View File

@ -4,30 +4,24 @@
// //
#include "JSystem/JAudio2/JASAudioThread.h" #include "JSystem/JAudio2/JASAudioThread.h"
#include "JSystem/JAudio2/JASDriverIF.h"
#include "dol2asm.h" #include "dol2asm.h"
#include "dolphin/types.h" #include "dolphin/types.h"
#include "dolphin/os/OS.h"
#include "dolphin/dsp/dsp.h"
// //
// Types: // Types:
// //
struct JKRHeap {
static u8 sSystemHeap[4];
static u8 sCurrentHeap[4];
};
struct JKRThread {
/* 802D1610 */ JKRThread(JKRHeap*, u32, int, int);
/* 802D1758 */ ~JKRThread();
};
struct JASProbe { struct JASProbe {
/* 80290EE4 */ void start(s32, char const*); /* 80290EE4 */ static void start(s32, char const*);
/* 80290F24 */ void stop(s32); /* 80290F24 */ static void stop(s32);
}; };
template <typename A0> template <typename A0>
struct JASMemPool_MultiThreaded {}; struct JASMemPool {};
/* JASMemPool_MultiThreaded<JASChannel> */ /* JASMemPool_MultiThreaded<JASChannel> */
struct JASMemPool_MultiThreaded__template2 { struct JASMemPool_MultiThreaded__template2 {
/* 802978DC */ void func_802978DC(void* _this); /* 802978DC */ void func_802978DC(void* _this);
@ -35,27 +29,17 @@ struct JASMemPool_MultiThreaded__template2 {
struct JASGenericMemPool { struct JASGenericMemPool {
/* 80290848 */ JASGenericMemPool(); /* 80290848 */ JASGenericMemPool();
/* 802908C8 */ void newMemPool(u32, int); /* 802908C8 */ static void newMemPool(u32, int);
}; };
struct JASDsp { struct JASDsp {
/* 8029D958 */ void boot(void (*)(void*)); /* 8029D958 */ static void boot(void (*)(void*));
/* 8029D9C4 */ void finishWork(u16); /* 8029D9C4 */ static void finishWork(u16);
/* 8029DAC8 */ void initBuffer(); /* 8029DAC8 */ static void initBuffer();
};
struct JASDriver {
/* 8029C388 */ void initAI(void (*)(void));
/* 8029C4E4 */ void startDMA();
/* 8029C504 */ void stopDMA();
/* 8029C568 */ void updateDac();
/* 8029C6C4 */ void updateDSP();
/* 8029C900 */ void finishDSPFrame();
/* 8029E2F8 */ void updateDacCallback();
}; };
struct JASDSPChannel { struct JASDSPChannel {
/* 8029D3C8 */ void initAll(); /* 8029D3C8 */ static void initAll();
}; };
// //
@ -96,67 +80,41 @@ extern "C" void* __nw__FUlP7JKRHeapi();
extern "C" void __dl__FPv(); extern "C" void __dl__FPv();
extern "C" void __ct__9JKRThreadFP7JKRHeapUlii(); extern "C" void __ct__9JKRThreadFP7JKRHeapUlii();
extern "C" void __dt__9JKRThreadFv(); extern "C" void __dt__9JKRThreadFv();
extern "C" void OSDisableInterrupts();
extern "C" void OSRestoreInterrupts();
extern "C" void OSSendMessage();
extern "C" void OSReceiveMessage();
extern "C" void OSJamMessage();
extern "C" void OSInitThreadQueue();
extern "C" void OSExitThread();
extern "C" void OSResumeThread();
extern "C" void OSSleepThread();
extern "C" void DSPCheckMailFromDSP();
extern "C" void DSPReadMailFromDSP();
extern "C" void __register_global_object(); extern "C" void __register_global_object();
extern "C" extern u8 data_80431B34[16 + 4 /* padding */]; extern "C" extern u8 data_80431B34[16 + 4 /* padding */];
extern "C" extern u8 JASDram[4];
extern "C" extern u8 struct_80451260[8]; extern "C" extern u8 struct_80451260[8];
extern "C" u8 sSystemHeap__7JKRHeap[4]; extern "C" u8 sSystemHeap__7JKRHeap[4];
extern "C" u8 sCurrentHeap__7JKRHeap[4]; extern "C" u8 sCurrentHeap__7JKRHeap[4];
extern "C" extern u8 __OSReport_disable; extern "C" extern u8 __OSReport_disable;
extern JKRHeap* JASDram;
// //
// Declarations: // Declarations:
// //
/* ############################################################################################## */ /* ############################################################################################## */
/* 803C78E0-803C78F0 024A00 0010+00 2/2 0/0 0/0 .data __vt__14JASAudioThread */
SECTION_DATA extern void* __vt__14JASAudioThread[4] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__14JASAudioThreadFv,
(void*)run__14JASAudioThreadFv,
};
/* 8029CCDC-8029CD4C 29761C 0070+00 1/1 0/0 0/0 .text __ct__14JASAudioThreadFiiUl */ /* 8029CCDC-8029CD4C 29761C 0070+00 1/1 0/0 0/0 .text __ct__14JASAudioThreadFiiUl */
#pragma push JASAudioThread::JASAudioThread(int stackSize, int msgCount, u32 threadPriority)
#pragma optimization_level 0 :
#pragma optimizewithasm off JKRThread(JASDram, threadPriority, msgCount, stackSize),
asm JASAudioThread::JASAudioThread(int param_0, int param_1, u32 param_2) { JASGlobalInstance<JASAudioThread>(true)
nofralloc {
#include "asm/JSystem/JAudio2/JASAudioThread/__ct__14JASAudioThreadFiiUl.s" sbPauseFlag = false;
OSInitThreadQueue(&sThreadQueue);
} }
#pragma pop
/* 8029CD4C-8029CDC0 29768C 0074+00 0/0 1/1 0/0 .text create__14JASAudioThreadFl */ /* 8029CD4C-8029CDC0 29768C 0074+00 0/0 1/1 0/0 .text create__14JASAudioThreadFl */
#pragma push void JASAudioThread::create(long threadPriority) {
#pragma optimization_level 0 JASAudioThread* sAudioThread = new (JASDram, 0) JASAudioThread(threadPriority, 0x10, 0x1400);
#pragma optimizewithasm off sAudioThread->setCurrentHeap(JKRGetSystemHeap());
asm void JASAudioThread::create(s32 param_0) { sAudioThread->resume();
nofralloc
#include "asm/JSystem/JAudio2/JASAudioThread/create__14JASAudioThreadFl.s"
} }
#pragma pop
/* 8029CDC0-8029CDEC 297700 002C+00 0/0 1/1 0/0 .text stop__14JASAudioThreadFv */ /* 8029CDC0-8029CDEC 297700 002C+00 0/0 1/1 0/0 .text stop__14JASAudioThreadFv */
#pragma push void JASAudioThread::stop() {
#pragma optimization_level 0 jamMessageBlock((void*)2);
#pragma optimizewithasm off
asm void JASAudioThread::stop() {
nofralloc
#include "asm/JSystem/JAudio2/JASAudioThread/stop__14JASAudioThreadFv.s"
} }
#pragma pop
/* ############################################################################################## */ /* ############################################################################################## */
/* 8039B338-8039B338 027998 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ /* 8039B338-8039B338 027998 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
@ -169,18 +127,93 @@ SECTION_DEAD static char const* const stringBase_8039B338 = "SFR_DSP";
static u8 lit_205[12 + 4 /* padding */]; static u8 lit_205[12 + 4 /* padding */];
/* 804512D8-804512E0 0007D8 0004+04 1/1 2/2 0/0 .sbss snIntCount__14JASAudioThread */ /* 804512D8-804512E0 0007D8 0004+04 1/1 2/2 0/0 .sbss snIntCount__14JASAudioThread */
u8 JASAudioThread::snIntCount[4 + 4 /* padding */]; volatile int JASAudioThread::snIntCount;
class Lock {
public:
Lock() {
mInterrupts = OSDisableInterrupts();
}
~Lock() {
OSRestoreInterrupts(mInterrupts);
}
private:
BOOL mInterrupts;
};
class JASChannel {};
template <class T>
class JASMemPool_MultiThreaded {
public:
static void newMemPool(int param_1) {
Lock lock;
JASGenericMemPool::newMemPool(0x108, param_1);
}
};
template <class T>
class JASPoolAllocObject_MultiThreaded {
public:
static void newMemPool(int param_1) {
JASMemPool_MultiThreaded<T>::newMemPool(param_1);
}
};
/* 8029CDEC-8029CF68 29772C 017C+00 1/0 0/0 0/0 .text run__14JASAudioThreadFv */ /* 8029CDEC-8029CF68 29772C 017C+00 1/0 0/0 0/0 .text run__14JASAudioThreadFv */
// JASPoolAllocObject_MultiThreaded is complex
#ifdef NONMATCHING
void* JASAudioThread::run() {
i_OSInitFastCast();
JASDriver::initAI(DMACallback);
JASDsp::boot(DSPCallback);
JASDsp::initBuffer();
JASDSPChannel::initAll();
JASPoolAllocObject_MultiThreaded<JASChannel>::newMemPool(0x48);
JASDriver::startDMA();
while (true) {
OSMessage msg = waitMessageBlock();
switch ((int)msg) {
case AUDIOMSG_DMA:
if (sbPauseFlag) {
JASDriver::stopDMA();
OSSleepThread(&sThreadQueue);
}
JASDriver::updateDac();
JASDriver::updateDacCallback();
break;
case AUDIOMSG_DSP:
snIntCount--;
if (snIntCount == 0) {
JASProbe::stop(7);
JASDriver::finishDSPFrame();
} else {
JASProbe::start(2, "SFR_DSP");
JASDriver::updateDSP();
JASProbe::stop(2);
}
break;
case AUDIOMSG_STOP:
JASDriver::stopDMA();
OSExitThread(NULL);
break;
}
}
}
#else
#pragma push #pragma push
#pragma optimization_level 0 #pragma optimization_level 0
#pragma optimizewithasm off #pragma optimizewithasm off
asm void JASAudioThread::run() { asm void* JASAudioThread::run() {
nofralloc nofralloc
#include "asm/JSystem/JAudio2/JASAudioThread/run__14JASAudioThreadFv.s" #include "asm/JSystem/JAudio2/JASAudioThread/run__14JASAudioThreadFv.s"
} }
#pragma pop #pragma pop
#endif
/* ############################################################################################## */ /* ############################################################################################## */
/* 8039B338-8039B338 027998 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ /* 8039B338-8039B338 027998 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push #pragma push
@ -191,33 +224,26 @@ SECTION_DEAD static char const* const pad_8039B34B = "\0\0\0\0\0\0\0\0\0\0\0\0\0
#pragma pop #pragma pop
/* 8029CF68-8029CFBC 2978A8 0054+00 1/1 0/0 0/0 .text DMACallback__14JASAudioThreadFv */ /* 8029CF68-8029CFBC 2978A8 0054+00 1/1 0/0 0/0 .text DMACallback__14JASAudioThreadFv */
#pragma push void JASAudioThread::DMACallback() {
#pragma optimization_level 0 JASAudioThread* thread = getInstance();
#pragma optimizewithasm off JASProbe::stop(4);
asm void JASAudioThread::DMACallback() { JASProbe::start(4, "UPDATE-DAC");
nofralloc thread->sendMessage((void*)AUDIOMSG_DMA);
#include "asm/JSystem/JAudio2/JASAudioThread/DMACallback__14JASAudioThreadFv.s"
} }
#pragma pop
/* 8029CFBC-8029D028 2978FC 006C+00 1/1 0/0 0/0 .text DSPCallback__14JASAudioThreadFPv */ /* 8029CFBC-8029D028 2978FC 006C+00 1/1 0/0 0/0 .text DSPCallback__14JASAudioThreadFPv */
#pragma push void JASAudioThread::DSPCallback(void*) {
#pragma optimization_level 0 JASAudioThread* thread = getInstance();
#pragma optimizewithasm off while (DSPCheckMailFromDSP() == 0) { }
asm void JASAudioThread::DSPCallback(void* param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASAudioThread/DSPCallback__14JASAudioThreadFPv.s"
}
#pragma pop
/* 8029D028-8029D0B4 297968 008C+00 1/0 0/0 0/0 .text __dt__14JASAudioThreadFv */ u32 mail = DSPReadMailFromDSP();
#pragma push if (mail >> 0x10 == 0xF355) {
#pragma optimization_level 0 if ((mail & 0xFF00) == 0xFF00) {
#pragma optimizewithasm off thread->sendMessage((void*)AUDIOMSG_DSP);
asm JASAudioThread::~JASAudioThread() { } else {
nofralloc JASDsp::finishWork(mail);
#include "asm/JSystem/JAudio2/JASAudioThread/__dt__14JASAudioThreadFv.s" }
}
} }
#pragma pop
/* 8039B338-8039B338 027998 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ /* 8039B338-8039B338 027998 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */

View File

@ -6,217 +6,227 @@
#include "JSystem/JAudio2/JASSeqCtrl.h" #include "JSystem/JAudio2/JASSeqCtrl.h"
#include "dol2asm.h" #include "dol2asm.h"
#include "dolphin/types.h" #include "dolphin/types.h"
#include "JSystem/JAudio2/JASSeqReader.h"
#include "JSystem/JAudio2/JASTrack.h"
// //
// Types: // Types:
// //
struct JASTrack { // TODO: Use JASSeqParser.hh when possible
/* 80292220 */ void checkNoteStop(u32) const;
};
struct JASSeqReader {
/* 80296108 */ void init();
/* 80296148 */ void init(void*);
};
struct JASSeqParser { struct JASSeqParser {
/* 80293CAC */ ~JASSeqParser(); /* 80293CAC */ inline virtual ~JASSeqParser() {}
/* 802958D4 */ virtual int parse(JASTrack*);
/* 80295540 */ virtual void execNoteOnMidi(JASTrack*, u32, u32, u32);
/* 80295498 */ virtual void execNoteOnGate(JASTrack*, u32, u32, u32, u32);
/* 80295570 */ virtual void execNoteOff(JASTrack*, u32);
/* 8029559C */ virtual void execCommand(JASTrack*, s32 (JASSeqParser::*)(JASTrack*, u32*), u32, u32*);
static u8 sCmdInfo[1536];
static u8 sExtCmdInfo[4080];
static u8 sCallBackFunc[4];
}; };
struct JASSeqCtrl { struct JASSeqCtrl {
struct IntrType {}; enum IntrType {
INTRTYPE_VALUE_0,
INTRTYPE_VALUE_1,
INTRTYPE_VALUE_2,
INTRTYPE_VALUE_3,
INTRTYPE_VALUE_4,
INTRTYPE_VALUE_5,
INTRTYPE_VALUE_6,
};
/* 802938BC */ JASSeqCtrl(); /* 802938BC */ JASSeqCtrl();
/* 80293924 */ void init(); /* 80293924 */ void init();
/* 80293980 */ void start(void*, u32); /* 80293980 */ void start(void*, u32);
/* 802939C4 */ void tickProc(JASTrack*); /* 802939C4 */ int tickProc(JASTrack*);
/* 80293ABC */ void interrupt(JASSeqCtrl::IntrType); /* 80293ABC */ void interrupt(JASSeqCtrl::IntrType);
/* 80293AE0 */ void setIntrMask(u32); /* 80293AE0 */ void setIntrMask(u32);
/* 80293AF0 */ void clrIntrMask(u32); /* 80293AF0 */ void clrIntrMask(u32);
/* 80293B00 */ void retIntr(); /* 80293B00 */ int retIntr();
/* 80293B28 */ void findIntr(); /* 80293B28 */ int findIntr();
/* 80293B78 */ void checkIntr(); /* 80293B78 */ void checkIntr();
/* 80293BE8 */ void timerProcess(); /* 80293BE8 */ void timerProcess();
static u8 sDefaultParser[4 + 4 /* padding */]; u32 get24(int param_0) {
return mReader.get24(param_0);
}
/* 0x00 */ JASSeqReader mReader;
/* 0x3c */ JASSeqParser* field_0x3c;
/* 0x40 */ s32 field_0x40;
/* 0x44 */ void* field_0x44;
/* 0x48 */ u32 field_0x48;
/* 0x4c */ u16 field_0x4c;
/* 0x4e */ u16 field_0x4e;
/* 0x50 */ u8 field_0x50;
/* 0x51 */ u8 field_0x51;
/* 0x52 */ u16 field_0x52;
/* 0x54 */ u32 field_0x54;
/* 0x58 */ u32 field_0x58;
static JASSeqParser sDefaultParser;
}; };
// //
// Forward References: // Forward References:
// //
extern "C" void __ct__10JASSeqCtrlFv();
extern "C" void init__10JASSeqCtrlFv();
extern "C" void start__10JASSeqCtrlFPvUl();
extern "C" void tickProc__10JASSeqCtrlFP8JASTrack();
extern "C" void interrupt__10JASSeqCtrlFQ210JASSeqCtrl8IntrType();
extern "C" void setIntrMask__10JASSeqCtrlFUl();
extern "C" void clrIntrMask__10JASSeqCtrlFUl();
extern "C" void retIntr__10JASSeqCtrlFv();
extern "C" void findIntr__10JASSeqCtrlFv();
extern "C" void checkIntr__10JASSeqCtrlFv();
extern "C" void timerProcess__10JASSeqCtrlFv();
extern "C" void __sinit_JASSeqCtrl_cpp();
extern "C" void __dt__12JASSeqParserFv();
extern "C" u8 sDefaultParser__10JASSeqCtrl[4 + 4 /* padding */];
// //
// External References: // External References:
// //
extern "C" void checkNoteStop__8JASTrackCFUl();
extern "C" void init__12JASSeqReaderFv();
extern "C" void init__12JASSeqReaderFPv();
extern "C" void __dl__FPv();
extern "C" void __register_global_object();
extern "C" extern void* __vt__12JASSeqParser[8];
// //
// Declarations: // Declarations:
// //
/* ############################################################################################## */ /* ############################################################################################## */
/* 80451238-80451240 000738 0004+04 3/3 0/0 0/0 .sbss sDefaultParser__10JASSeqCtrl */ /* 80451238-80451240 000738 0004+04 3/3 0/0 0/0 .sbss sDefaultParser__10JASSeqCtrl */
u8 JASSeqCtrl::sDefaultParser[4 + 4 /* padding */]; JASSeqParser JASSeqCtrl::sDefaultParser;
/* 802938BC-80293924 28E1FC 0068+00 0/0 1/1 0/0 .text __ct__10JASSeqCtrlFv */ /* 802938BC-80293924 28E1FC 0068+00 0/0 1/1 0/0 .text __ct__10JASSeqCtrlFv */
#pragma push JASSeqCtrl::JASSeqCtrl() {
#pragma optimization_level 0 mReader.init();
#pragma optimizewithasm off field_0x3c = &sDefaultParser;
asm JASSeqCtrl::JASSeqCtrl() { field_0x40 = 0;
nofralloc field_0x44 = NULL;
#include "asm/JSystem/JAudio2/JASSeqCtrl/__ct__10JASSeqCtrlFv.s" field_0x48 = 0;
field_0x4c = 0;
field_0x4e = 0;
field_0x50 = 0;
field_0x51 = 0;
field_0x54 = 0;
field_0x58 = 0;
mReader.init();
} }
#pragma pop
/* 80293924-80293980 28E264 005C+00 0/0 1/1 0/0 .text init__10JASSeqCtrlFv */ /* 80293924-80293980 28E264 005C+00 0/0 1/1 0/0 .text init__10JASSeqCtrlFv */
#pragma push void JASSeqCtrl::init() {
#pragma optimization_level 0 mReader.init();
#pragma optimizewithasm off field_0x3c = &sDefaultParser;
asm void JASSeqCtrl::init() { field_0x40 = 0;
nofralloc field_0x44 = NULL;
#include "asm/JSystem/JAudio2/JASSeqCtrl/init__10JASSeqCtrlFv.s" field_0x48 = 0;
field_0x4c = 0;
field_0x4e = 0;
field_0x50 = 0;
field_0x54 = 0;
field_0x58 = 0;
field_0x51 = 0;
} }
#pragma pop
/* 80293980-802939C4 28E2C0 0044+00 0/0 1/1 0/0 .text start__10JASSeqCtrlFPvUl */ /* 80293980-802939C4 28E2C0 0044+00 0/0 1/1 0/0 .text start__10JASSeqCtrlFPvUl */
#pragma push void JASSeqCtrl::start(void* param_0, u32 param_1) {
#pragma optimization_level 0 mReader.init(param_0);
#pragma optimizewithasm off mReader.jump(param_1);
asm void JASSeqCtrl::start(void* param_0, u32 param_1) {
nofralloc
#include "asm/JSystem/JAudio2/JASSeqCtrl/start__10JASSeqCtrlFPvUl.s"
} }
#pragma pop
/* 802939C4-80293ABC 28E304 00F8+00 0/0 1/1 0/0 .text tickProc__10JASSeqCtrlFP8JASTrack /* 802939C4-80293ABC 28E304 00F8+00 0/0 1/1 0/0 .text tickProc__10JASSeqCtrlFP8JASTrack
*/ */
#pragma push int JASSeqCtrl::tickProc(JASTrack* param_0) {
#pragma optimization_level 0 if (!mReader.getBase()) {
#pragma optimizewithasm off return 0;
asm void JASSeqCtrl::tickProc(JASTrack* param_0) { }
nofralloc
#include "asm/JSystem/JAudio2/JASSeqCtrl/tickProc__10JASSeqCtrlFP8JASTrack.s" interrupt(INTRTYPE_VALUE_6);
timerProcess();
if (field_0x51) {
if (!param_0->checkNoteStop(0)) {
return 0;
}
field_0x51 = 0;
}
if (field_0x40 > 0) {
field_0x40--;
}
checkIntr();
while ((field_0x40 == 0 || field_0x44 != NULL) && field_0x51 == 0) {
if (field_0x3c->parse(param_0) < 0) {
return -1;
}
}
return 0;
} }
#pragma pop
/* 80293ABC-80293AE0 28E3FC 0024+00 2/2 2/2 0/0 .text /* 80293ABC-80293AE0 28E3FC 0024+00 2/2 2/2 0/0 .text
* interrupt__10JASSeqCtrlFQ210JASSeqCtrl8IntrType */ * interrupt__10JASSeqCtrlFQ210JASSeqCtrl8IntrType */
#pragma push void JASSeqCtrl::interrupt(JASSeqCtrl::IntrType param_0) {
#pragma optimization_level 0 if (field_0x4e & (1 << param_0)) {
#pragma optimizewithasm off field_0x4c |= (1 << param_0);
asm void JASSeqCtrl::interrupt(JASSeqCtrl::IntrType param_0) { }
nofralloc
#include "asm/JSystem/JAudio2/JASSeqCtrl/interrupt__10JASSeqCtrlFQ210JASSeqCtrl8IntrType.s"
} }
#pragma pop
/* 80293AE0-80293AF0 28E420 0010+00 0/0 1/1 0/0 .text setIntrMask__10JASSeqCtrlFUl */ /* 80293AE0-80293AF0 28E420 0010+00 0/0 1/1 0/0 .text setIntrMask__10JASSeqCtrlFUl */
#pragma push void JASSeqCtrl::setIntrMask(u32 param_0) {
#pragma optimization_level 0 field_0x4e |= param_0;
#pragma optimizewithasm off
asm void JASSeqCtrl::setIntrMask(u32 param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASSeqCtrl/setIntrMask__10JASSeqCtrlFUl.s"
} }
#pragma pop
/* 80293AF0-80293B00 28E430 0010+00 0/0 1/1 0/0 .text clrIntrMask__10JASSeqCtrlFUl */ /* 80293AF0-80293B00 28E430 0010+00 0/0 1/1 0/0 .text clrIntrMask__10JASSeqCtrlFUl */
#pragma push void JASSeqCtrl::clrIntrMask(u32 param_0) {
#pragma optimization_level 0 field_0x4e &= ~param_0;
#pragma optimizewithasm off
asm void JASSeqCtrl::clrIntrMask(u32 param_0) {
nofralloc
#include "asm/JSystem/JAudio2/JASSeqCtrl/clrIntrMask__10JASSeqCtrlFUl.s"
} }
#pragma pop
/* 80293B00-80293B28 28E440 0028+00 0/0 1/1 0/0 .text retIntr__10JASSeqCtrlFv */ /* 80293B00-80293B28 28E440 0028+00 0/0 1/1 0/0 .text retIntr__10JASSeqCtrlFv */
#pragma push int JASSeqCtrl::retIntr() {
#pragma optimization_level 0 if (field_0x44 == NULL) {
#pragma optimizewithasm off return 0;
asm void JASSeqCtrl::retIntr() { }
nofralloc
#include "asm/JSystem/JAudio2/JASSeqCtrl/retIntr__10JASSeqCtrlFv.s" mReader.jump(field_0x44);
field_0x44 = NULL;
return 1;
} }
#pragma pop
/* 80293B28-80293B78 28E468 0050+00 1/1 0/0 0/0 .text findIntr__10JASSeqCtrlFv */ /* 80293B28-80293B78 28E468 0050+00 1/1 0/0 0/0 .text findIntr__10JASSeqCtrlFv */
#pragma push int JASSeqCtrl::findIntr() {
#pragma optimization_level 0 u32 uVar1 = field_0x4e & field_0x4c;
#pragma optimizewithasm off for (int i = 0; uVar1 != 0; uVar1 >>= 1, i++) {
asm void JASSeqCtrl::findIntr() { if (uVar1 & 1) {
nofralloc field_0x4c &= ~(1 << i);
#include "asm/JSystem/JAudio2/JASSeqCtrl/findIntr__10JASSeqCtrlFv.s" return i;
}
}
return -1;
} }
#pragma pop
/* 80293B78-80293BE8 28E4B8 0070+00 1/1 2/2 0/0 .text checkIntr__10JASSeqCtrlFv */ /* 80293B78-80293BE8 28E4B8 0070+00 1/1 2/2 0/0 .text checkIntr__10JASSeqCtrlFv */
#pragma push void JASSeqCtrl::checkIntr() {
#pragma optimization_level 0 if (field_0x44) return;
#pragma optimizewithasm off int intr = findIntr();
asm void JASSeqCtrl::checkIntr() {
nofralloc if (intr < 0) return;
#include "asm/JSystem/JAudio2/JASSeqCtrl/checkIntr__10JASSeqCtrlFv.s"
u32 uVar2 = field_0x48;
uVar2 += intr * 3;
u32 uVar1 = get24(uVar2);
field_0x44 = mReader.getCur();
mReader.jump(uVar1);
} }
#pragma pop
/* 80293BE8-80293C6C 28E528 0084+00 1/1 0/0 0/0 .text timerProcess__10JASSeqCtrlFv */ /* 80293BE8-80293C6C 28E528 0084+00 1/1 0/0 0/0 .text timerProcess__10JASSeqCtrlFv */
#pragma push void JASSeqCtrl::timerProcess() {
#pragma optimization_level 0 if (field_0x54 == 0) return;
#pragma optimizewithasm off
asm void JASSeqCtrl::timerProcess() { field_0x54--;
nofralloc if (field_0x54) return;
#include "asm/JSystem/JAudio2/JASSeqCtrl/timerProcess__10JASSeqCtrlFv.s"
interrupt(INTRTYPE_VALUE_5);
if (field_0x50) {
field_0x50--;
if (field_0x50) {
field_0x54 = field_0x58;
}
} else {
field_0x54 = field_0x58;
}
} }
#pragma pop
/* ############################################################################################## */ /* ############################################################################################## */
/* 80431B18-80431B28 05E838 000C+04 1/1 0/0 0/0 .bss @433 */
static u8 lit_433[12 + 4 /* padding */];
/* 80293C6C-80293CAC 28E5AC 0040+00 0/0 1/0 0/0 .text __sinit_JASSeqCtrl_cpp */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __sinit_JASSeqCtrl_cpp() {
nofralloc
#include "asm/JSystem/JAudio2/JASSeqCtrl/__sinit_JASSeqCtrl_cpp.s"
}
#pragma pop
#pragma push
#pragma force_active on
REGISTER_CTORS(0x80293C6C, __sinit_JASSeqCtrl_cpp);
#pragma pop
/* 80293CAC-80293CF4 28E5EC 0048+00 1/1 1/0 0/0 .text __dt__12JASSeqParserFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JASSeqParser::~JASSeqParser() {
nofralloc
#include "asm/JSystem/JAudio2/JASSeqCtrl/__dt__12JASSeqParserFv.s"
}
#pragma pop

View File

@ -522,7 +522,7 @@ asm void JASTrack::noteOff(u32 param_0, u16 param_1) {
#pragma push #pragma push
#pragma optimization_level 0 #pragma optimization_level 0
#pragma optimizewithasm off #pragma optimizewithasm off
asm void JASTrack::checkNoteStop(u32 param_0) const { asm bool JASTrack::checkNoteStop(u32 param_0) const {
nofralloc nofralloc
#include "asm/JSystem/JAudio2/JASTrack/checkNoteStop__8JASTrackCFUl.s" #include "asm/JSystem/JAudio2/JASTrack/checkNoteStop__8JASTrackCFUl.s"
} }

View File

@ -1170,17 +1170,11 @@ int daNpcAsh_c::Draw() {
} }
/* ############################################################################################## */ /* ############################################################################################## */
/* 8095D6C4-8095D6D0 000084 000C+00 1/1 0/0 0/0 .rodata @4385 */
SECTION_RODATA static u8 const lit_4385[12] = {
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04,
};
COMPILER_STRIP_GATE(0x8095D6C4, &lit_4385);
/* 80959238-80959458 001038 0220+00 1/1 0/0 0/0 .text ctrlJoint__10daNpcAsh_cFP8J3DJointP8J3DModel /* 80959238-80959458 001038 0220+00 1/1 0/0 0/0 .text ctrlJoint__10daNpcAsh_cFP8J3DJointP8J3DModel
*/ */
#ifdef NONMATCHING
bool daNpcAsh_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) { bool daNpcAsh_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) {
s32 jointNo = i_joint->getJntNo(); int jointNo = i_joint->getJntNo();
int lookatJoints[3] = {1, 3, 4}; int lookatJoints[3] = {1, 3, 4};
if (jointNo == 0) { if (jointNo == 0) {
mDoMtx_stack_c::copy(mMcaMorf->getModel()->i_getAnmMtx(1)); mDoMtx_stack_c::copy(mMcaMorf->getModel()->i_getAnmMtx(1));
@ -1214,16 +1208,6 @@ bool daNpcAsh_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) {
} }
return true; return true;
} }
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm bool daNpcAsh_c::ctrlJoint(J3DJoint* param_0, J3DModel* param_1) {
nofralloc
#include "asm/rel/d/a/npc/d_a_npc_ash/d_a_npc_ash/ctrlJoint__10daNpcAsh_cFP8J3DJointP8J3DModel.s"
}
#pragma pop
#endif
/* 80959458-80959478 001258 0020+00 1/1 0/0 0/0 .text /* 80959458-80959478 001258 0020+00 1/1 0/0 0/0 .text
* createHeapCallBack__10daNpcAsh_cFP10fopAc_ac_c */ * createHeapCallBack__10daNpcAsh_cFP10fopAc_ac_c */

View File

@ -6,65 +6,56 @@
#include "d/d_bright_check.h" #include "d/d_bright_check.h"
#include "dol2asm.h" #include "dol2asm.h"
#include "dolphin/types.h" #include "dolphin/types.h"
#include "d/d_drawlist.h"
#include "d/com/d_com_inf_game.h"
#include "d/msg/d_msg_string.h"
#include "d/meter/d_meter2_info.h"
#include "m_Do/m_Do_controller_pad.h"
#include "JSystem/J2DGraph/J2DTextBox.h"
#include "JSystem/J2DGraph/J2DGrafContext.h"
#include "JSystem/J2DGraph/J2DScreen.h"
#include "JSystem/JKernel/JKRArchive.h"
// //
// Types: // Types:
// //
struct mDoCPd_c { struct dDlst_BrightCheck_c
static u8 m_cpadInfo[256]; #ifdef NONMATCHING
}; : public dDlst_base_c
#endif
struct dMsgString_c { {
/* 80249C20 */ dMsgString_c(); #ifdef NONMATCHING
/* 80249D28 */ ~dMsgString_c(); /* 801935D0 */ virtual void draw();
}; /* 80193648 */ virtual ~dDlst_BrightCheck_c() {};
#else
struct dDlst_base_c {};
struct dDlst_list_c {
/* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
};
struct dDlst_BrightCheck_c {
/* 801935D0 */ void draw(); /* 801935D0 */ void draw();
/* 80193648 */ ~dDlst_BrightCheck_c(); /* 80193648 */ ~dDlst_BrightCheck_c();
void* vtable;
#endif
J2DScreen* mScreen;
}; };
struct JKRArchive {};
struct dBrightCheck_c { struct dBrightCheck_c {
/* 80192F10 */ dBrightCheck_c(JKRArchive*); /* 80192F10 */ dBrightCheck_c(JKRArchive*);
#ifdef NONMATCHING
/* 80192F98 */ virtual ~dBrightCheck_c();
#else
void * vtable;
/* 80192F98 */ ~dBrightCheck_c(); /* 80192F98 */ ~dBrightCheck_c();
#endif
/* 80193030 */ void screenSet(); /* 80193030 */ void screenSet();
/* 801934D0 */ void _move(); /* 801934D0 */ void _move();
/* 80193508 */ void modeWait(); /* 80193508 */ void modeWait();
/* 8019350C */ void modeMove(); /* 8019350C */ void modeMove();
/* 80193594 */ void _draw(); /* 80193594 */ void _draw();
};
/* 0x04 */ JKRArchive* mArchive;
struct JAISoundID {}; /* 0x08 */ dDlst_BrightCheck_c mDlstBrightCheck;
/* 0x10 */ u8 field_0x10[4];
struct Vec {}; /* 0x14 */ dMsgString_c* mMsgString;
/* 0x18 */ u8 field_0x18;
struct Z2SeMgr { /* 0x19 */ u8 field_0x19;
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
};
struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
struct J2DTextBox {
/* 8030074C */ void setString(s16, char const*, ...);
};
struct J2DGrafContext {};
struct J2DScreen {
/* 802F8498 */ J2DScreen();
/* 802F8648 */ void setPriority(char const*, u32, JKRArchive*);
/* 802F8ED4 */ void draw(f32, f32, J2DGrafContext const*);
}; };
// //
@ -104,7 +95,6 @@ extern "C" void _savegpr_22();
extern "C" void _restgpr_22(); extern "C" void _restgpr_22();
extern "C" extern void* __vt__12dDlst_base_c[3]; extern "C" extern void* __vt__12dDlst_base_c[3];
extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
// //
@ -117,6 +107,13 @@ SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
}; };
typedef void (dBrightCheck_c::*BrightCheckFunc)();
#ifdef NONMATCHING
SECTION_DATA static BrightCheckFunc brightChackProc[2] = {
&dBrightCheck_c::modeWait, &dBrightCheck_c::modeMove,
};
#else
/* 803BB5BC-803BB5C8 -00001 000C+00 0/1 0/0 0/0 .data @3797 */ /* 803BB5BC-803BB5C8 -00001 000C+00 0/1 0/0 0/0 .data @3797 */
#pragma push #pragma push
#pragma force_active on #pragma force_active on
@ -163,7 +160,19 @@ SECTION_DATA extern void* __vt__14dBrightCheck_c[3 + 4 /* padding */] = {
NULL, NULL,
}; };
#endif
/* 80192F10-80192F98 18D850 0088+00 0/0 1/1 0/0 .text __ct__14dBrightCheck_cFP10JKRArchive */ /* 80192F10-80192F98 18D850 0088+00 0/0 1/1 0/0 .text __ct__14dBrightCheck_cFP10JKRArchive */
// Matches without vtables
#ifdef NONMATCHING
dBrightCheck_c::dBrightCheck_c(JKRArchive* param_0) {
mArchive = param_0;
mMsgString = new dMsgString_c();
screenSet();
field_0x19 = 0;
field_0x18 = 1;
}
#else
#pragma push #pragma push
#pragma optimization_level 0 #pragma optimization_level 0
#pragma optimizewithasm off #pragma optimizewithasm off
@ -172,8 +181,15 @@ asm dBrightCheck_c::dBrightCheck_c(JKRArchive* param_0) {
#include "asm/d/d_bright_check/__ct__14dBrightCheck_cFP10JKRArchive.s" #include "asm/d/d_bright_check/__ct__14dBrightCheck_cFP10JKRArchive.s"
} }
#pragma pop #pragma pop
#endif
/* 80192F98-80193030 18D8D8 0098+00 1/0 0/0 0/0 .text __dt__14dBrightCheck_cFv */ /* 80192F98-80193030 18D8D8 0098+00 1/0 0/0 0/0 .text __dt__14dBrightCheck_cFv */
#ifdef NONMATCHING
dBrightCheck_c::~dBrightCheck_c() {
delete mDlstBrightCheck.mScreen;
delete mMsgString;
}
#else
#pragma push #pragma push
#pragma optimization_level 0 #pragma optimization_level 0
#pragma optimizewithasm off #pragma optimizewithasm off
@ -182,23 +198,20 @@ asm dBrightCheck_c::~dBrightCheck_c() {
#include "asm/d/d_bright_check/__dt__14dBrightCheck_cFv.s" #include "asm/d/d_bright_check/__dt__14dBrightCheck_cFv.s"
} }
#pragma pop #pragma pop
#endif
/* ############################################################################################## */ /* ############################################################################################## */
/* 80394910-80394938 020F70 0028+00 1/1 0/0 0/0 .rodata tv_btnA$3744 */ /* 80394910-80394938 020F70 0028+00 1/1 0/0 0/0 .rodata tv_btnA$3744 */
SECTION_RODATA static u8 const tv_btnA[40] = { SECTION_RODATA static u64 const tv_btnA[5] = {
0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x61, 0x74, 0x31, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x61, 'cont_at1', 'cont_at2', 'cont_at3', 'cont_at4', 'cont_at',
0x74, 0x32, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x61, 0x74, 0x33, 0x63, 0x6F, 0x6E, 0x74,
0x5F, 0x61, 0x74, 0x34, 0x00, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x61, 0x74,
}; };
COMPILER_STRIP_GATE(0x80394910, &tv_btnA); COMPILER_STRIP_GATE(0x80394910, &tv_btnA);
/* 80394938-80394960 020F98 0028+00 0/1 0/0 0/0 .rodata ftv_btnA$3745 */ /* 80394938-80394960 020F98 0028+00 0/1 0/0 0/0 .rodata ftv_btnA$3745 */
#pragma push #pragma push
#pragma force_active on #pragma force_active on
SECTION_RODATA static u8 const ftv_btnA[40] = { SECTION_RODATA static u64 const ftv_btnA[5] = {
0x00, 0x66, 0x6F, 0x6E, 0x74, 0x5F, 0x61, 0x31, 0x66, 0x6F, 0x6E, 0x74, 0x5F, 0x61, 'font_a1', 'font_at2', 'font_at3' , 'font_at4', 'font_at',
0x74, 0x32, 0x66, 0x6F, 0x6E, 0x74, 0x5F, 0x61, 0x74, 0x33, 0x66, 0x6F, 0x6E, 0x74,
0x5F, 0x61, 0x74, 0x34, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x5F, 0x61, 0x74,
}; };
COMPILER_STRIP_GATE(0x80394938, &ftv_btnA); COMPILER_STRIP_GATE(0x80394938, &ftv_btnA);
#pragma pop #pragma pop
@ -206,12 +219,9 @@ COMPILER_STRIP_GATE(0x80394938, &ftv_btnA);
/* 80394960-803949B0 020FC0 0050+00 0/1 0/0 0/0 .rodata txTV$3751 */ /* 80394960-803949B0 020FC0 0050+00 0/1 0/0 0/0 .rodata txTV$3751 */
#pragma push #pragma push
#pragma force_active on #pragma force_active on
SECTION_RODATA static u8 const txTV[80] = { SECTION_RODATA static u64 const txTV[10] = {
0x6D, 0x65, 0x6E, 0x75, 0x5F, 0x74, 0x36, 0x31, 0x00, 0x6D, 0x65, 0x6E, 0x75, 0x5F, 0x74, 0x32, 'menu_t61', 'menu_t2', 'menu_t91', 'menu_t1', 'menut101', 'menu_t01', 'menu_t71',
0x6D, 0x65, 0x6E, 0x75, 0x5F, 0x74, 0x39, 0x31, 0x00, 0x6D, 0x65, 0x6E, 0x75, 0x5F, 0x74, 0x31, 'menu_t3', 'menu_t81', 'menu_t4',
0x6D, 0x65, 0x6E, 0x75, 0x74, 0x31, 0x30, 0x31, 0x6D, 0x65, 0x6E, 0x75, 0x5F, 0x74, 0x30, 0x31,
0x6D, 0x65, 0x6E, 0x75, 0x5F, 0x74, 0x37, 0x31, 0x00, 0x6D, 0x65, 0x6E, 0x75, 0x5F, 0x74, 0x33,
0x6D, 0x65, 0x6E, 0x75, 0x5F, 0x74, 0x38, 0x31, 0x00, 0x6D, 0x65, 0x6E, 0x75, 0x5F, 0x74, 0x34,
}; };
COMPILER_STRIP_GATE(0x80394960, &txTV); COMPILER_STRIP_GATE(0x80394960, &txTV);
#pragma pop #pragma pop
@ -219,10 +229,8 @@ COMPILER_STRIP_GATE(0x80394960, &txTV);
/* 803949B0-803949D8 021010 0028+00 0/1 0/0 0/0 .rodata txTVhide$3752 */ /* 803949B0-803949D8 021010 0028+00 0/1 0/0 0/0 .rodata txTVhide$3752 */
#pragma push #pragma push
#pragma force_active on #pragma force_active on
SECTION_RODATA static u8 const txTVhide[40] = { SECTION_RODATA static u64 const txTVhide[5] = {
0x00, 0x6D, 0x65, 0x6E, 0x75, 0x5F, 0x36, 0x6E, 0x00, 0x6D, 0x65, 0x6E, 0x75, 0x5F, 'menu_6n', 'menu_9n', 'menu_10n', 'menu_7n', 'menu_8n',
0x39, 0x6E, 0x6D, 0x65, 0x6E, 0x75, 0x5F, 0x31, 0x30, 0x6E, 0x00, 0x6D, 0x65, 0x6E,
0x75, 0x5F, 0x37, 0x6E, 0x00, 0x6D, 0x65, 0x6E, 0x75, 0x5F, 0x38, 0x6E,
}; };
COMPILER_STRIP_GATE(0x803949B0, &txTVhide); COMPILER_STRIP_GATE(0x803949B0, &txTVhide);
#pragma pop #pragma pop
@ -243,6 +251,56 @@ SECTION_SDATA2 static u8 lit_3792[4] = {
}; };
/* 80193030-801934D0 18D970 04A0+00 1/1 0/0 0/0 .text screenSet__14dBrightCheck_cFv */ /* 80193030-801934D0 18D970 04A0+00 1/1 0/0 0/0 .text screenSet__14dBrightCheck_cFv */
// matches with literals
#ifdef NONMATCHING
void dBrightCheck_c::screenSet() {
mDlstBrightCheck.mScreen = new J2DScreen();
mDlstBrightCheck.mScreen->setPriority("zelda_option_check.blo", 0x1100000, mArchive);
mDlstBrightCheck.mScreen->search('g_abtn_n')->hide();
J2DTextBox* textBox = (J2DTextBox*)mDlstBrightCheck.mScreen->search('f_t00');
mDlstBrightCheck.mScreen->search('f_t00')->show();
mDlstBrightCheck.mScreen->search('t_t00')->hide();
textBox->setFont(mDoExt_getRubyFont());
textBox->setString(0x40, "");
mMsgString->getString(0x55c, textBox, NULL, NULL, NULL, 0);
J2DTextBox* texts[5];
for (int i = 0; i < 5; i++) {
texts[i] = (J2DTextBox*)mDlstBrightCheck.mScreen->search(ftv_btnA[i]);
mDlstBrightCheck.mScreen->search(tv_btnA[i])->hide();
texts[i]->setFont(mDoExt_getMesgFont());
texts[i]->setString(0x40, "");
mMsgString->getString(0x564, texts[i], NULL, NULL, NULL, 0);
}
for (int i = 0; i < 5; i++) {
mDlstBrightCheck.mScreen->search(txTVhide[i])->hide();
}
for (int i = 0; i < 10; i++) {
textBox = (J2DTextBox*)mDlstBrightCheck.mScreen->search(txTV[i]);
textBox->setFont(mDoExt_getMesgFont());
textBox->setCharSpace(0.0f);
if (i < 2) {
textBox->setString(0x100, "");
mMsgString->getString(0x558, textBox, NULL, NULL, NULL, 0);
} else if (i < 4) {
textBox->setString(0x100, "");
mMsgString->getString(0x557, textBox, NULL, NULL, NULL, 0);
} else if (i < 6) {
textBox->setString(0x100, "");
mMsgString->getString(0x559, textBox, NULL, NULL, NULL, 0);
} else if (i < 8) {
textBox->setString(0x100, "");
mMsgString->getString(0x55a, textBox, NULL, NULL, NULL, 0);
} else {
textBox->setString(0x100, "");
mMsgString->getString(0x55b, textBox, NULL, NULL, NULL, 0);
}
}
}
#else
#pragma push #pragma push
#pragma optimization_level 0 #pragma optimization_level 0
#pragma optimizewithasm off #pragma optimizewithasm off
@ -251,16 +309,12 @@ asm void dBrightCheck_c::screenSet() {
#include "asm/d/d_bright_check/screenSet__14dBrightCheck_cFv.s" #include "asm/d/d_bright_check/screenSet__14dBrightCheck_cFv.s"
} }
#pragma pop #pragma pop
#endif
/* 801934D0-80193508 18DE10 0038+00 0/0 1/1 0/0 .text _move__14dBrightCheck_cFv */ /* 801934D0-80193508 18DE10 0038+00 0/0 1/1 0/0 .text _move__14dBrightCheck_cFv */
#pragma push void dBrightCheck_c::_move() {
#pragma optimization_level 0 (this->*(((BrightCheckFunc*)brightChackProc)[field_0x18]))();
#pragma optimizewithasm off
asm void dBrightCheck_c::_move() {
nofralloc
#include "asm/d/d_bright_check/_move__14dBrightCheck_cFv.s"
} }
#pragma pop
/* 80193508-8019350C 18DE48 0004+00 1/0 0/0 0/0 .text modeWait__14dBrightCheck_cFv */ /* 80193508-8019350C 18DE48 0004+00 1/0 0/0 0/0 .text modeWait__14dBrightCheck_cFv */
void dBrightCheck_c::modeWait() { void dBrightCheck_c::modeWait() {
@ -279,16 +333,21 @@ SECTION_SDATA2 static f32 lit_3822[1 + 1 /* padding */] = {
}; };
/* 8019350C-80193594 18DE4C 0088+00 1/0 0/0 0/0 .text modeMove__14dBrightCheck_cFv */ /* 8019350C-80193594 18DE4C 0088+00 1/0 0/0 0/0 .text modeMove__14dBrightCheck_cFv */
#pragma push void dBrightCheck_c::modeMove() {
#pragma optimization_level 0 if (mDoCPd_c::getTrigA(0) || mDoCPd_c::getTrigStart(0)) {
#pragma optimizewithasm off mDoAud_seStart(1, 0, 0, 0);
asm void dBrightCheck_c::modeMove() { field_0x19 = 1;
nofralloc field_0x18 = 0;
#include "asm/d/d_bright_check/modeMove__14dBrightCheck_cFv.s" }
} }
#pragma pop
/* 80193594-801935D0 18DED4 003C+00 0/0 1/1 0/0 .text _draw__14dBrightCheck_cFv */ /* 80193594-801935D0 18DED4 003C+00 0/0 1/1 0/0 .text _draw__14dBrightCheck_cFv */
// Matches with mDlstBrightCheck inheritance
#ifdef NONMATCHING
void dBrightCheck_c::_draw() {
dComIfGd_set2DOpa(&mDlstBrightCheck);
}
#else
#pragma push #pragma push
#pragma optimization_level 0 #pragma optimization_level 0
#pragma optimizewithasm off #pragma optimizewithasm off
@ -297,8 +356,16 @@ asm void dBrightCheck_c::_draw() {
#include "asm/d/d_bright_check/_draw__14dBrightCheck_cFv.s" #include "asm/d/d_bright_check/_draw__14dBrightCheck_cFv.s"
} }
#pragma pop #pragma pop
#endif
/* 801935D0-80193608 18DF10 0038+00 1/0 0/0 0/0 .text draw__19dDlst_BrightCheck_cFv */ /* 801935D0-80193608 18DF10 0038+00 1/0 0/0 0/0 .text draw__19dDlst_BrightCheck_cFv */
// Matches with literals
#ifdef NONMATCHING
void dDlst_BrightCheck_c::draw() {
J2DGrafContext* grafContext = dComIfGp_getCurrentGrafPort();
mScreen->draw(0.0f, 0.0f, grafContext);
}
#else
#pragma push #pragma push
#pragma optimization_level 0 #pragma optimization_level 0
#pragma optimizewithasm off #pragma optimizewithasm off
@ -307,6 +374,7 @@ asm void dDlst_BrightCheck_c::draw() {
#include "asm/d/d_bright_check/draw__19dDlst_BrightCheck_cFv.s" #include "asm/d/d_bright_check/draw__19dDlst_BrightCheck_cFv.s"
} }
#pragma pop #pragma pop
#endif
/* 80193608-80193648 18DF48 0040+00 0/0 1/0 0/0 .text __sinit_d_bright_check_cpp */ /* 80193608-80193648 18DF48 0040+00 0/0 1/0 0/0 .text __sinit_d_bright_check_cpp */
#pragma push #pragma push

View File

@ -1042,7 +1042,6 @@ int dEvent_manager_c::getMySubstanceNum(int index, char const* name) {
/* 8004817C-800481F4 042ABC 0078+00 1/1 78/78 182/182 .text cutEnd__16dEvent_manager_cFi /* 8004817C-800481F4 042ABC 0078+00 1/1 78/78 182/182 .text cutEnd__16dEvent_manager_cFi
*/ */
#ifdef NONMATCHING
void dEvent_manager_c::cutEnd(int cutIndex) { void dEvent_manager_c::cutEnd(int cutIndex) {
if (i_dComIfGp_getEvent().getMode() == EVT_MODE_NONE) { if (i_dComIfGp_getEvent().getMode() == EVT_MODE_NONE) {
return; return;
@ -1052,19 +1051,10 @@ void dEvent_manager_c::cutEnd(int cutIndex) {
return; return;
} else { } else {
// instruction swap // instruction swap
mFlags.flagSet(getBase().getCutStaffCurrentCutP(cutIndex)->getFlagId()); dEvDtCut_c* cut = getBase().getCutStaffCurrentCutP(cutIndex);
mFlags.flagSet(cut->getFlagId());
} }
} }
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dEvent_manager_c::cutEnd(int param_0) {
nofralloc
#include "asm/d/event/d_event_manager/cutEnd__16dEvent_manager_cFi.s"
}
#pragma pop
#endif
/* 800481F4-800482CC 042B34 00D8+00 0/0 4/4 0/0 .text /* 800481F4-800482CC 042B34 00D8+00 0/0 4/4 0/0 .text
* getEventPrio__16dEvent_manager_cFP10fopAc_ac_cs */ * getEventPrio__16dEvent_manager_cFP10fopAc_ac_cs */

View File

@ -301,23 +301,21 @@ Vec dMapInfo_n::getMapRestartPos() {
/* 8003F0F8-8003F19C 039A38 00A4+00 1/1 1/1 0/0 .text getMapRestartAngleY__10dMapInfo_nFv /* 8003F0F8-8003F19C 039A38 00A4+00 1/1 1/1 0/0 .text getMapRestartAngleY__10dMapInfo_nFv
*/ */
// small regalloc
#ifdef NONMATCHING
s16 dMapInfo_n::getMapRestartAngleY() { s16 dMapInfo_n::getMapRestartAngleY() {
int angle = dComIfGs_getRestartRoomAngleY(); int angle = dComIfGs_getRestartRoomAngleY();
const dTres_c::typeGroupData_c* icon_data = getConstRestartIconPointer(); const dTres_c::typeGroupData_c* icon_data = getConstRestartIconPointer();
if (icon_data != NULL) { if (icon_data != NULL) {
int icon_angle = icon_data->getAngleY(); angle = icon_data->getAngleY();
bool tmp = icon_angle > 0; bool tmp = angle > 0;
if (tmp) { if (tmp) {
icon_angle = -icon_angle; angle = -angle;
} }
angle = icon_angle * 0x0100; angle = angle * 0x0100;
if (tmp) { if (tmp) {
angle = icon_angle * -0x0100; angle = -angle;
} }
} }
@ -329,16 +327,6 @@ s16 dMapInfo_n::getMapRestartAngleY() {
return angle; return angle;
} }
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm s16 dMapInfo_n::getMapRestartAngleY() {
nofralloc
#include "asm/d/map/d_map_path_dmap/getMapRestartAngleY__10dMapInfo_nFv.s"
}
#pragma pop
#endif
/* 8003F19C-8003F1F4 039ADC 0058+00 0/0 1/1 0/0 .text getRoomCenter__10dMapInfo_nFiPfPf /* 8003F19C-8003F1F4 039ADC 0058+00 0/0 1/1 0/0 .text getRoomCenter__10dMapInfo_nFiPfPf
*/ */
@ -896,24 +884,49 @@ asm int renderingDAmap_c::getNextDrawRoomNo(int param_0) {
#endif #endif
/* 80040134-800401E8 03AA74 00B4+00 3/0 3/0 0/0 .text getFirstRoomPointer__16renderingDAmap_cFv */ /* 80040134-800401E8 03AA74 00B4+00 3/0 3/0 0/0 .text getFirstRoomPointer__16renderingDAmap_cFv */
#pragma push dDrawPath_c::room_class* renderingDAmap_c::getFirstRoomPointer() {
#pragma optimization_level 0 dDrawPath_c::room_class* pRoomClass = NULL;
#pragma optimizewithasm off mRoomNo = getFirstDrawRoomNo();
asm dDrawPath_c::room_class* renderingDAmap_c::getFirstRoomPointer() { if (mRoomNo >= 0) {
nofralloc field_0x28 = getFirstDrawLayerNo();
#include "asm/d/map/d_map_path_dmap/getFirstRoomPointer__16renderingDAmap_cFv.s"
pRoomClass = dMpath_c::getRoomPointer(field_0x28, mRoomNo);
if (pRoomClass == NULL) {
pRoomClass = getNextRoomPointer();
}
}
if(pRoomClass != NULL) {
setSingleRoomSetting();
}
return pRoomClass;
} }
#pragma pop
/* 800401E8-800402C0 03AB28 00D8+00 3/0 3/0 0/0 .text getNextRoomPointer__16renderingDAmap_cFv */ /* 800401E8-800402C0 03AB28 00D8+00 3/0 3/0 0/0 .text getNextRoomPointer__16renderingDAmap_cFv */
#pragma push dDrawPath_c::room_class* renderingDAmap_c::getNextRoomPointer() {
#pragma optimization_level 0 dDrawPath_c::room_class* pRoomClass = NULL;
#pragma optimizewithasm off bool bVar1 = false;
asm dDrawPath_c::room_class* renderingDAmap_c::getNextRoomPointer() { do {
nofralloc mRoomNo = getNextDrawRoomNo(mRoomNo);
#include "asm/d/map/d_map_path_dmap/getNextRoomPointer__16renderingDAmap_cFv.s" if (mRoomNo < 0) {
field_0x28 = getNextDrawLayerNo(field_0x28);
if (field_0x28 < 0) {
bVar1 = true;
} else {
mRoomNo = getFirstDrawRoomNo();
}
}
if (!bVar1) {
pRoomClass = dMpath_c::getRoomPointer(field_0x28, mRoomNo);
}
} while(pRoomClass == NULL && !bVar1);
if (pRoomClass != NULL) {
setSingleRoomSetting();
}
return pRoomClass;
} }
#pragma pop
/* 800402C0-800402E0 03AC00 0020+00 3/0 3/0 0/0 .text isDrawPath__16renderingDAmap_cFv */ /* 800402C0-800402E0 03AC00 0020+00 3/0 3/0 0/0 .text isDrawPath__16renderingDAmap_cFv */
bool renderingDAmap_c::isDrawPath() { bool renderingDAmap_c::isDrawPath() {
@ -921,8 +934,8 @@ bool renderingDAmap_c::isDrawPath() {
} }
/* 800402E0-800402E8 03AC20 0008+00 3/0 3/0 0/0 .text getFirstDrawLayerNo__16renderingDAmap_cFv */ /* 800402E0-800402E8 03AC20 0008+00 3/0 3/0 0/0 .text getFirstDrawLayerNo__16renderingDAmap_cFv */
bool renderingDAmap_c::getFirstDrawLayerNo() { int renderingDAmap_c::getFirstDrawLayerNo() {
return false; return 0;
} }
/* 800402E8-800402FC 03AC28 0014+00 3/0 3/0 0/0 .text getNextDrawLayerNo__16renderingDAmap_cFi */ /* 800402E8-800402FC 03AC28 0014+00 3/0 3/0 0/0 .text getNextDrawLayerNo__16renderingDAmap_cFi */
@ -1232,8 +1245,9 @@ void renderingPlusDoorAndCursor_c::drawTreasure() {
setTevSettingIntensityTextureToCI(); setTevSettingIntensityTextureToCI();
for (int i = 0; i < 4; i++) { for (int i = 0; i < 4; i++) {
dTres_c::typeGroupData_c* typeGroupData_p;
u8 tmp = l_treasureDispList_4524[i].field_0x0; u8 tmp = l_treasureDispList_4524[i].field_0x0;
dTres_c::typeGroupData_c* typeGroupData_p = getFirstData(tmp); typeGroupData_p = getFirstData(tmp);
int group_num = getIconGroupNumber(tmp); int group_num = getIconGroupNumber(tmp);
if (group_num != 0) { if (group_num != 0) {
@ -1256,7 +1270,7 @@ void renderingPlusDoorAndCursor_c::drawTreasure() {
GXSetTevColor(GX_TEVREG2, sp18); GXSetTevColor(GX_TEVREG2, sp18);
for (int j = 0; j < group_num && typeGroupData_p != NULL; j++) { for (int j = 0; j < group_num && typeGroupData_p != NULL; j++) {
Vec* icon_pos = getIconPosition(typeGroupData_p); const Vec* icon_pos = getIconPosition(typeGroupData_p);
if (tmp == 0) { if (tmp == 0) {
if (mRoomNoSingle != typeGroupData_p->getRoomNo()) { if (mRoomNoSingle != typeGroupData_p->getRoomNo()) {