mirror of https://github.com/zeldaret/tp.git
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
c5e01ec11b
14
Progress.md
14
Progress.md
|
@ -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 | 27.346475% | 983528 | 3596544
|
||||
.text | 27.417543% | 986084 | 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 | 35.005691% | 1407464 | 4020672
|
||||
Total | 35.069262% | 1410020 | 4020672
|
||||
|
||||
## Total
|
||||
|
||||
Section | Percentage | Decompiled (bytes) | Total (bytes)
|
||||
---|---|---|---
|
||||
main.dol | 35.005691% | 1407464 | 4020672
|
||||
RELs | 33.644652% | 3869244 | 11500324
|
||||
Total | 33.997225% | 5276708 | 15520996
|
||||
main.dol | 35.069262% | 1410020 | 4020672
|
||||
RELs | 33.649382% | 3869788 | 11500324
|
||||
Total | 34.017198% | 5279808 | 15520996
|
||||
|
||||
## RELs
|
||||
|
||||
|
@ -220,7 +220,7 @@ d_a_myna | 30.876570% | 9736 | 31532
|
|||
d_a_nbomb | 28.739233% | 8808 | 30648
|
||||
d_a_ni | 27.299309% | 8216 | 30096
|
||||
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_bans | 34.954955% | 11640 | 33300
|
||||
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_ykgr | 44.400631% | 2252 | 5072
|
||||
f_pc_profile_lst | 100.000000% | 28156 | 28156
|
||||
Total | 33.644652% | 3869244 | 11500324
|
||||
Total | 33.649382% | 3869788 | 11500324
|
||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -2,17 +2,27 @@
|
|||
#define JASAUDIOTHREAD_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);
|
||||
/* 8029CD4C */ void create(s32);
|
||||
/* 8029CD4C */ static void create(s32);
|
||||
/* 8029CDC0 */ void stop();
|
||||
/* 8029CDEC */ void run();
|
||||
/* 8029CF68 */ void DMACallback();
|
||||
/* 8029CFBC */ void DSPCallback(void*);
|
||||
/* 8029D028 */ ~JASAudioThread();
|
||||
/* 8029CDEC */ virtual void* run();
|
||||
/* 8029CF68 */ static void DMACallback();
|
||||
/* 8029CFBC */ static void DSPCallback(void*);
|
||||
/* 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 */
|
||||
|
|
|
@ -19,6 +19,13 @@ struct JASDriver {
|
|||
/* 8029E2D0 */ void DSPSyncCallback();
|
||||
/* 8029E2F8 */ void updateDacCallback();
|
||||
/* 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 sSubFrameCallback[256];
|
||||
|
|
|
@ -10,8 +10,12 @@ public:
|
|||
sInstance = inst;
|
||||
}
|
||||
|
||||
JASGlobalInstance(bool param_1) {
|
||||
sInstance = (T*)this;
|
||||
}
|
||||
|
||||
~JASGlobalInstance() {
|
||||
if (this == sInstance) {
|
||||
if (sInstance == (T*)this) {
|
||||
sInstance = NULL;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,6 +13,21 @@ public:
|
|||
/* 8029627C */ bool ret();
|
||||
/* 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* tmp = field_0x04;
|
||||
field_0x04 += 1;
|
||||
|
|
|
@ -70,7 +70,7 @@ struct JASTrack {
|
|||
/* 80291F38 */ void noteOn(u32, u32, u32);
|
||||
/* 80292008 */ void gateOn(u32, u32, f32, u32);
|
||||
/* 80292198 */ void noteOff(u32, u16);
|
||||
/* 80292220 */ void checkNoteStop(u32) const;
|
||||
/* 80292220 */ bool checkNoteStop(u32) const;
|
||||
/* 8029226C */ void overwriteOsc(JASChannel*);
|
||||
/* 802922D8 */ void updateTimedParam();
|
||||
/* 80292348 */ void updateTrack(f32);
|
||||
|
|
|
@ -72,11 +72,7 @@ public:
|
|||
s32 getCurrentHeapError() const { return mCurrentHeapError; }
|
||||
|
||||
void setCurrentHeap(JKRHeap* heap) {
|
||||
if (!heap) {
|
||||
heap = JKRHeap::getCurrentHeap();
|
||||
}
|
||||
|
||||
mCurrentHeap = heap;
|
||||
mCurrentHeap = heap ? heap : JKRHeap::getCurrentHeap();
|
||||
}
|
||||
|
||||
protected:
|
||||
|
|
|
@ -18,6 +18,9 @@ public:
|
|||
/* 8003FB70 */ static void create();
|
||||
/* 8003FBD0 */ static void reset();
|
||||
/* 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 f32 mMinX;
|
||||
|
@ -92,7 +95,7 @@ public:
|
|||
/* 8003FFC4 */ virtual void postDrawPath();
|
||||
/* 800402C0 */ virtual bool isDrawPath();
|
||||
/* 8003FE4C */ virtual GXColor* getBackColor() const;
|
||||
/* 800402E0 */ virtual bool getFirstDrawLayerNo();
|
||||
/* 800402E0 */ virtual int getFirstDrawLayerNo();
|
||||
/* 800402E8 */ virtual int getNextDrawLayerNo(int);
|
||||
/* 800409E0 */ virtual bool isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool,
|
||||
Vec const*) const;
|
||||
|
|
|
@ -4,30 +4,24 @@
|
|||
//
|
||||
|
||||
#include "JSystem/JAudio2/JASAudioThread.h"
|
||||
#include "JSystem/JAudio2/JASDriverIF.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "dolphin/os/OS.h"
|
||||
#include "dolphin/dsp/dsp.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct JKRHeap {
|
||||
static u8 sSystemHeap[4];
|
||||
static u8 sCurrentHeap[4];
|
||||
};
|
||||
|
||||
struct JKRThread {
|
||||
/* 802D1610 */ JKRThread(JKRHeap*, u32, int, int);
|
||||
/* 802D1758 */ ~JKRThread();
|
||||
};
|
||||
|
||||
struct JASProbe {
|
||||
/* 80290EE4 */ void start(s32, char const*);
|
||||
/* 80290F24 */ void stop(s32);
|
||||
/* 80290EE4 */ static void start(s32, char const*);
|
||||
/* 80290F24 */ static void stop(s32);
|
||||
};
|
||||
|
||||
template <typename A0>
|
||||
struct JASMemPool_MultiThreaded {};
|
||||
struct JASMemPool {};
|
||||
|
||||
/* JASMemPool_MultiThreaded<JASChannel> */
|
||||
struct JASMemPool_MultiThreaded__template2 {
|
||||
/* 802978DC */ void func_802978DC(void* _this);
|
||||
|
@ -35,27 +29,17 @@ struct JASMemPool_MultiThreaded__template2 {
|
|||
|
||||
struct JASGenericMemPool {
|
||||
/* 80290848 */ JASGenericMemPool();
|
||||
/* 802908C8 */ void newMemPool(u32, int);
|
||||
/* 802908C8 */ static void newMemPool(u32, int);
|
||||
};
|
||||
|
||||
struct JASDsp {
|
||||
/* 8029D958 */ void boot(void (*)(void*));
|
||||
/* 8029D9C4 */ void finishWork(u16);
|
||||
/* 8029DAC8 */ 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();
|
||||
/* 8029D958 */ static void boot(void (*)(void*));
|
||||
/* 8029D9C4 */ static void finishWork(u16);
|
||||
/* 8029DAC8 */ static void initBuffer();
|
||||
};
|
||||
|
||||
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 __ct__9JKRThreadFP7JKRHeapUlii();
|
||||
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" extern u8 data_80431B34[16 + 4 /* padding */];
|
||||
extern "C" extern u8 JASDram[4];
|
||||
extern "C" extern u8 struct_80451260[8];
|
||||
extern "C" u8 sSystemHeap__7JKRHeap[4];
|
||||
extern "C" u8 sCurrentHeap__7JKRHeap[4];
|
||||
extern "C" extern u8 __OSReport_disable;
|
||||
|
||||
extern JKRHeap* JASDram;
|
||||
//
|
||||
// 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 */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm JASAudioThread::JASAudioThread(int param_0, int param_1, u32 param_2) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASAudioThread/__ct__14JASAudioThreadFiiUl.s"
|
||||
JASAudioThread::JASAudioThread(int stackSize, int msgCount, u32 threadPriority)
|
||||
:
|
||||
JKRThread(JASDram, threadPriority, msgCount, stackSize),
|
||||
JASGlobalInstance<JASAudioThread>(true)
|
||||
{
|
||||
sbPauseFlag = false;
|
||||
OSInitThreadQueue(&sThreadQueue);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8029CD4C-8029CDC0 29768C 0074+00 0/0 1/1 0/0 .text create__14JASAudioThreadFl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASAudioThread::create(s32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASAudioThread/create__14JASAudioThreadFl.s"
|
||||
void JASAudioThread::create(long threadPriority) {
|
||||
JASAudioThread* sAudioThread = new (JASDram, 0) JASAudioThread(threadPriority, 0x10, 0x1400);
|
||||
sAudioThread->setCurrentHeap(JKRGetSystemHeap());
|
||||
sAudioThread->resume();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8029CDC0-8029CDEC 297700 002C+00 0/0 1/1 0/0 .text stop__14JASAudioThreadFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASAudioThread::stop() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASAudioThread/stop__14JASAudioThreadFv.s"
|
||||
void JASAudioThread::stop() {
|
||||
jamMessageBlock((void*)2);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 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 */];
|
||||
|
||||
/* 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 */
|
||||
// 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 optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASAudioThread::run() {
|
||||
asm void* JASAudioThread::run() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASAudioThread/run__14JASAudioThreadFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
#endif
|
||||
/* ############################################################################################## */
|
||||
/* 8039B338-8039B338 027998 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#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
|
||||
|
||||
/* 8029CF68-8029CFBC 2978A8 0054+00 1/1 0/0 0/0 .text DMACallback__14JASAudioThreadFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASAudioThread::DMACallback() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASAudioThread/DMACallback__14JASAudioThreadFv.s"
|
||||
void JASAudioThread::DMACallback() {
|
||||
JASAudioThread* thread = getInstance();
|
||||
JASProbe::stop(4);
|
||||
JASProbe::start(4, "UPDATE-DAC");
|
||||
thread->sendMessage((void*)AUDIOMSG_DMA);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8029CFBC-8029D028 2978FC 006C+00 1/1 0/0 0/0 .text DSPCallback__14JASAudioThreadFPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASAudioThread::DSPCallback(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASAudioThread/DSPCallback__14JASAudioThreadFPv.s"
|
||||
}
|
||||
#pragma pop
|
||||
void JASAudioThread::DSPCallback(void*) {
|
||||
JASAudioThread* thread = getInstance();
|
||||
while (DSPCheckMailFromDSP() == 0) { }
|
||||
|
||||
/* 8029D028-8029D0B4 297968 008C+00 1/0 0/0 0/0 .text __dt__14JASAudioThreadFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm JASAudioThread::~JASAudioThread() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASAudioThread/__dt__14JASAudioThreadFv.s"
|
||||
u32 mail = DSPReadMailFromDSP();
|
||||
if (mail >> 0x10 == 0xF355) {
|
||||
if ((mail & 0xFF00) == 0xFF00) {
|
||||
thread->sendMessage((void*)AUDIOMSG_DSP);
|
||||
} else {
|
||||
JASDsp::finishWork(mail);
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8039B338-8039B338 027998 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
|
|
@ -6,217 +6,227 @@
|
|||
#include "JSystem/JAudio2/JASSeqCtrl.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JAudio2/JASSeqReader.h"
|
||||
#include "JSystem/JAudio2/JASTrack.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct JASTrack {
|
||||
/* 80292220 */ void checkNoteStop(u32) const;
|
||||
};
|
||||
|
||||
struct JASSeqReader {
|
||||
/* 80296108 */ void init();
|
||||
/* 80296148 */ void init(void*);
|
||||
};
|
||||
|
||||
// TODO: Use JASSeqParser.hh when possible
|
||||
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 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();
|
||||
/* 80293924 */ void init();
|
||||
/* 80293980 */ void start(void*, u32);
|
||||
/* 802939C4 */ void tickProc(JASTrack*);
|
||||
/* 802939C4 */ int tickProc(JASTrack*);
|
||||
/* 80293ABC */ void interrupt(JASSeqCtrl::IntrType);
|
||||
/* 80293AE0 */ void setIntrMask(u32);
|
||||
/* 80293AF0 */ void clrIntrMask(u32);
|
||||
/* 80293B00 */ void retIntr();
|
||||
/* 80293B28 */ void findIntr();
|
||||
/* 80293B00 */ int retIntr();
|
||||
/* 80293B28 */ int findIntr();
|
||||
/* 80293B78 */ void checkIntr();
|
||||
/* 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:
|
||||
//
|
||||
|
||||
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:
|
||||
//
|
||||
|
||||
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:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 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 */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm JASSeqCtrl::JASSeqCtrl() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASSeqCtrl/__ct__10JASSeqCtrlFv.s"
|
||||
JASSeqCtrl::JASSeqCtrl() {
|
||||
mReader.init();
|
||||
field_0x3c = &sDefaultParser;
|
||||
field_0x40 = 0;
|
||||
field_0x44 = NULL;
|
||||
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 */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASSeqCtrl::init() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASSeqCtrl/init__10JASSeqCtrlFv.s"
|
||||
void JASSeqCtrl::init() {
|
||||
mReader.init();
|
||||
field_0x3c = &sDefaultParser;
|
||||
field_0x40 = 0;
|
||||
field_0x44 = NULL;
|
||||
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 */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASSeqCtrl::start(void* param_0, u32 param_1) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASSeqCtrl/start__10JASSeqCtrlFPvUl.s"
|
||||
void JASSeqCtrl::start(void* param_0, u32 param_1) {
|
||||
mReader.init(param_0);
|
||||
mReader.jump(param_1);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802939C4-80293ABC 28E304 00F8+00 0/0 1/1 0/0 .text tickProc__10JASSeqCtrlFP8JASTrack
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASSeqCtrl::tickProc(JASTrack* param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASSeqCtrl/tickProc__10JASSeqCtrlFP8JASTrack.s"
|
||||
int JASSeqCtrl::tickProc(JASTrack* param_0) {
|
||||
if (!mReader.getBase()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
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
|
||||
* interrupt__10JASSeqCtrlFQ210JASSeqCtrl8IntrType */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASSeqCtrl::interrupt(JASSeqCtrl::IntrType param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASSeqCtrl/interrupt__10JASSeqCtrlFQ210JASSeqCtrl8IntrType.s"
|
||||
void JASSeqCtrl::interrupt(JASSeqCtrl::IntrType param_0) {
|
||||
if (field_0x4e & (1 << param_0)) {
|
||||
field_0x4c |= (1 << param_0);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80293AE0-80293AF0 28E420 0010+00 0/0 1/1 0/0 .text setIntrMask__10JASSeqCtrlFUl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASSeqCtrl::setIntrMask(u32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASSeqCtrl/setIntrMask__10JASSeqCtrlFUl.s"
|
||||
void JASSeqCtrl::setIntrMask(u32 param_0) {
|
||||
field_0x4e |= param_0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80293AF0-80293B00 28E430 0010+00 0/0 1/1 0/0 .text clrIntrMask__10JASSeqCtrlFUl */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASSeqCtrl::clrIntrMask(u32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASSeqCtrl/clrIntrMask__10JASSeqCtrlFUl.s"
|
||||
void JASSeqCtrl::clrIntrMask(u32 param_0) {
|
||||
field_0x4e &= ~param_0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80293B00-80293B28 28E440 0028+00 0/0 1/1 0/0 .text retIntr__10JASSeqCtrlFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASSeqCtrl::retIntr() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASSeqCtrl/retIntr__10JASSeqCtrlFv.s"
|
||||
int JASSeqCtrl::retIntr() {
|
||||
if (field_0x44 == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
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 */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASSeqCtrl::findIntr() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASSeqCtrl/findIntr__10JASSeqCtrlFv.s"
|
||||
int JASSeqCtrl::findIntr() {
|
||||
u32 uVar1 = field_0x4e & field_0x4c;
|
||||
for (int i = 0; uVar1 != 0; uVar1 >>= 1, i++) {
|
||||
if (uVar1 & 1) {
|
||||
field_0x4c &= ~(1 << i);
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80293B78-80293BE8 28E4B8 0070+00 1/1 2/2 0/0 .text checkIntr__10JASSeqCtrlFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASSeqCtrl::checkIntr() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASSeqCtrl/checkIntr__10JASSeqCtrlFv.s"
|
||||
void JASSeqCtrl::checkIntr() {
|
||||
if (field_0x44) return;
|
||||
int intr = findIntr();
|
||||
|
||||
if (intr < 0) return;
|
||||
|
||||
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 */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASSeqCtrl::timerProcess() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASSeqCtrl/timerProcess__10JASSeqCtrlFv.s"
|
||||
void JASSeqCtrl::timerProcess() {
|
||||
if (field_0x54 == 0) return;
|
||||
|
||||
field_0x54--;
|
||||
if (field_0x54) return;
|
||||
|
||||
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
|
||||
|
|
|
@ -522,7 +522,7 @@ asm void JASTrack::noteOff(u32 param_0, u16 param_1) {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JASTrack::checkNoteStop(u32 param_0) const {
|
||||
asm bool JASTrack::checkNoteStop(u32 param_0) const {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JAudio2/JASTrack/checkNoteStop__8JASTrackCFUl.s"
|
||||
}
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
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};
|
||||
if (jointNo == 0) {
|
||||
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;
|
||||
}
|
||||
#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
|
||||
* createHeapCallBack__10daNpcAsh_cFP10fopAc_ac_c */
|
||||
|
|
|
@ -6,65 +6,56 @@
|
|||
#include "d/d_bright_check.h"
|
||||
#include "dol2asm.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:
|
||||
//
|
||||
|
||||
struct mDoCPd_c {
|
||||
static u8 m_cpadInfo[256];
|
||||
};
|
||||
|
||||
struct dMsgString_c {
|
||||
/* 80249C20 */ dMsgString_c();
|
||||
/* 80249D28 */ ~dMsgString_c();
|
||||
};
|
||||
|
||||
struct dDlst_base_c {};
|
||||
|
||||
struct dDlst_list_c {
|
||||
/* 80056794 */ void set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
|
||||
};
|
||||
|
||||
struct dDlst_BrightCheck_c {
|
||||
struct dDlst_BrightCheck_c
|
||||
#ifdef NONMATCHING
|
||||
: public dDlst_base_c
|
||||
#endif
|
||||
{
|
||||
#ifdef NONMATCHING
|
||||
/* 801935D0 */ virtual void draw();
|
||||
/* 80193648 */ virtual ~dDlst_BrightCheck_c() {};
|
||||
#else
|
||||
/* 801935D0 */ void draw();
|
||||
/* 80193648 */ ~dDlst_BrightCheck_c();
|
||||
void* vtable;
|
||||
#endif
|
||||
J2DScreen* mScreen;
|
||||
};
|
||||
|
||||
struct JKRArchive {};
|
||||
|
||||
struct dBrightCheck_c {
|
||||
/* 80192F10 */ dBrightCheck_c(JKRArchive*);
|
||||
#ifdef NONMATCHING
|
||||
/* 80192F98 */ virtual ~dBrightCheck_c();
|
||||
#else
|
||||
void * vtable;
|
||||
/* 80192F98 */ ~dBrightCheck_c();
|
||||
#endif
|
||||
/* 80193030 */ void screenSet();
|
||||
/* 801934D0 */ void _move();
|
||||
/* 80193508 */ void modeWait();
|
||||
/* 8019350C */ void modeMove();
|
||||
/* 80193594 */ void _draw();
|
||||
};
|
||||
|
||||
struct JAISoundID {};
|
||||
|
||||
struct Vec {};
|
||||
|
||||
struct Z2SeMgr {
|
||||
/* 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*);
|
||||
/* 0x04 */ JKRArchive* mArchive;
|
||||
/* 0x08 */ dDlst_BrightCheck_c mDlstBrightCheck;
|
||||
/* 0x10 */ u8 field_0x10[4];
|
||||
/* 0x14 */ dMsgString_c* mMsgString;
|
||||
/* 0x18 */ u8 field_0x18;
|
||||
/* 0x19 */ u8 field_0x19;
|
||||
};
|
||||
|
||||
//
|
||||
|
@ -104,7 +95,6 @@ extern "C" void _savegpr_22();
|
|||
extern "C" void _restgpr_22();
|
||||
extern "C" extern void* __vt__12dDlst_base_c[3];
|
||||
extern "C" u8 m_cpadInfo__8mDoCPd_c[256];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
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,
|
||||
};
|
||||
|
||||
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 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
|
@ -163,7 +160,19 @@ SECTION_DATA extern void* __vt__14dBrightCheck_c[3 + 4 /* padding */] = {
|
|||
NULL,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
/* 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 optimization_level 0
|
||||
#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"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 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 optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
@ -182,23 +198,20 @@ asm dBrightCheck_c::~dBrightCheck_c() {
|
|||
#include "asm/d/d_bright_check/__dt__14dBrightCheck_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80394910-80394938 020F70 0028+00 1/1 0/0 0/0 .rodata tv_btnA$3744 */
|
||||
SECTION_RODATA static u8 const tv_btnA[40] = {
|
||||
0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x61, 0x74, 0x31, 0x63, 0x6F, 0x6E, 0x74, 0x5F, 0x61,
|
||||
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,
|
||||
SECTION_RODATA static u64 const tv_btnA[5] = {
|
||||
'cont_at1', 'cont_at2', 'cont_at3', 'cont_at4', 'cont_at',
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80394910, &tv_btnA);
|
||||
|
||||
/* 80394938-80394960 020F98 0028+00 0/1 0/0 0/0 .rodata ftv_btnA$3745 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const ftv_btnA[40] = {
|
||||
0x00, 0x66, 0x6F, 0x6E, 0x74, 0x5F, 0x61, 0x31, 0x66, 0x6F, 0x6E, 0x74, 0x5F, 0x61,
|
||||
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,
|
||||
SECTION_RODATA static u64 const ftv_btnA[5] = {
|
||||
'font_a1', 'font_at2', 'font_at3' , 'font_at4', 'font_at',
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80394938, &ftv_btnA);
|
||||
#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 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const txTV[80] = {
|
||||
0x6D, 0x65, 0x6E, 0x75, 0x5F, 0x74, 0x36, 0x31, 0x00, 0x6D, 0x65, 0x6E, 0x75, 0x5F, 0x74, 0x32,
|
||||
0x6D, 0x65, 0x6E, 0x75, 0x5F, 0x74, 0x39, 0x31, 0x00, 0x6D, 0x65, 0x6E, 0x75, 0x5F, 0x74, 0x31,
|
||||
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,
|
||||
SECTION_RODATA static u64 const txTV[10] = {
|
||||
'menu_t61', 'menu_t2', 'menu_t91', 'menu_t1', 'menut101', 'menu_t01', 'menu_t71',
|
||||
'menu_t3', 'menu_t81', 'menu_t4',
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80394960, &txTV);
|
||||
#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 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const txTVhide[40] = {
|
||||
0x00, 0x6D, 0x65, 0x6E, 0x75, 0x5F, 0x36, 0x6E, 0x00, 0x6D, 0x65, 0x6E, 0x75, 0x5F,
|
||||
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,
|
||||
SECTION_RODATA static u64 const txTVhide[5] = {
|
||||
'menu_6n', 'menu_9n', 'menu_10n', 'menu_7n', 'menu_8n',
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x803949B0, &txTVhide);
|
||||
#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 */
|
||||
// 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 optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
@ -251,16 +309,12 @@ asm void dBrightCheck_c::screenSet() {
|
|||
#include "asm/d/d_bright_check/screenSet__14dBrightCheck_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 801934D0-80193508 18DE10 0038+00 0/0 1/1 0/0 .text _move__14dBrightCheck_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBrightCheck_c::_move() {
|
||||
nofralloc
|
||||
#include "asm/d/d_bright_check/_move__14dBrightCheck_cFv.s"
|
||||
void dBrightCheck_c::_move() {
|
||||
(this->*(((BrightCheckFunc*)brightChackProc)[field_0x18]))();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80193508-8019350C 18DE48 0004+00 1/0 0/0 0/0 .text modeWait__14dBrightCheck_cFv */
|
||||
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 */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBrightCheck_c::modeMove() {
|
||||
nofralloc
|
||||
#include "asm/d/d_bright_check/modeMove__14dBrightCheck_cFv.s"
|
||||
void dBrightCheck_c::modeMove() {
|
||||
if (mDoCPd_c::getTrigA(0) || mDoCPd_c::getTrigStart(0)) {
|
||||
mDoAud_seStart(1, 0, 0, 0);
|
||||
field_0x19 = 1;
|
||||
field_0x18 = 0;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 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 optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
@ -297,8 +356,16 @@ asm void dBrightCheck_c::_draw() {
|
|||
#include "asm/d/d_bright_check/_draw__14dBrightCheck_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 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 optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
@ -307,6 +374,7 @@ asm void dDlst_BrightCheck_c::draw() {
|
|||
#include "asm/d/d_bright_check/draw__19dDlst_BrightCheck_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80193608-80193648 18DF48 0040+00 0/0 1/0 0/0 .text __sinit_d_bright_check_cpp */
|
||||
#pragma push
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void dEvent_manager_c::cutEnd(int cutIndex) {
|
||||
if (i_dComIfGp_getEvent().getMode() == EVT_MODE_NONE) {
|
||||
return;
|
||||
|
@ -1052,19 +1051,10 @@ void dEvent_manager_c::cutEnd(int cutIndex) {
|
|||
return;
|
||||
} else {
|
||||
// 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
|
||||
* getEventPrio__16dEvent_manager_cFP10fopAc_ac_cs */
|
||||
|
|
|
@ -301,23 +301,21 @@ Vec dMapInfo_n::getMapRestartPos() {
|
|||
|
||||
/* 8003F0F8-8003F19C 039A38 00A4+00 1/1 1/1 0/0 .text getMapRestartAngleY__10dMapInfo_nFv
|
||||
*/
|
||||
// small regalloc
|
||||
#ifdef NONMATCHING
|
||||
s16 dMapInfo_n::getMapRestartAngleY() {
|
||||
int angle = dComIfGs_getRestartRoomAngleY();
|
||||
|
||||
const dTres_c::typeGroupData_c* icon_data = getConstRestartIconPointer();
|
||||
if (icon_data != NULL) {
|
||||
int icon_angle = icon_data->getAngleY();
|
||||
bool tmp = icon_angle > 0;
|
||||
angle = icon_data->getAngleY();
|
||||
bool tmp = angle > 0;
|
||||
|
||||
if (tmp) {
|
||||
icon_angle = -icon_angle;
|
||||
angle = -angle;
|
||||
}
|
||||
|
||||
angle = icon_angle * 0x0100;
|
||||
angle = angle * 0x0100;
|
||||
if (tmp) {
|
||||
angle = icon_angle * -0x0100;
|
||||
angle = -angle;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -329,16 +327,6 @@ s16 dMapInfo_n::getMapRestartAngleY() {
|
|||
|
||||
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
|
||||
*/
|
||||
|
@ -896,24 +884,49 @@ asm int renderingDAmap_c::getNextDrawRoomNo(int param_0) {
|
|||
#endif
|
||||
|
||||
/* 80040134-800401E8 03AA74 00B4+00 3/0 3/0 0/0 .text getFirstRoomPointer__16renderingDAmap_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dDrawPath_c::room_class* renderingDAmap_c::getFirstRoomPointer() {
|
||||
nofralloc
|
||||
#include "asm/d/map/d_map_path_dmap/getFirstRoomPointer__16renderingDAmap_cFv.s"
|
||||
dDrawPath_c::room_class* renderingDAmap_c::getFirstRoomPointer() {
|
||||
dDrawPath_c::room_class* pRoomClass = NULL;
|
||||
mRoomNo = getFirstDrawRoomNo();
|
||||
if (mRoomNo >= 0) {
|
||||
field_0x28 = getFirstDrawLayerNo();
|
||||
|
||||
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 */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dDrawPath_c::room_class* renderingDAmap_c::getNextRoomPointer() {
|
||||
nofralloc
|
||||
#include "asm/d/map/d_map_path_dmap/getNextRoomPointer__16renderingDAmap_cFv.s"
|
||||
dDrawPath_c::room_class* renderingDAmap_c::getNextRoomPointer() {
|
||||
dDrawPath_c::room_class* pRoomClass = NULL;
|
||||
bool bVar1 = false;
|
||||
do {
|
||||
mRoomNo = getNextDrawRoomNo(mRoomNo);
|
||||
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 */
|
||||
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 */
|
||||
bool renderingDAmap_c::getFirstDrawLayerNo() {
|
||||
return false;
|
||||
int renderingDAmap_c::getFirstDrawLayerNo() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 800402E8-800402FC 03AC28 0014+00 3/0 3/0 0/0 .text getNextDrawLayerNo__16renderingDAmap_cFi */
|
||||
|
@ -1232,8 +1245,9 @@ void renderingPlusDoorAndCursor_c::drawTreasure() {
|
|||
setTevSettingIntensityTextureToCI();
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
dTres_c::typeGroupData_c* typeGroupData_p;
|
||||
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);
|
||||
|
||||
if (group_num != 0) {
|
||||
|
@ -1256,7 +1270,7 @@ void renderingPlusDoorAndCursor_c::drawTreasure() {
|
|||
GXSetTevColor(GX_TEVREG2, sp18);
|
||||
|
||||
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 (mRoomNoSingle != typeGroupData_p->getRoomNo()) {
|
||||
|
|
Loading…
Reference in New Issue