mirror of https://github.com/zeldaret/tp.git
Misc matches (#274)
This commit is contained in:
parent
df44816bec
commit
d449897b87
|
|
@ -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 | 24.158081% | 868856 | 3596544
|
||||
.text | 24.289651% | 873588 | 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 | 32.153630% | 1292792 | 4020672
|
||||
Total | 32.271322% | 1297524 | 4020672
|
||||
|
||||
## Total
|
||||
|
||||
Section | Percentage | Decompiled (bytes) | Total (bytes)
|
||||
---|---|---|---
|
||||
main.dol | 32.153630% | 1292792 | 4020672
|
||||
main.dol | 32.271322% | 1297524 | 4020672
|
||||
RELs | 33.163587% | 3813920 | 11500324
|
||||
Total | 32.901961% | 5106712 | 15520996
|
||||
Total | 32.932448% | 5111444 | 15520996
|
||||
|
||||
## RELs
|
||||
|
||||
|
|
|
|||
|
|
@ -1,19 +0,0 @@
|
|||
lbl_802D0830:
|
||||
/* 802D0830 39 20 00 00 */ li r9, 0
|
||||
/* 802D0834 98 A3 00 03 */ stb r5, 3(r3)
|
||||
/* 802D0838 98 C3 00 02 */ stb r6, 2(r3)
|
||||
/* 802D083C 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 802D0840 38 A4 00 10 */ addi r5, r4, 0x10
|
||||
/* 802D0844 7C 00 28 40 */ cmplw r0, r5
|
||||
/* 802D0848 41 80 00 24 */ blt lbl_802D086C
|
||||
/* 802D084C 7D 24 1A 14 */ add r9, r4, r3
|
||||
/* 802D0850 98 E9 00 13 */ stb r7, 0x13(r9)
|
||||
/* 802D0854 99 09 00 12 */ stb r8, 0x12(r9)
|
||||
/* 802D0858 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 802D085C 7C 05 00 50 */ subf r0, r5, r0
|
||||
/* 802D0860 90 09 00 14 */ stw r0, 0x14(r9)
|
||||
/* 802D0864 90 83 00 04 */ stw r4, 4(r3)
|
||||
/* 802D0868 39 29 00 10 */ addi r9, r9, 0x10
|
||||
lbl_802D086C:
|
||||
/* 802D086C 7D 23 4B 78 */ mr r3, r9
|
||||
/* 802D0870 4E 80 00 20 */ blr
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
lbl_802D50D4:
|
||||
/* 802D50D4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802D50D8 7C 08 02 A6 */ mflr r0
|
||||
/* 802D50DC 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802D50E0 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802D50E4 48 08 D0 F9 */ bl _savegpr_29
|
||||
/* 802D50E8 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802D50EC 83 C3 00 3C */ lwz r30, 0x3c(r3)
|
||||
/* 802D50F0 48 00 00 54 */ b lbl_802D5144
|
||||
lbl_802D50F4:
|
||||
/* 802D50F4 80 7E 00 00 */ lwz r3, 0(r30)
|
||||
/* 802D50F8 80 63 00 1C */ lwz r3, 0x1c(r3)
|
||||
/* 802D50FC 80 9D 00 38 */ lwz r4, 0x38(r29)
|
||||
/* 802D5100 4B FF 94 01 */ bl free__7JKRHeapFPvP7JKRHeap
|
||||
/* 802D5104 80 9E 00 00 */ lwz r4, 0(r30)
|
||||
/* 802D5108 38 7D 00 3C */ addi r3, r29, 0x3c
|
||||
/* 802D510C 48 00 70 51 */ bl remove__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802D5110 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802D5114 83 DE 00 0C */ lwz r30, 0xc(r30)
|
||||
/* 802D5118 80 61 00 08 */ lwz r3, 8(r1)
|
||||
/* 802D511C 90 61 00 0C */ stw r3, 0xc(r1)
|
||||
/* 802D5120 83 E3 00 00 */ lwz r31, 0(r3)
|
||||
/* 802D5124 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802D5128 41 82 00 1C */ beq lbl_802D5144
|
||||
/* 802D512C 41 82 00 10 */ beq lbl_802D513C
|
||||
/* 802D5130 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802D5134 38 80 00 00 */ li r4, 0
|
||||
/* 802D5138 48 00 6C DD */ bl __dt__10JSUPtrLinkFv
|
||||
lbl_802D513C:
|
||||
/* 802D513C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802D5140 4B FF 9B FD */ bl __dl__FPv
|
||||
lbl_802D5144:
|
||||
/* 802D5144 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 802D5148 40 82 FF AC */ bne lbl_802D50F4
|
||||
/* 802D514C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802D5150 48 08 D0 D9 */ bl _restgpr_29
|
||||
/* 802D5154 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802D5158 7C 08 03 A6 */ mtlr r0
|
||||
/* 802D515C 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802D5160 4E 80 00 20 */ blr
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
lbl_802DEE28:
|
||||
/* 802DEE28 94 21 FF 90 */ stwu r1, -0x70(r1)
|
||||
/* 802DEE2C 7C 08 02 A6 */ mflr r0
|
||||
/* 802DEE30 90 01 00 74 */ stw r0, 0x74(r1)
|
||||
/* 802DEE34 DB E1 00 60 */ stfd f31, 0x60(r1)
|
||||
/* 802DEE38 F3 E1 00 68 */ psq_st f31, 104(r1), 0, 0 /* qr0 */
|
||||
/* 802DEE3C DB C1 00 50 */ stfd f30, 0x50(r1)
|
||||
/* 802DEE40 F3 C1 00 58 */ psq_st f30, 88(r1), 0, 0 /* qr0 */
|
||||
/* 802DEE44 DB A1 00 40 */ stfd f29, 0x40(r1)
|
||||
/* 802DEE48 F3 A1 00 48 */ psq_st f29, 72(r1), 0, 0 /* qr0 */
|
||||
/* 802DEE4C DB 81 00 30 */ stfd f28, 0x30(r1)
|
||||
/* 802DEE50 F3 81 00 38 */ psq_st f28, 56(r1), 0, 0 /* qr0 */
|
||||
/* 802DEE54 DB 61 00 20 */ stfd f27, 0x20(r1)
|
||||
/* 802DEE58 F3 61 00 28 */ psq_st f27, 40(r1), 0, 0 /* qr0 */
|
||||
/* 802DEE5C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802DEE60 48 08 33 75 */ bl _savegpr_27
|
||||
/* 802DEE64 7C 7B 1B 78 */ mr r27, r3
|
||||
/* 802DEE68 FF 60 08 90 */ fmr f27, f1
|
||||
/* 802DEE6C FF 80 10 90 */ fmr f28, f2
|
||||
/* 802DEE70 FF A0 18 90 */ fmr f29, f3
|
||||
/* 802DEE74 FF C0 20 90 */ fmr f30, f4
|
||||
/* 802DEE78 7C 9C 23 78 */ mr r28, r4
|
||||
/* 802DEE7C 7C BD 2B 78 */ mr r29, r5
|
||||
/* 802DEE80 7C DE 33 78 */ mr r30, r6
|
||||
/* 802DEE84 FF E0 D8 90 */ fmr f31, f27
|
||||
/* 802DEE88 48 00 00 74 */ b lbl_802DEEFC
|
||||
lbl_802DEE8C:
|
||||
/* 802DEE8C 88 9C 00 00 */ lbz r4, 0(r28)
|
||||
/* 802DEE90 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802DEE94 7F 63 DB 78 */ mr r3, r27
|
||||
/* 802DEE98 81 9B 00 00 */ lwz r12, 0(r27)
|
||||
/* 802DEE9C 81 8C 00 40 */ lwz r12, 0x40(r12)
|
||||
/* 802DEEA0 7D 89 03 A6 */ mtctr r12
|
||||
/* 802DEEA4 4E 80 04 21 */ bctrl
|
||||
/* 802DEEA8 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 802DEEAC 41 82 00 14 */ beq lbl_802DEEC0
|
||||
/* 802DEEB0 57 FF 40 2E */ slwi r31, r31, 8
|
||||
/* 802DEEB4 8C 1C 00 01 */ lbzu r0, 1(r28)
|
||||
/* 802DEEB8 7F FF 03 78 */ or r31, r31, r0
|
||||
/* 802DEEBC 3B BD FF FF */ addi r29, r29, -1
|
||||
lbl_802DEEC0:
|
||||
/* 802DEEC0 7F 63 DB 78 */ mr r3, r27
|
||||
/* 802DEEC4 FC 20 D8 90 */ fmr f1, f27
|
||||
/* 802DEEC8 FC 40 E0 90 */ fmr f2, f28
|
||||
/* 802DEECC FC 60 E8 90 */ fmr f3, f29
|
||||
/* 802DEED0 FC 80 F0 90 */ fmr f4, f30
|
||||
/* 802DEED4 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802DEED8 7F C5 F3 78 */ mr r5, r30
|
||||
/* 802DEEDC 81 9B 00 00 */ lwz r12, 0(r27)
|
||||
/* 802DEEE0 81 8C 00 14 */ lwz r12, 0x14(r12)
|
||||
/* 802DEEE4 7D 89 03 A6 */ mtctr r12
|
||||
/* 802DEEE8 4E 80 04 21 */ bctrl
|
||||
/* 802DEEEC EF 7B 08 2A */ fadds f27, f27, f1
|
||||
/* 802DEEF0 3B C0 00 01 */ li r30, 1
|
||||
/* 802DEEF4 3B BD FF FF */ addi r29, r29, -1
|
||||
/* 802DEEF8 3B 9C 00 01 */ addi r28, r28, 1
|
||||
lbl_802DEEFC:
|
||||
/* 802DEEFC 28 1D 00 00 */ cmplwi r29, 0
|
||||
/* 802DEF00 40 82 FF 8C */ bne lbl_802DEE8C
|
||||
/* 802DEF04 EC 3B F8 28 */ fsubs f1, f27, f31
|
||||
/* 802DEF08 E3 E1 00 68 */ psq_l f31, 104(r1), 0, 0 /* qr0 */
|
||||
/* 802DEF0C CB E1 00 60 */ lfd f31, 0x60(r1)
|
||||
/* 802DEF10 E3 C1 00 58 */ psq_l f30, 88(r1), 0, 0 /* qr0 */
|
||||
/* 802DEF14 CB C1 00 50 */ lfd f30, 0x50(r1)
|
||||
/* 802DEF18 E3 A1 00 48 */ psq_l f29, 72(r1), 0, 0 /* qr0 */
|
||||
/* 802DEF1C CB A1 00 40 */ lfd f29, 0x40(r1)
|
||||
/* 802DEF20 E3 81 00 38 */ psq_l f28, 56(r1), 0, 0 /* qr0 */
|
||||
/* 802DEF24 CB 81 00 30 */ lfd f28, 0x30(r1)
|
||||
/* 802DEF28 E3 61 00 28 */ psq_l f27, 40(r1), 0, 0 /* qr0 */
|
||||
/* 802DEF2C CB 61 00 20 */ lfd f27, 0x20(r1)
|
||||
/* 802DEF30 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802DEF34 48 08 32 ED */ bl _restgpr_27
|
||||
/* 802DEF38 80 01 00 74 */ lwz r0, 0x74(r1)
|
||||
/* 802DEF3C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802DEF40 38 21 00 70 */ addi r1, r1, 0x70
|
||||
/* 802DEF44 4E 80 00 20 */ blr
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
lbl_80145DD0:
|
||||
/* 80145DD0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80145DD4 7C 08 02 A6 */ mflr r0
|
||||
/* 80145DD8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80145DDC 7C 66 1B 78 */ mr r6, r3
|
||||
/* 80145DE0 80 A3 00 00 */ lwz r5, 0(r3)
|
||||
/* 80145DE4 A0 65 00 00 */ lhz r3, 0(r5)
|
||||
/* 80145DE8 88 05 00 05 */ lbz r0, 5(r5)
|
||||
/* 80145DEC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
|
||||
/* 80145DF0 41 82 00 24 */ beq lbl_80145E14
|
||||
/* 80145DF4 7C 03 20 00 */ cmpw r3, r4
|
||||
/* 80145DF8 40 82 00 1C */ bne lbl_80145E14
|
||||
/* 80145DFC 7C 83 23 78 */ mr r3, r4
|
||||
/* 80145E00 38 86 00 1C */ addi r4, r6, 0x1c
|
||||
/* 80145E04 38 A0 00 01 */ li r5, 1
|
||||
/* 80145E08 88 C6 00 20 */ lbz r6, 0x20(r6)
|
||||
/* 80145E0C 4B FF FC B9 */ bl daNpcT_incIdx__FiRUsii
|
||||
/* 80145E10 48 00 00 18 */ b lbl_80145E28
|
||||
lbl_80145E14:
|
||||
/* 80145E14 7C 83 23 78 */ mr r3, r4
|
||||
/* 80145E18 38 86 00 1C */ addi r4, r6, 0x1c
|
||||
/* 80145E1C 38 A0 00 00 */ li r5, 0
|
||||
/* 80145E20 88 C6 00 20 */ lbz r6, 0x20(r6)
|
||||
/* 80145E24 4B FF FC A1 */ bl daNpcT_incIdx__FiRUsii
|
||||
lbl_80145E28:
|
||||
/* 80145E28 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80145E2C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80145E30 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80145E34 4E 80 00 20 */ blr
|
||||
|
|
@ -1,122 +0,0 @@
|
|||
lbl_80035A04:
|
||||
/* 80035A04 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80035A08 7C 08 02 A6 */ mflr r0
|
||||
/* 80035A0C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80035A10 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80035A14 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 80035A18 1C 05 0A 94 */ mulli r0, r5, 0xa94
|
||||
/* 80035A1C 7C 84 02 14 */ add r4, r4, r0
|
||||
/* 80035A20 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80035A24 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80035A28 38 A0 09 58 */ li r5, 0x958
|
||||
/* 80035A2C 4B FC DB 15 */ bl memcpy
|
||||
/* 80035A30 48 30 AB 61 */ bl OSGetSoundMode
|
||||
/* 80035A34 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 80035A38 40 82 00 28 */ bne lbl_80035A60
|
||||
/* 80035A3C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80035A40 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80035A44 38 63 01 E0 */ addi r3, r3, 0x1e0
|
||||
/* 80035A48 38 80 00 00 */ li r4, 0
|
||||
/* 80035A4C 4B FF EC 41 */ bl setSound__19dSv_player_config_cFUc
|
||||
/* 80035A50 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13)
|
||||
/* 80035A54 38 80 00 00 */ li r4, 0
|
||||
/* 80035A58 48 29 7E 31 */ bl setOutputMode__10Z2AudioMgrFUl
|
||||
/* 80035A5C 48 00 00 4C */ b lbl_80035AA8
|
||||
lbl_80035A60:
|
||||
/* 80035A60 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80035A64 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80035A68 3B E3 01 E0 */ addi r31, r3, 0x1e0
|
||||
/* 80035A6C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80035A70 4B FF EC 15 */ bl getSound__19dSv_player_config_cFv
|
||||
/* 80035A74 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 80035A78 28 00 00 02 */ cmplwi r0, 2
|
||||
/* 80035A7C 40 82 00 14 */ bne lbl_80035A90
|
||||
/* 80035A80 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13)
|
||||
/* 80035A84 38 80 00 02 */ li r4, 2
|
||||
/* 80035A88 48 29 7E 01 */ bl setOutputMode__10Z2AudioMgrFUl
|
||||
/* 80035A8C 48 00 00 1C */ b lbl_80035AA8
|
||||
lbl_80035A90:
|
||||
/* 80035A90 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80035A94 38 80 00 01 */ li r4, 1
|
||||
/* 80035A98 4B FF EB F5 */ bl setSound__19dSv_player_config_cFUc
|
||||
/* 80035A9C 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13)
|
||||
/* 80035AA0 38 80 00 01 */ li r4, 1
|
||||
/* 80035AA4 48 29 7D E5 */ bl setOutputMode__10Z2AudioMgrFUl
|
||||
lbl_80035AA8:
|
||||
/* 80035AA8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80035AAC 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80035AB0 A0 1F 00 02 */ lhz r0, 2(r31)
|
||||
/* 80035AB4 28 00 00 0C */ cmplwi r0, 0xc
|
||||
/* 80035AB8 40 80 00 0C */ bge lbl_80035AC4
|
||||
/* 80035ABC 38 00 00 0C */ li r0, 0xc
|
||||
/* 80035AC0 B0 1F 00 02 */ sth r0, 2(r31)
|
||||
lbl_80035AC4:
|
||||
/* 80035AC4 38 60 00 06 */ li r3, 6
|
||||
/* 80035AC8 38 80 00 00 */ li r4, 0
|
||||
/* 80035ACC 4B FF 95 75 */ bl dComIfGs_setKeyNum__FiUc
|
||||
/* 80035AD0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80035AD4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80035AD8 3B C3 00 9C */ addi r30, r3, 0x9c
|
||||
/* 80035ADC 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80035AE0 38 80 00 09 */ li r4, 9
|
||||
/* 80035AE4 38 A0 00 01 */ li r5, 1
|
||||
/* 80035AE8 4B FF D5 49 */ bl getItem__17dSv_player_item_cCFib
|
||||
/* 80035AEC 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 80035AF0 28 00 00 47 */ cmplwi r0, 0x47
|
||||
/* 80035AF4 40 82 00 24 */ bne lbl_80035B18
|
||||
/* 80035AF8 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80035AFC 38 80 00 0A */ li r4, 0xa
|
||||
/* 80035B00 38 A0 00 47 */ li r5, 0x47
|
||||
/* 80035B04 4B FF D4 B5 */ bl setItem__17dSv_player_item_cFiUc
|
||||
/* 80035B08 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80035B0C 38 80 00 09 */ li r4, 9
|
||||
/* 80035B10 38 A0 00 FF */ li r5, 0xff
|
||||
/* 80035B14 4B FF D4 A5 */ bl setItem__17dSv_player_item_cFiUc
|
||||
lbl_80035B18:
|
||||
/* 80035B18 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80035B1C 38 80 00 09 */ li r4, 9
|
||||
/* 80035B20 38 A0 00 01 */ li r5, 1
|
||||
/* 80035B24 4B FF D5 0D */ bl getItem__17dSv_player_item_cCFib
|
||||
/* 80035B28 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 80035B2C 28 00 00 44 */ cmplwi r0, 0x44
|
||||
/* 80035B30 40 82 00 30 */ bne lbl_80035B60
|
||||
/* 80035B34 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80035B38 38 80 00 0A */ li r4, 0xa
|
||||
/* 80035B3C 38 A0 00 01 */ li r5, 1
|
||||
/* 80035B40 4B FF D4 F1 */ bl getItem__17dSv_player_item_cCFib
|
||||
/* 80035B44 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 80035B48 28 00 00 47 */ cmplwi r0, 0x47
|
||||
/* 80035B4C 40 82 00 14 */ bne lbl_80035B60
|
||||
/* 80035B50 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80035B54 38 80 00 09 */ li r4, 9
|
||||
/* 80035B58 38 A0 00 FF */ li r5, 0xff
|
||||
/* 80035B5C 4B FF D4 5D */ bl setItem__17dSv_player_item_cFiUc
|
||||
lbl_80035B60:
|
||||
/* 80035B60 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80035B64 4B FF D7 95 */ bl setLineUpItem__17dSv_player_item_cFv
|
||||
/* 80035B68 38 7F 01 E0 */ addi r3, r31, 0x1e0
|
||||
/* 80035B6C 4B FF EB 29 */ bl getVibration__19dSv_player_config_cFv
|
||||
/* 80035B70 7C 64 1B 78 */ mr r4, r3
|
||||
/* 80035B74 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80035B78 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80035B7C 38 63 0F 38 */ addi r3, r3, 0xf38
|
||||
/* 80035B80 4B FF 58 29 */ bl setNowVibration__14dComIfG_play_cFUc
|
||||
/* 80035B84 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80035B88 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80035B8C 38 83 00 58 */ addi r4, r3, 0x58
|
||||
/* 80035B90 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */
|
||||
/* 80035B94 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */
|
||||
/* 80035B98 48 1E 86 F9 */ bl setSaveStageName__13dMeter2Info_cFPCc
|
||||
/* 80035B9C 3C 60 80 38 */ lis r3, d_save_d_save__stringBase0@ha /* 0x80379234@ha */
|
||||
/* 80035BA0 38 63 92 34 */ addi r3, r3, d_save_d_save__stringBase0@l /* 0x80379234@l */
|
||||
/* 80035BA4 38 63 00 46 */ addi r3, r3, 0x46
|
||||
/* 80035BA8 38 80 09 58 */ li r4, 0x958
|
||||
/* 80035BAC 4C C6 31 82 */ crclr 6
|
||||
/* 80035BB0 48 33 0C CD */ bl printf
|
||||
/* 80035BB4 38 60 00 00 */ li r3, 0
|
||||
/* 80035BB8 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80035BBC 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 80035BC0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80035BC4 7C 08 03 A6 */ mtlr r0
|
||||
/* 80035BC8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80035BCC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
lbl_80035BD0:
|
||||
/* 80035BD0 94 21 F6 90 */ stwu r1, -0x970(r1)
|
||||
/* 80035BD4 7C 08 02 A6 */ mflr r0
|
||||
/* 80035BD8 90 01 09 74 */ stw r0, 0x974(r1)
|
||||
/* 80035BDC 93 E1 09 6C */ stw r31, 0x96c(r1)
|
||||
/* 80035BE0 1C 05 0A 94 */ mulli r0, r5, 0xa94
|
||||
/* 80035BE4 7F E4 02 14 */ add r31, r4, r0
|
||||
/* 80035BE8 38 61 01 F8 */ addi r3, r1, 0x1f8
|
||||
/* 80035BEC 3C 80 80 03 */ lis r4, __ct__12dSv_memory_cFv@ha /* 0x80030DB0@ha */
|
||||
/* 80035BF0 38 84 0D B0 */ addi r4, r4, __ct__12dSv_memory_cFv@l /* 0x80030DB0@l */
|
||||
/* 80035BF4 38 A0 00 00 */ li r5, 0
|
||||
/* 80035BF8 38 C0 00 20 */ li r6, 0x20
|
||||
/* 80035BFC 38 E0 00 20 */ li r7, 0x20
|
||||
/* 80035C00 48 32 C1 61 */ bl __construct_array
|
||||
/* 80035C04 38 61 05 F8 */ addi r3, r1, 0x5f8
|
||||
/* 80035C08 3C 80 80 03 */ lis r4, __ct__13dSv_memory2_cFv@ha /* 0x80030D80@ha */
|
||||
/* 80035C0C 38 84 0D 80 */ addi r4, r4, __ct__13dSv_memory2_cFv@l /* 0x80030D80@l */
|
||||
/* 80035C10 38 A0 00 00 */ li r5, 0
|
||||
/* 80035C14 38 C0 00 08 */ li r6, 8
|
||||
/* 80035C18 38 E0 00 40 */ li r7, 0x40
|
||||
/* 80035C1C 48 32 C1 45 */ bl __construct_array
|
||||
/* 80035C20 38 61 00 08 */ addi r3, r1, 8
|
||||
/* 80035C24 4B FF F3 F9 */ bl init__10dSv_save_cFv
|
||||
/* 80035C28 38 61 01 BC */ addi r3, r1, 0x1bc
|
||||
/* 80035C2C 3C 80 80 38 */ lis r4, d_save_d_save__stringBase0@ha /* 0x80379234@ha */
|
||||
/* 80035C30 38 84 92 34 */ addi r4, r4, d_save_d_save__stringBase0@l /* 0x80379234@l */
|
||||
/* 80035C34 48 33 2E F9 */ bl strcpy
|
||||
/* 80035C38 38 61 01 CD */ addi r3, r1, 0x1cd
|
||||
/* 80035C3C 3C 80 80 38 */ lis r4, d_save_d_save__stringBase0@ha /* 0x80379234@ha */
|
||||
/* 80035C40 38 84 92 34 */ addi r4, r4, d_save_d_save__stringBase0@l /* 0x80379234@l */
|
||||
/* 80035C44 48 33 2E E9 */ bl strcpy
|
||||
/* 80035C48 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80035C4C 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80035C50 38 A0 09 58 */ li r5, 0x958
|
||||
/* 80035C54 4B FC D8 ED */ bl memcpy
|
||||
/* 80035C58 3C 60 80 38 */ lis r3, d_save_d_save__stringBase0@ha /* 0x80379234@ha */
|
||||
/* 80035C5C 38 63 92 34 */ addi r3, r3, d_save_d_save__stringBase0@l /* 0x80379234@l */
|
||||
/* 80035C60 38 63 00 54 */ addi r3, r3, 0x54
|
||||
/* 80035C64 38 80 09 58 */ li r4, 0x958
|
||||
/* 80035C68 4C C6 31 82 */ crclr 6
|
||||
/* 80035C6C 48 33 0C 11 */ bl printf
|
||||
/* 80035C70 38 60 00 00 */ li r3, 0
|
||||
/* 80035C74 83 E1 09 6C */ lwz r31, 0x96c(r1)
|
||||
/* 80035C78 80 01 09 74 */ lwz r0, 0x974(r1)
|
||||
/* 80035C7C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80035C80 38 21 09 70 */ addi r1, r1, 0x970
|
||||
/* 80035C84 4E 80 00 20 */ blr
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
lbl_8003488C:
|
||||
/* 8003488C 7C 86 2E 70 */ srawi r6, r4, 5
|
||||
/* 80034890 38 A0 00 01 */ li r5, 1
|
||||
/* 80034894 54 80 06 FE */ clrlwi r0, r4, 0x1b
|
||||
/* 80034898 7C A4 00 30 */ slw r4, r5, r0
|
||||
/* 8003489C 54 C0 10 3A */ slwi r0, r6, 2
|
||||
/* 800348A0 7C 63 02 14 */ add r3, r3, r0
|
||||
/* 800348A4 80 03 00 08 */ lwz r0, 8(r3)
|
||||
/* 800348A8 7C 00 22 78 */ xor r0, r0, r4
|
||||
/* 800348AC 90 03 00 08 */ stw r0, 8(r3)
|
||||
/* 800348B0 80 03 00 08 */ lwz r0, 8(r3)
|
||||
/* 800348B4 7C 03 20 38 */ and r3, r0, r4
|
||||
/* 800348B8 30 03 FF FF */ addic r0, r3, -1
|
||||
/* 800348BC 7C 60 19 10 */ subfe r3, r0, r3
|
||||
/* 800348C0 4E 80 00 20 */ blr
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
lbl_80034D78:
|
||||
/* 80034D78 7C 86 26 70 */ srawi r6, r4, 4
|
||||
/* 80034D7C 38 A0 00 01 */ li r5, 1
|
||||
/* 80034D80 54 80 07 3E */ clrlwi r0, r4, 0x1c
|
||||
/* 80034D84 7C A5 00 30 */ slw r5, r5, r0
|
||||
/* 80034D88 54 C4 08 3C */ slwi r4, r6, 1
|
||||
/* 80034D8C 7C 03 22 2E */ lhzx r0, r3, r4
|
||||
/* 80034D90 7C 00 2A 78 */ xor r0, r0, r5
|
||||
/* 80034D94 7C 03 23 2E */ sthx r0, r3, r4
|
||||
/* 80034D98 7C 03 22 2E */ lhzx r0, r3, r4
|
||||
/* 80034D9C 7C A3 00 38 */ and r3, r5, r0
|
||||
/* 80034DA0 30 03 FF FF */ addic r0, r3, -1
|
||||
/* 80034DA4 7C 60 19 10 */ subfe r3, r0, r3
|
||||
/* 80034DA8 4E 80 00 20 */ blr
|
||||
|
|
@ -1,63 +0,0 @@
|
|||
lbl_80033370:
|
||||
/* 80033370 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80033374 7C 08 02 A6 */ mflr r0
|
||||
/* 80033378 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 8003337C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80033380 48 32 EE 59 */ bl _savegpr_28
|
||||
/* 80033384 7C 7C 1B 78 */ mr r28, r3
|
||||
/* 80033388 7C BD 2B 78 */ mr r29, r5
|
||||
/* 8003338C 7C 83 23 78 */ mr r3, r4
|
||||
/* 80033390 4B FF F5 89 */ bl dSv_item_rename__FUc
|
||||
/* 80033394 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80033398 7F A3 EB 78 */ mr r3, r29
|
||||
/* 8003339C 4B FF F5 7D */ bl dSv_item_rename__FUc
|
||||
/* 800333A0 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 800333A4 3B E0 00 00 */ li r31, 0
|
||||
/* 800333A8 57 C3 06 3E */ clrlwi r3, r30, 0x18
|
||||
/* 800333AC 38 00 00 04 */ li r0, 4
|
||||
/* 800333B0 7C 09 03 A6 */ mtctr r0
|
||||
lbl_800333B4:
|
||||
/* 800333B4 38 9F 00 0B */ addi r4, r31, 0xb
|
||||
/* 800333B8 7C 1C 20 AE */ lbzx r0, r28, r4
|
||||
/* 800333BC 7C 03 00 40 */ cmplw r3, r0
|
||||
/* 800333C0 40 82 00 70 */ bne lbl_80033430
|
||||
/* 800333C4 7F 83 E3 78 */ mr r3, r28
|
||||
/* 800333C8 7F A5 EB 78 */ mr r5, r29
|
||||
/* 800333CC 4B FF FB ED */ bl setItem__17dSv_player_item_cFiUc
|
||||
/* 800333D0 57 A0 06 3E */ clrlwi r0, r29, 0x18
|
||||
/* 800333D4 28 00 00 6B */ cmplwi r0, 0x6b
|
||||
/* 800333D8 40 82 00 18 */ bne lbl_800333F0
|
||||
/* 800333DC 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */
|
||||
/* 800333E0 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */
|
||||
/* 800333E4 38 1F 00 0B */ addi r0, r31, 0xb
|
||||
/* 800333E8 54 04 06 3E */ clrlwi r4, r0, 0x18
|
||||
/* 800333EC 48 1E A8 D9 */ bl setHotSpringTimer__13dMeter2Info_cFUc
|
||||
lbl_800333F0:
|
||||
/* 800333F0 3B A0 00 00 */ li r29, 0
|
||||
/* 800333F4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 800333F8 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 800333FC 3B FF 00 0B */ addi r31, r31, 0xb
|
||||
lbl_80033400:
|
||||
/* 80033400 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80033404 7F A4 EB 78 */ mr r4, r29
|
||||
/* 80033408 4B FF F6 55 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi
|
||||
/* 8003340C 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 80033410 7C 1F 00 00 */ cmpw r31, r0
|
||||
/* 80033414 40 82 00 0C */ bne lbl_80033420
|
||||
/* 80033418 7F A3 EB 78 */ mr r3, r29
|
||||
/* 8003341C 4B FF A9 D9 */ bl dComIfGp_setSelectItem__Fi
|
||||
lbl_80033420:
|
||||
/* 80033420 3B BD 00 01 */ addi r29, r29, 1
|
||||
/* 80033424 2C 1D 00 03 */ cmpwi r29, 3
|
||||
/* 80033428 41 80 FF D8 */ blt lbl_80033400
|
||||
/* 8003342C 48 00 00 0C */ b lbl_80033438
|
||||
lbl_80033430:
|
||||
/* 80033430 3B FF 00 01 */ addi r31, r31, 1
|
||||
/* 80033434 42 00 FF 80 */ bdnz lbl_800333B4
|
||||
lbl_80033438:
|
||||
/* 80033438 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 8003343C 48 32 ED E9 */ bl _restgpr_28
|
||||
/* 80033440 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80033444 7C 08 03 A6 */ mtlr r0
|
||||
/* 80033448 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8003344C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
lbl_80033450:
|
||||
/* 80033450 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80033454 7C 08 02 A6 */ mflr r0
|
||||
/* 80033458 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8003345C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80033460 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80033464 7C 85 23 78 */ mr r5, r4
|
||||
/* 80033468 7C A3 2B 78 */ mr r3, r5
|
||||
/* 8003346C 4B FF F4 AD */ bl dSv_item_rename__FUc
|
||||
/* 80033470 7C 65 1B 78 */ mr r5, r3
|
||||
/* 80033474 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80033478 38 80 00 60 */ li r4, 0x60
|
||||
/* 8003347C 4B FF FE F5 */ bl setBottleItemIn__17dSv_player_item_cFUcUc
|
||||
/* 80033480 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80033484 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80033488 7C 08 03 A6 */ mtlr r0
|
||||
/* 8003348C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80033490 4E 80 00 20 */ blr
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
lbl_80033598:
|
||||
/* 80033598 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 8003359C 7C 08 02 A6 */ mflr r0
|
||||
/* 800335A0 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 800335A4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 800335A8 48 32 EC 35 */ bl _savegpr_29
|
||||
/* 800335AC 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 800335B0 7C 9F 23 78 */ mr r31, r4
|
||||
/* 800335B4 7C BE 2B 78 */ mr r30, r5
|
||||
/* 800335B8 7F C3 F3 78 */ mr r3, r30
|
||||
/* 800335BC 4B FF F3 5D */ bl dSv_item_rename__FUc
|
||||
/* 800335C0 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 800335C4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 800335C8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 800335CC 57 FF 06 3E */ clrlwi r31, r31, 0x18
|
||||
/* 800335D0 7F E4 FB 78 */ mr r4, r31
|
||||
/* 800335D4 4B FF F4 89 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi
|
||||
/* 800335D8 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 800335DC 28 00 00 0B */ cmplwi r0, 0xb
|
||||
/* 800335E0 41 80 00 C4 */ blt lbl_800336A4
|
||||
/* 800335E4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 800335E8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 800335EC 7F E4 FB 78 */ mr r4, r31
|
||||
/* 800335F0 4B FF F4 6D */ bl getSelectItemIndex__21dSv_player_status_a_cCFi
|
||||
/* 800335F4 54 60 06 3E */ clrlwi r0, r3, 0x18
|
||||
/* 800335F8 28 00 00 0E */ cmplwi r0, 0xe
|
||||
/* 800335FC 41 81 00 A8 */ bgt lbl_800336A4
|
||||
/* 80033600 57 C0 06 3E */ clrlwi r0, r30, 0x18
|
||||
/* 80033604 28 00 00 6B */ cmplwi r0, 0x6b
|
||||
/* 80033608 40 82 00 24 */ bne lbl_8003362C
|
||||
/* 8003360C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80033610 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80033614 7F E4 FB 78 */ mr r4, r31
|
||||
/* 80033618 4B FF F4 45 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi
|
||||
/* 8003361C 7C 64 1B 78 */ mr r4, r3
|
||||
/* 80033620 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */
|
||||
/* 80033624 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */
|
||||
/* 80033628 48 1E A6 9D */ bl setHotSpringTimer__13dMeter2Info_cFUc
|
||||
lbl_8003362C:
|
||||
/* 8003362C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80033630 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80033634 7F E4 FB 78 */ mr r4, r31
|
||||
/* 80033638 4B FF F4 25 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi
|
||||
/* 8003363C 7C 60 1B 78 */ mr r0, r3
|
||||
/* 80033640 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80033644 54 04 06 3E */ clrlwi r4, r0, 0x18
|
||||
/* 80033648 7F C5 F3 78 */ mr r5, r30
|
||||
/* 8003364C 4B FF F9 6D */ bl setItem__17dSv_player_item_cFiUc
|
||||
/* 80033650 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80033654 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80033658 7F E4 FB 78 */ mr r4, r31
|
||||
/* 8003365C 4B FF F4 01 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi
|
||||
/* 80033660 7C 60 1B 78 */ mr r0, r3
|
||||
/* 80033664 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80033668 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 8003366C 38 63 00 9C */ addi r3, r3, 0x9c
|
||||
/* 80033670 54 04 06 3E */ clrlwi r4, r0, 0x18
|
||||
/* 80033674 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80033678 4B FF F9 41 */ bl setItem__17dSv_player_item_cFiUc
|
||||
/* 8003367C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80033680 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80033684 7F E4 FB 78 */ mr r4, r31
|
||||
/* 80033688 4B FF F3 D5 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi
|
||||
/* 8003368C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
|
||||
/* 80033690 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */
|
||||
/* 80033694 98 64 5E 7D */ stb r3, 0x5e7d(r4)
|
||||
/* 80033698 9B C4 5E 7E */ stb r30, 0x5e7e(r4)
|
||||
/* 8003369C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 800336A0 4B FF A7 55 */ bl dComIfGp_setSelectItem__Fi
|
||||
lbl_800336A4:
|
||||
/* 800336A4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 800336A8 48 32 EB 81 */ bl _restgpr_29
|
||||
/* 800336AC 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 800336B0 7C 08 03 A6 */ mtlr r0
|
||||
/* 800336B4 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 800336B8 4E 80 00 20 */ blr
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
lbl_800332F8:
|
||||
/* 800332F8 38 A0 00 00 */ li r5, 0
|
||||
/* 800332FC 38 C0 00 00 */ li r6, 0
|
||||
/* 80033300 38 80 00 FF */ li r4, 0xff
|
||||
/* 80033304 38 00 00 18 */ li r0, 0x18
|
||||
/* 80033308 7C 09 03 A6 */ mtctr r0
|
||||
lbl_8003330C:
|
||||
/* 8003330C 38 06 00 18 */ addi r0, r6, 0x18
|
||||
/* 80033310 7C 83 01 AE */ stbx r4, r3, r0
|
||||
/* 80033314 38 C6 00 01 */ addi r6, r6, 1
|
||||
/* 80033318 42 00 FF F4 */ bdnz lbl_8003330C
|
||||
/* 8003331C 3C 80 80 3A */ lis r4, i_item_lst@ha /* 0x803A7270@ha */
|
||||
/* 80033320 38 84 72 70 */ addi r4, r4, i_item_lst@l /* 0x803A7270@l */
|
||||
/* 80033324 38 00 00 17 */ li r0, 0x17
|
||||
/* 80033328 7C 09 03 A6 */ mtctr r0
|
||||
lbl_8003332C:
|
||||
/* 8003332C 88 C4 00 00 */ lbz r6, 0(r4)
|
||||
/* 80033330 7C 03 30 AE */ lbzx r0, r3, r6
|
||||
/* 80033334 28 00 00 FF */ cmplwi r0, 0xff
|
||||
/* 80033338 41 82 00 10 */ beq lbl_80033348
|
||||
/* 8003333C 38 05 00 18 */ addi r0, r5, 0x18
|
||||
/* 80033340 7C C3 01 AE */ stbx r6, r3, r0
|
||||
/* 80033344 38 A5 00 01 */ addi r5, r5, 1
|
||||
lbl_80033348:
|
||||
/* 80033348 38 84 00 01 */ addi r4, r4, 1
|
||||
/* 8003334C 42 00 FF E0 */ bdnz lbl_8003332C
|
||||
/* 80033350 4E 80 00 20 */ blr
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
lbl_80348D54:
|
||||
/* 80348D54 7C 08 02 A6 */ mflr r0
|
||||
/* 80348D58 90 01 00 04 */ stw r0, 4(r1)
|
||||
/* 80348D5C 94 21 FF C8 */ stwu r1, -0x38(r1)
|
||||
/* 80348D60 BF 41 00 20 */ stmw r26, 0x20(r1)
|
||||
/* 80348D64 7C DD 33 79 */ or. r29, r6, r6
|
||||
/* 80348D68 3B 43 00 00 */ addi r26, r3, 0
|
||||
/* 80348D6C 3B 64 00 00 */ addi r27, r4, 0
|
||||
/* 80348D70 3B 85 00 00 */ addi r28, r5, 0
|
||||
/* 80348D74 3B C7 00 00 */ addi r30, r7, 0
|
||||
/* 80348D78 3B E8 00 00 */ addi r31, r8, 0
|
||||
/* 80348D7C 41 80 00 10 */ blt lbl_80348D8C
|
||||
/* 80348D80 80 1A 00 34 */ lwz r0, 0x34(r26)
|
||||
/* 80348D84 7C 1D 00 40 */ cmplw r29, r0
|
||||
/* 80348D88 40 81 00 1C */ ble lbl_80348DA4
|
||||
lbl_80348D8C:
|
||||
/* 80348D8C 3C 60 80 3D */ lis r3, lit_239@ha /* 0x803D1480@ha */
|
||||
/* 80348D90 4C C6 31 82 */ crclr 6
|
||||
/* 80348D94 38 A3 14 80 */ addi r5, r3, lit_239@l /* 0x803D1480@l */
|
||||
/* 80348D98 38 6D 84 60 */ la r3, lit_118(r13) /* 804509E0-_SDA_BASE_ */
|
||||
/* 80348D9C 38 80 02 EE */ li r4, 0x2ee
|
||||
/* 80348DA0 4B CB E0 DD */ bl OSPanic
|
||||
lbl_80348DA4:
|
||||
/* 80348DA4 7C 9D E2 15 */ add. r4, r29, r28
|
||||
/* 80348DA8 41 80 00 14 */ blt lbl_80348DBC
|
||||
/* 80348DAC 80 7A 00 34 */ lwz r3, 0x34(r26)
|
||||
/* 80348DB0 38 03 00 20 */ addi r0, r3, 0x20
|
||||
/* 80348DB4 7C 04 00 40 */ cmplw r4, r0
|
||||
/* 80348DB8 41 80 00 1C */ blt lbl_80348DD4
|
||||
lbl_80348DBC:
|
||||
/* 80348DBC 3C 60 80 3D */ lis r3, lit_239@ha /* 0x803D1480@ha */
|
||||
/* 80348DC0 4C C6 31 82 */ crclr 6
|
||||
/* 80348DC4 38 A3 14 80 */ addi r5, r3, lit_239@l /* 0x803D1480@l */
|
||||
/* 80348DC8 38 6D 84 60 */ la r3, lit_118(r13) /* 804509E0-_SDA_BASE_ */
|
||||
/* 80348DCC 38 80 02 F4 */ li r4, 0x2f4
|
||||
/* 80348DD0 4B CB E0 AD */ bl OSPanic
|
||||
lbl_80348DD4:
|
||||
/* 80348DD4 93 DA 00 38 */ stw r30, 0x38(r26)
|
||||
/* 80348DD8 3C 60 80 35 */ lis r3, cbForReadAsync@ha /* 0x80348E14@ha */
|
||||
/* 80348DDC 38 E3 8E 14 */ addi r7, r3, cbForReadAsync@l /* 0x80348E14@l */
|
||||
/* 80348DE0 80 1A 00 30 */ lwz r0, 0x30(r26)
|
||||
/* 80348DE4 38 7A 00 00 */ addi r3, r26, 0
|
||||
/* 80348DE8 38 9B 00 00 */ addi r4, r27, 0
|
||||
/* 80348DEC 38 BC 00 00 */ addi r5, r28, 0
|
||||
/* 80348DF0 39 1F 00 00 */ addi r8, r31, 0
|
||||
/* 80348DF4 7C C0 EA 14 */ add r6, r0, r29
|
||||
/* 80348DF8 48 00 1F 35 */ bl DVDReadAbsAsyncPrio
|
||||
/* 80348DFC BB 41 00 20 */ lmw r26, 0x20(r1)
|
||||
/* 80348E00 38 60 00 01 */ li r3, 1
|
||||
/* 80348E04 80 01 00 3C */ lwz r0, 0x3c(r1)
|
||||
/* 80348E08 38 21 00 38 */ addi r1, r1, 0x38
|
||||
/* 80348E0C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80348E10 4E 80 00 20 */ blr
|
||||
|
|
@ -1,181 +0,0 @@
|
|||
lbl_80347C18:
|
||||
/* 80347C18 7C 08 02 A6 */ mflr r0
|
||||
/* 80347C1C 3C E0 CC 00 */ lis r7, 0xCC00 /* 0xCC006000@ha */
|
||||
/* 80347C20 90 01 00 04 */ stw r0, 4(r1)
|
||||
/* 80347C24 94 21 FF C0 */ stwu r1, -0x40(r1)
|
||||
/* 80347C28 BE C1 00 18 */ stmw r22, 0x18(r1)
|
||||
/* 80347C2C 3B 24 00 00 */ addi r25, r4, 0
|
||||
/* 80347C30 38 87 60 00 */ addi r4, r7, 0x6000 /* 0xCC006000@l */
|
||||
/* 80347C34 3C E0 80 45 */ lis r7, CommandList@ha /* 0x8044C830@ha */
|
||||
/* 80347C38 3B E7 C8 30 */ addi r31, r7, CommandList@l /* 0x8044C830@l */
|
||||
/* 80347C3C 3B 03 00 00 */ addi r24, r3, 0
|
||||
/* 80347C40 3B 45 00 00 */ addi r26, r5, 0
|
||||
/* 80347C44 3B DF 00 CC */ addi r30, r31, 0xcc
|
||||
/* 80347C48 7C DB 33 78 */ mr r27, r6
|
||||
/* 80347C4C 93 24 00 18 */ stw r25, 0x18(r4)
|
||||
/* 80347C50 93 1F 00 C4 */ stw r24, 0xc4(r31)
|
||||
/* 80347C54 93 3F 00 C8 */ stw r25, 0xc8(r31)
|
||||
/* 80347C58 93 5F 00 CC */ stw r26, 0xcc(r31)
|
||||
/* 80347C5C 80 0D 91 B4 */ lwz r0, WorkAroundType(r13)
|
||||
/* 80347C60 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80347C64 40 82 00 2C */ bne lbl_80347C90
|
||||
/* 80347C68 38 00 FF FF */ li r0, -1
|
||||
/* 80347C6C 90 1F 00 00 */ stw r0, 0(r31)
|
||||
/* 80347C70 38 00 00 00 */ li r0, 0
|
||||
/* 80347C74 38 78 00 00 */ addi r3, r24, 0
|
||||
/* 80347C78 90 0D 91 D4 */ stw r0, NextCommandNumber(r13)
|
||||
/* 80347C7C 38 99 00 00 */ addi r4, r25, 0
|
||||
/* 80347C80 38 BA 00 00 */ addi r5, r26, 0
|
||||
/* 80347C84 38 DB 00 00 */ addi r6, r27, 0
|
||||
/* 80347C88 4B FF FE 01 */ bl Read
|
||||
/* 80347C8C 48 00 02 0C */ b lbl_80347E98
|
||||
lbl_80347C90:
|
||||
/* 80347C90 80 0D 91 B4 */ lwz r0, WorkAroundType(r13)
|
||||
/* 80347C94 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 80347C98 40 82 02 00 */ bne lbl_80347E98
|
||||
/* 80347C9C 80 0D 84 58 */ lwz r0, FirstRead(r13)
|
||||
/* 80347CA0 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80347CA4 41 82 00 1C */ beq lbl_80347CC0
|
||||
/* 80347CA8 38 78 00 00 */ addi r3, r24, 0
|
||||
/* 80347CAC 38 99 00 00 */ addi r4, r25, 0
|
||||
/* 80347CB0 38 BA 00 00 */ addi r5, r26, 0
|
||||
/* 80347CB4 38 DB 00 00 */ addi r6, r27, 0
|
||||
/* 80347CB8 4B FF FE E1 */ bl SeekTwiceBeforeRead
|
||||
/* 80347CBC 48 00 01 DC */ b lbl_80347E98
|
||||
lbl_80347CC0:
|
||||
/* 80347CC0 3B BF 00 BC */ addi r29, r31, 0xbc
|
||||
/* 80347CC4 80 1E 00 00 */ lwz r0, 0(r30)
|
||||
/* 80347CC8 3B 9F 00 C0 */ addi r28, r31, 0xc0
|
||||
/* 80347CCC 80 7F 00 BC */ lwz r3, 0xbc(r31)
|
||||
/* 80347CD0 80 9F 00 C0 */ lwz r4, 0xc0(r31)
|
||||
/* 80347CD4 54 17 8B FE */ srwi r23, r0, 0xf
|
||||
/* 80347CD8 38 03 FF FF */ addi r0, r3, -1
|
||||
/* 80347CDC 7C 04 02 14 */ add r0, r4, r0
|
||||
/* 80347CE0 54 16 8B FE */ srwi r22, r0, 0xf
|
||||
/* 80347CE4 48 00 39 3D */ bl DVDGetCurrentDiskID
|
||||
/* 80347CE8 88 03 00 08 */ lbz r0, 8(r3)
|
||||
/* 80347CEC 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80347CF0 41 82 00 0C */ beq lbl_80347CFC
|
||||
/* 80347CF4 38 00 00 01 */ li r0, 1
|
||||
/* 80347CF8 48 00 00 08 */ b lbl_80347D00
|
||||
lbl_80347CFC:
|
||||
/* 80347CFC 38 00 00 00 */ li r0, 0
|
||||
lbl_80347D00:
|
||||
/* 80347D00 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80347D04 41 82 00 0C */ beq lbl_80347D10
|
||||
/* 80347D08 38 60 00 05 */ li r3, 5
|
||||
/* 80347D0C 48 00 00 08 */ b lbl_80347D14
|
||||
lbl_80347D10:
|
||||
/* 80347D10 38 60 00 0F */ li r3, 0xf
|
||||
lbl_80347D14:
|
||||
/* 80347D14 38 16 FF FE */ addi r0, r22, -2
|
||||
/* 80347D18 7C 17 00 40 */ cmplw r23, r0
|
||||
/* 80347D1C 41 81 00 14 */ bgt lbl_80347D30
|
||||
/* 80347D20 38 03 00 03 */ addi r0, r3, 3
|
||||
/* 80347D24 7C 16 02 14 */ add r0, r22, r0
|
||||
/* 80347D28 7C 17 00 40 */ cmplw r23, r0
|
||||
/* 80347D2C 40 80 00 0C */ bge lbl_80347D38
|
||||
lbl_80347D30:
|
||||
/* 80347D30 38 00 00 01 */ li r0, 1
|
||||
/* 80347D34 48 00 00 08 */ b lbl_80347D3C
|
||||
lbl_80347D38:
|
||||
/* 80347D38 38 00 00 00 */ li r0, 0
|
||||
lbl_80347D3C:
|
||||
/* 80347D3C 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80347D40 40 82 00 2C */ bne lbl_80347D6C
|
||||
/* 80347D44 38 00 FF FF */ li r0, -1
|
||||
/* 80347D48 90 1F 00 00 */ stw r0, 0(r31)
|
||||
/* 80347D4C 38 00 00 00 */ li r0, 0
|
||||
/* 80347D50 38 78 00 00 */ addi r3, r24, 0
|
||||
/* 80347D54 90 0D 91 D4 */ stw r0, NextCommandNumber(r13)
|
||||
/* 80347D58 38 99 00 00 */ addi r4, r25, 0
|
||||
/* 80347D5C 38 BA 00 00 */ addi r5, r26, 0
|
||||
/* 80347D60 38 DB 00 00 */ addi r6, r27, 0
|
||||
/* 80347D64 4B FF FD 25 */ bl Read
|
||||
/* 80347D68 48 00 01 30 */ b lbl_80347E98
|
||||
lbl_80347D6C:
|
||||
/* 80347D6C 80 7D 00 00 */ lwz r3, 0(r29)
|
||||
/* 80347D70 80 9C 00 00 */ lwz r4, 0(r28)
|
||||
/* 80347D74 38 63 FF FF */ addi r3, r3, -1
|
||||
/* 80347D78 80 1E 00 00 */ lwz r0, 0(r30)
|
||||
/* 80347D7C 7C 64 1A 14 */ add r3, r4, r3
|
||||
/* 80347D80 54 63 8B FE */ srwi r3, r3, 0xf
|
||||
/* 80347D84 54 04 8B FE */ srwi r4, r0, 0xf
|
||||
/* 80347D88 7C 03 20 40 */ cmplw r3, r4
|
||||
/* 80347D8C 41 82 00 10 */ beq lbl_80347D9C
|
||||
/* 80347D90 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 80347D94 7C 00 20 40 */ cmplw r0, r4
|
||||
/* 80347D98 40 82 00 EC */ bne lbl_80347E84
|
||||
lbl_80347D9C:
|
||||
/* 80347D9C 4B FF A9 81 */ bl __OSGetSystemTime
|
||||
/* 80347DA0 3C A0 80 00 */ lis r5, 0x8000 /* 0x800000F8@ha */
|
||||
/* 80347DA4 81 0D 91 C0 */ lwz r8, LastReadFinished(r13)
|
||||
/* 80347DA8 80 05 00 F8 */ lwz r0, 0x00F8(r5) /* 0x800000F8@l */
|
||||
/* 80347DAC 3C A0 10 62 */ lis r5, 0x1062 /* 0x10624DD3@ha */
|
||||
/* 80347DB0 81 2D 91 C4 */ lwz r9, LastReadFinished+0x4(r13)
|
||||
/* 80347DB4 38 C0 00 00 */ li r6, 0
|
||||
/* 80347DB8 54 07 F0 BE */ srwi r7, r0, 2
|
||||
/* 80347DBC 38 05 4D D3 */ addi r0, r5, 0x4DD3 /* 0x10624DD3@l */
|
||||
/* 80347DC0 7C 00 38 16 */ mulhwu r0, r0, r7
|
||||
/* 80347DC4 54 00 D1 BE */ srwi r0, r0, 6
|
||||
/* 80347DC8 7D 29 20 10 */ subfc r9, r9, r4
|
||||
/* 80347DCC 7D 08 19 10 */ subfe r8, r8, r3
|
||||
/* 80347DD0 1C A0 00 05 */ mulli r5, r0, 5
|
||||
/* 80347DD4 6C C4 80 00 */ xoris r4, r6, 0x8000
|
||||
/* 80347DD8 6D 03 80 00 */ xoris r3, r8, 0x8000
|
||||
/* 80347DDC 7C 09 28 10 */ subfc r0, r9, r5
|
||||
/* 80347DE0 7C 63 21 10 */ subfe r3, r3, r4
|
||||
/* 80347DE4 7C 64 21 10 */ subfe r3, r4, r4
|
||||
/* 80347DE8 7C 63 00 D1 */ neg. r3, r3
|
||||
/* 80347DEC 41 82 00 28 */ beq lbl_80347E14
|
||||
/* 80347DF0 38 00 FF FF */ li r0, -1
|
||||
/* 80347DF4 90 1F 00 00 */ stw r0, 0(r31)
|
||||
/* 80347DF8 38 78 00 00 */ addi r3, r24, 0
|
||||
/* 80347DFC 38 99 00 00 */ addi r4, r25, 0
|
||||
/* 80347E00 90 CD 91 D4 */ stw r6, NextCommandNumber(r13)
|
||||
/* 80347E04 38 BA 00 00 */ addi r5, r26, 0
|
||||
/* 80347E08 38 DB 00 00 */ addi r6, r27, 0
|
||||
/* 80347E0C 4B FF FC 7D */ bl Read
|
||||
/* 80347E10 48 00 00 88 */ b lbl_80347E98
|
||||
lbl_80347E14:
|
||||
/* 80347E14 38 00 00 01 */ li r0, 1
|
||||
/* 80347E18 90 1F 00 00 */ stw r0, 0(r31)
|
||||
/* 80347E1C 3C 60 43 1C */ lis r3, 0x431C /* 0x431BDE83@ha */
|
||||
/* 80347E20 38 03 DE 83 */ addi r0, r3, 0xDE83 /* 0x431BDE83@l */
|
||||
/* 80347E24 93 1F 00 04 */ stw r24, 4(r31)
|
||||
/* 80347E28 7C 00 38 16 */ mulhwu r0, r0, r7
|
||||
/* 80347E2C 93 3F 00 08 */ stw r25, 8(r31)
|
||||
/* 80347E30 93 5F 00 0C */ stw r26, 0xc(r31)
|
||||
/* 80347E34 54 00 8B FE */ srwi r0, r0, 0xf
|
||||
/* 80347E38 1C 60 01 F4 */ mulli r3, r0, 0x1f4
|
||||
/* 80347E3C 93 7F 00 10 */ stw r27, 0x10(r31)
|
||||
/* 80347E40 38 00 FF FF */ li r0, -1
|
||||
/* 80347E44 90 1F 00 14 */ stw r0, 0x14(r31)
|
||||
/* 80347E48 7C A9 28 10 */ subfc r5, r9, r5
|
||||
/* 80347E4C 7C 88 31 10 */ subfe r4, r8, r6
|
||||
/* 80347E50 54 60 E8 FE */ srwi r0, r3, 3
|
||||
/* 80347E54 90 CD 91 D4 */ stw r6, NextCommandNumber(r13)
|
||||
/* 80347E58 7E E5 00 14 */ addc r23, r5, r0
|
||||
/* 80347E5C 7E C4 31 14 */ adde r22, r4, r6
|
||||
/* 80347E60 38 7F 00 40 */ addi r3, r31, 0x40
|
||||
/* 80347E64 4B FF 2A 95 */ bl OSCreateAlarm
|
||||
/* 80347E68 3C 60 80 34 */ lis r3, AlarmHandler@ha /* 0x80347994@ha */
|
||||
/* 80347E6C 38 E3 79 94 */ addi r7, r3, AlarmHandler@l /* 0x80347994@l */
|
||||
/* 80347E70 38 D7 00 00 */ addi r6, r23, 0
|
||||
/* 80347E74 38 B6 00 00 */ addi r5, r22, 0
|
||||
/* 80347E78 38 7F 00 40 */ addi r3, r31, 0x40
|
||||
/* 80347E7C 4B FF 2C DD */ bl OSSetAlarm
|
||||
/* 80347E80 48 00 00 18 */ b lbl_80347E98
|
||||
lbl_80347E84:
|
||||
/* 80347E84 38 78 00 00 */ addi r3, r24, 0
|
||||
/* 80347E88 38 99 00 00 */ addi r4, r25, 0
|
||||
/* 80347E8C 38 BA 00 00 */ addi r5, r26, 0
|
||||
/* 80347E90 38 DB 00 00 */ addi r6, r27, 0
|
||||
/* 80347E94 4B FF FD 05 */ bl SeekTwiceBeforeRead
|
||||
lbl_80347E98:
|
||||
/* 80347E98 BA C1 00 18 */ lmw r22, 0x18(r1)
|
||||
/* 80347E9C 38 60 00 01 */ li r3, 1
|
||||
/* 80347EA0 80 01 00 44 */ lwz r0, 0x44(r1)
|
||||
/* 80347EA4 38 21 00 40 */ addi r1, r1, 0x40
|
||||
/* 80347EA8 7C 08 03 A6 */ mtlr r0
|
||||
/* 80347EAC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
lbl_802CDE54:
|
||||
/* 802CDE54 88 E4 00 03 */ lbz r7, 3(r4)
|
||||
/* 802CDE58 88 C4 00 02 */ lbz r6, 2(r4)
|
||||
/* 802CDE5C 88 A4 00 00 */ lbz r5, 0(r4)
|
||||
/* 802CDE60 88 04 00 01 */ lbz r0, 1(r4)
|
||||
/* 802CDE64 54 00 80 1E */ slwi r0, r0, 0x10
|
||||
/* 802CDE68 50 A0 C0 0E */ rlwimi r0, r5, 0x18, 0, 7
|
||||
/* 802CDE6C 50 C0 44 2E */ rlwimi r0, r6, 8, 0x10, 0x17
|
||||
/* 802CDE70 7C E5 03 78 */ or r5, r7, r0
|
||||
/* 802CDE74 38 00 00 10 */ li r0, 0x10
|
||||
/* 802CDE78 3C 80 CC 01 */ lis r4, 0xCC01 /* 0xCC008000@ha */
|
||||
/* 802CDE7C 98 04 80 00 */ stb r0, 0x8000(r4) /* 0xCC008000@l */
|
||||
/* 802CDE80 38 00 00 00 */ li r0, 0
|
||||
/* 802CDE84 B0 04 80 00 */ sth r0, -0x8000(r4)
|
||||
/* 802CDE88 54 63 07 FE */ clrlwi r3, r3, 0x1f
|
||||
/* 802CDE8C 38 03 10 0A */ addi r0, r3, 0x100a
|
||||
/* 802CDE90 B0 04 80 00 */ sth r0, -0x8000(r4)
|
||||
/* 802CDE94 90 A4 80 00 */ stw r5, -0x8000(r4)
|
||||
/* 802CDE98 4E 80 00 20 */ blr
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
lbl_802CE004:
|
||||
/* 802CE004 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CE008 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802CE00C 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802CE010 38 00 00 61 */ li r0, 0x61
|
||||
/* 802CE014 3D 40 CC 01 */ lis r10, 0xCC01 /* 0xCC008000@ha */
|
||||
/* 802CE018 98 0A 80 00 */ stb r0, 0x8000(r10) /* 0xCC008000@l */
|
||||
/* 802CE01C 3B C0 00 00 */ li r30, 0
|
||||
/* 802CE020 2C 03 00 01 */ cmpwi r3, 1
|
||||
/* 802CE024 41 82 00 0C */ beq lbl_802CE030
|
||||
/* 802CE028 2C 03 00 03 */ cmpwi r3, 3
|
||||
/* 802CE02C 40 82 00 08 */ bne lbl_802CE034
|
||||
lbl_802CE030:
|
||||
/* 802CE030 3B C0 00 01 */ li r30, 1
|
||||
lbl_802CE034:
|
||||
/* 802CE034 54 DF 60 26 */ slwi r31, r6, 0xc
|
||||
/* 802CE038 20 03 00 03 */ subfic r0, r3, 3
|
||||
/* 802CE03C 7C 00 00 34 */ cntlzw r0, r0
|
||||
/* 802CE040 54 0C 33 68 */ rlwinm r12, r0, 6, 0xd, 0x14
|
||||
/* 802CE044 54 8B 40 2E */ slwi r11, r4, 8
|
||||
/* 802CE048 54 AA 28 34 */ slwi r10, r5, 5
|
||||
/* 802CE04C 55 06 25 36 */ rlwinm r6, r8, 4, 0x14, 0x1b
|
||||
/* 802CE050 54 E5 1D 78 */ rlwinm r5, r7, 3, 0x15, 0x1c
|
||||
/* 802CE054 55 24 15 BA */ rlwinm r4, r9, 2, 0x16, 0x1d
|
||||
/* 802CE058 20 03 00 02 */ subfic r0, r3, 2
|
||||
/* 802CE05C 7C 00 00 34 */ cntlzw r0, r0
|
||||
/* 802CE060 54 03 E5 FC */ rlwinm r3, r0, 0x1c, 0x17, 0x1e
|
||||
/* 802CE064 57 C0 06 3E */ clrlwi r0, r30, 0x18
|
||||
/* 802CE068 7C 60 03 78 */ or r0, r3, r0
|
||||
/* 802CE06C 7C 80 03 78 */ or r0, r4, r0
|
||||
/* 802CE070 7C A0 03 78 */ or r0, r5, r0
|
||||
/* 802CE074 7C C0 03 78 */ or r0, r6, r0
|
||||
/* 802CE078 7D 40 03 78 */ or r0, r10, r0
|
||||
/* 802CE07C 7D 60 03 78 */ or r0, r11, r0
|
||||
/* 802CE080 7D 80 03 78 */ or r0, r12, r0
|
||||
/* 802CE084 7F E0 03 78 */ or r0, r31, r0
|
||||
/* 802CE088 64 00 41 00 */ oris r0, r0, 0x4100
|
||||
/* 802CE08C 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */
|
||||
/* 802CE090 90 03 80 00 */ stw r0, 0x8000(r3) /* 0xCC008000@l */
|
||||
/* 802CE094 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802CE098 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802CE09C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CE0A0 4E 80 00 20 */ blr
|
||||
|
|
@ -1,99 +0,0 @@
|
|||
lbl_802CDE9C:
|
||||
/* 802CDE9C 94 21 FF D0 */ stwu r1, -0x30(r1)
|
||||
/* 802CDEA0 7C 08 02 A6 */ mflr r0
|
||||
/* 802CDEA4 90 01 00 34 */ stw r0, 0x34(r1)
|
||||
/* 802CDEA8 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 802CDEAC 48 09 43 2D */ bl _savegpr_28
|
||||
/* 802CDEB0 7C 7C 1B 78 */ mr r28, r3
|
||||
/* 802CDEB4 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802CDEB8 FC 04 18 00 */ fcmpu cr0, f4, f3
|
||||
/* 802CDEBC 41 82 00 0C */ beq lbl_802CDEC8
|
||||
/* 802CDEC0 FC 02 08 00 */ fcmpu cr0, f2, f1
|
||||
/* 802CDEC4 40 82 00 14 */ bne lbl_802CDED8
|
||||
lbl_802CDEC8:
|
||||
/* 802CDEC8 C0 A2 C5 68 */ lfs f5, lit_293(r2)
|
||||
/* 802CDECC C0 62 C5 6C */ lfs f3, lit_294(r2)
|
||||
/* 802CDED0 D0 A1 00 0C */ stfs f5, 0xc(r1)
|
||||
/* 802CDED4 48 00 00 24 */ b lbl_802CDEF8
|
||||
lbl_802CDED8:
|
||||
/* 802CDED8 EC A4 00 F2 */ fmuls f5, f4, f3
|
||||
/* 802CDEDC EC 64 18 28 */ fsubs f3, f4, f3
|
||||
/* 802CDEE0 EC 42 08 28 */ fsubs f2, f2, f1
|
||||
/* 802CDEE4 EC 03 00 B2 */ fmuls f0, f3, f2
|
||||
/* 802CDEE8 EC A5 00 24 */ fdivs f5, f5, f0
|
||||
/* 802CDEEC EC 64 18 24 */ fdivs f3, f4, f3
|
||||
/* 802CDEF0 EC 01 10 24 */ fdivs f0, f1, f2
|
||||
/* 802CDEF4 D0 01 00 0C */ stfs f0, 0xc(r1)
|
||||
lbl_802CDEF8:
|
||||
/* 802CDEF8 3B C0 00 01 */ li r30, 1
|
||||
/* 802CDEFC C0 22 C5 6C */ lfs f1, lit_294(r2)
|
||||
/* 802CDF00 C8 02 C5 70 */ lfd f0, lit_295(r2)
|
||||
/* 802CDF04 48 00 00 0C */ b lbl_802CDF10
|
||||
lbl_802CDF08:
|
||||
/* 802CDF08 EC 63 00 72 */ fmuls f3, f3, f1
|
||||
/* 802CDF0C 3B DE 00 01 */ addi r30, r30, 1
|
||||
lbl_802CDF10:
|
||||
/* 802CDF10 FC 03 00 40 */ fcmpo cr0, f3, f0
|
||||
/* 802CDF14 41 81 FF F4 */ bgt lbl_802CDF08
|
||||
/* 802CDF18 C8 02 C5 80 */ lfd f0, lit_297(r2)
|
||||
/* 802CDF1C C0 42 C5 78 */ lfs f2, lit_296(r2)
|
||||
/* 802CDF20 C0 22 C5 68 */ lfs f1, lit_293(r2)
|
||||
/* 802CDF24 48 00 00 0C */ b lbl_802CDF30
|
||||
lbl_802CDF28:
|
||||
/* 802CDF28 EC 63 00 B2 */ fmuls f3, f3, f2
|
||||
/* 802CDF2C 3B DE FF FF */ addi r30, r30, -1
|
||||
lbl_802CDF30:
|
||||
/* 802CDF30 FC 03 08 40 */ fcmpo cr0, f3, f1
|
||||
/* 802CDF34 40 81 00 0C */ ble lbl_802CDF40
|
||||
/* 802CDF38 FC 03 00 40 */ fcmpo cr0, f3, f0
|
||||
/* 802CDF3C 41 80 FF EC */ blt lbl_802CDF28
|
||||
lbl_802CDF40:
|
||||
/* 802CDF40 38 00 00 01 */ li r0, 1
|
||||
/* 802CDF44 7C 00 F0 30 */ slw r0, r0, r30
|
||||
/* 802CDF48 C8 22 C5 90 */ lfd f1, lit_301(r2)
|
||||
/* 802CDF4C 6C 00 80 00 */ xoris r0, r0, 0x8000
|
||||
/* 802CDF50 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CDF54 3C 00 43 30 */ lis r0, 0x4330
|
||||
/* 802CDF58 90 01 00 10 */ stw r0, 0x10(r1)
|
||||
/* 802CDF5C C8 01 00 10 */ lfd f0, 0x10(r1)
|
||||
/* 802CDF60 EC 00 08 28 */ fsubs f0, f0, f1
|
||||
/* 802CDF64 EC 05 00 24 */ fdivs f0, f5, f0
|
||||
/* 802CDF68 D0 01 00 08 */ stfs f0, 8(r1)
|
||||
/* 802CDF6C 80 01 00 08 */ lwz r0, 8(r1)
|
||||
/* 802CDF70 83 A1 00 0C */ lwz r29, 0xc(r1)
|
||||
/* 802CDF74 38 80 00 61 */ li r4, 0x61
|
||||
/* 802CDF78 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */
|
||||
/* 802CDF7C 98 83 80 00 */ stb r4, 0x8000(r3) /* 0xCC008000@l */
|
||||
/* 802CDF80 54 00 A3 3E */ srwi r0, r0, 0xc
|
||||
/* 802CDF84 64 00 EE 00 */ oris r0, r0, 0xee00
|
||||
/* 802CDF88 90 03 80 00 */ stw r0, -0x8000(r3)
|
||||
/* 802CDF8C 98 83 80 00 */ stb r4, -0x8000(r3)
|
||||
/* 802CDF90 C0 02 C5 88 */ lfs f0, lit_298(r2)
|
||||
/* 802CDF94 EC 20 00 F2 */ fmuls f1, f0, f3
|
||||
/* 802CDF98 48 09 41 15 */ bl __cvt_fp2unsigned
|
||||
/* 802CDF9C 64 60 EF 00 */ oris r0, r3, 0xef00
|
||||
/* 802CDFA0 3C C0 CC 01 */ lis r6, 0xCC01 /* 0xCC008000@ha */
|
||||
/* 802CDFA4 90 06 80 00 */ stw r0, 0x8000(r6) /* 0xCC008000@l */
|
||||
/* 802CDFA8 38 A0 00 61 */ li r5, 0x61
|
||||
/* 802CDFAC 98 A6 80 00 */ stb r5, -0x8000(r6)
|
||||
/* 802CDFB0 67 C0 F0 00 */ oris r0, r30, 0xf000
|
||||
/* 802CDFB4 90 06 80 00 */ stw r0, -0x8000(r6)
|
||||
/* 802CDFB8 98 A6 80 00 */ stb r5, -0x8000(r6)
|
||||
/* 802CDFBC 57 80 A8 14 */ slwi r0, r28, 0x15
|
||||
/* 802CDFC0 53 A0 A3 3E */ rlwimi r0, r29, 0x14, 0xc, 0x1f
|
||||
/* 802CDFC4 64 00 F1 00 */ oris r0, r0, 0xf100
|
||||
/* 802CDFC8 90 06 80 00 */ stw r0, -0x8000(r6)
|
||||
/* 802CDFCC 88 9F 00 00 */ lbz r4, 0(r31)
|
||||
/* 802CDFD0 88 7F 00 02 */ lbz r3, 2(r31)
|
||||
/* 802CDFD4 88 1F 00 01 */ lbz r0, 1(r31)
|
||||
/* 802CDFD8 50 03 44 2E */ rlwimi r3, r0, 8, 0x10, 0x17
|
||||
/* 802CDFDC 50 83 82 1E */ rlwimi r3, r4, 0x10, 8, 0xf
|
||||
/* 802CDFE0 64 60 F2 00 */ oris r0, r3, 0xf200
|
||||
/* 802CDFE4 98 A6 80 00 */ stb r5, -0x8000(r6)
|
||||
/* 802CDFE8 90 06 80 00 */ stw r0, -0x8000(r6)
|
||||
/* 802CDFEC 39 61 00 30 */ addi r11, r1, 0x30
|
||||
/* 802CDFF0 48 09 42 35 */ bl _restgpr_28
|
||||
/* 802CDFF4 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 802CDFF8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CDFFC 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 802CE000 4E 80 00 20 */ blr
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
lbl_802CE0A4:
|
||||
/* 802CE0A4 38 00 00 61 */ li r0, 0x61
|
||||
/* 802CE0A8 3C C0 CC 01 */ lis r6, 0xCC01 /* 0xCC008000@ha */
|
||||
/* 802CE0AC 98 06 80 00 */ stb r0, 0x8000(r6) /* 0xCC008000@l */
|
||||
/* 802CE0B0 54 A5 25 36 */ rlwinm r5, r5, 4, 0x14, 0x1b
|
||||
/* 802CE0B4 54 63 06 3E */ clrlwi r3, r3, 0x18
|
||||
/* 802CE0B8 54 80 08 3C */ slwi r0, r4, 1
|
||||
/* 802CE0BC 7C 60 03 78 */ or r0, r3, r0
|
||||
/* 802CE0C0 7C A0 03 78 */ or r0, r5, r0
|
||||
/* 802CE0C4 64 00 40 00 */ oris r0, r0, 0x4000
|
||||
/* 802CE0C8 90 06 80 00 */ stw r0, -0x8000(r6)
|
||||
/* 802CE0CC 4E 80 00 20 */ blr
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
lbl_802CE0D0:
|
||||
/* 802CE0D0 A8 C4 00 00 */ lha r6, 0(r4)
|
||||
/* 802CE0D4 A8 04 00 06 */ lha r0, 6(r4)
|
||||
/* 802CE0D8 54 05 62 66 */ rlwinm r5, r0, 0xc, 9, 0x13
|
||||
/* 802CE0DC 50 C5 05 7E */ rlwimi r5, r6, 0, 0x15, 0x1f
|
||||
/* 802CE0E0 54 66 08 3C */ slwi r6, r3, 1
|
||||
/* 802CE0E4 38 06 00 E0 */ addi r0, r6, 0xe0
|
||||
/* 802CE0E8 7C A7 2B 78 */ mr r7, r5
|
||||
/* 802CE0EC 50 07 C0 0E */ rlwimi r7, r0, 0x18, 0, 7
|
||||
/* 802CE0F0 A8 A4 00 04 */ lha r5, 4(r4)
|
||||
/* 802CE0F4 A8 04 00 02 */ lha r0, 2(r4)
|
||||
/* 802CE0F8 54 03 62 66 */ rlwinm r3, r0, 0xc, 9, 0x13
|
||||
/* 802CE0FC 50 A3 05 7E */ rlwimi r3, r5, 0, 0x15, 0x1f
|
||||
/* 802CE100 38 06 00 E1 */ addi r0, r6, 0xe1
|
||||
/* 802CE104 7C 64 1B 78 */ mr r4, r3
|
||||
/* 802CE108 50 04 C0 0E */ rlwimi r4, r0, 0x18, 0, 7
|
||||
/* 802CE10C 38 00 00 61 */ li r0, 0x61
|
||||
/* 802CE110 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */
|
||||
/* 802CE114 98 03 80 00 */ stb r0, 0x8000(r3) /* 0xCC008000@l */
|
||||
/* 802CE118 90 E3 80 00 */ stw r7, -0x8000(r3)
|
||||
/* 802CE11C 98 03 80 00 */ stb r0, -0x8000(r3)
|
||||
/* 802CE120 90 83 80 00 */ stw r4, -0x8000(r3)
|
||||
/* 802CE124 98 03 80 00 */ stb r0, -0x8000(r3)
|
||||
/* 802CE128 90 83 80 00 */ stw r4, -0x8000(r3)
|
||||
/* 802CE12C 98 03 80 00 */ stb r0, -0x8000(r3)
|
||||
/* 802CE130 90 83 80 00 */ stw r4, -0x8000(r3)
|
||||
/* 802CE134 4E 80 00 20 */ blr
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
lbl_80346FF8:
|
||||
/* 80346FF8 ED 04 18 28 */ fsubs f8, f4, f3
|
||||
/* 80346FFC C1 22 CB 28 */ lfs f9, lit_99(r2)
|
||||
/* 80347000 EC 01 10 28 */ fsubs f0, f1, f2
|
||||
/* 80347004 C0 E2 CB 2C */ lfs f7, lit_100(r2)
|
||||
/* 80347008 EC 64 18 2A */ fadds f3, f4, f3
|
||||
/* 8034700C ED 49 40 24 */ fdivs f10, f9, f8
|
||||
/* 80347010 ED 09 00 24 */ fdivs f8, f9, f0
|
||||
/* 80347014 EC 87 02 B2 */ fmuls f4, f7, f10
|
||||
/* 80347018 FC 60 18 50 */ fneg f3, f3
|
||||
/* 8034701C EC 06 28 28 */ fsubs f0, f6, f5
|
||||
/* 80347020 D0 83 00 00 */ stfs f4, 0(r3)
|
||||
/* 80347024 EC 21 10 2A */ fadds f1, f1, f2
|
||||
/* 80347028 EC 4A 00 F2 */ fmuls f2, f10, f3
|
||||
/* 8034702C C0 62 CB 30 */ lfs f3, lit_101(r2)
|
||||
/* 80347030 FC 20 08 50 */ fneg f1, f1
|
||||
/* 80347034 D0 63 00 04 */ stfs f3, 4(r3)
|
||||
/* 80347038 EC 89 00 24 */ fdivs f4, f9, f0
|
||||
/* 8034703C D0 63 00 08 */ stfs f3, 8(r3)
|
||||
/* 80347040 D0 43 00 0C */ stfs f2, 0xc(r3)
|
||||
/* 80347044 D0 63 00 10 */ stfs f3, 0x10(r3)
|
||||
/* 80347048 EC 47 02 32 */ fmuls f2, f7, f8
|
||||
/* 8034704C FC 00 30 50 */ fneg f0, f6
|
||||
/* 80347050 EC 28 00 72 */ fmuls f1, f8, f1
|
||||
/* 80347054 D0 43 00 14 */ stfs f2, 0x14(r3)
|
||||
/* 80347058 EC 00 01 32 */ fmuls f0, f0, f4
|
||||
/* 8034705C D0 63 00 18 */ stfs f3, 0x18(r3)
|
||||
/* 80347060 D0 23 00 1C */ stfs f1, 0x1c(r3)
|
||||
/* 80347064 D0 63 00 20 */ stfs f3, 0x20(r3)
|
||||
/* 80347068 D0 63 00 24 */ stfs f3, 0x24(r3)
|
||||
/* 8034706C C0 22 CB 34 */ lfs f1, lit_102(r2)
|
||||
/* 80347070 EC 21 01 32 */ fmuls f1, f1, f4
|
||||
/* 80347074 D0 23 00 28 */ stfs f1, 0x28(r3)
|
||||
/* 80347078 D0 03 00 2C */ stfs f0, 0x2c(r3)
|
||||
/* 8034707C D0 63 00 30 */ stfs f3, 0x30(r3)
|
||||
/* 80347080 D0 63 00 34 */ stfs f3, 0x34(r3)
|
||||
/* 80347084 D0 63 00 38 */ stfs f3, 0x38(r3)
|
||||
/* 80347088 D1 23 00 3C */ stfs f9, 0x3c(r3)
|
||||
/* 8034708C 4E 80 00 20 */ blr
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
lbl_80346F28:
|
||||
/* 80346F28 7C 08 02 A6 */ mflr r0
|
||||
/* 80346F2C 90 01 00 04 */ stw r0, 4(r1)
|
||||
/* 80346F30 94 21 FF C0 */ stwu r1, -0x40(r1)
|
||||
/* 80346F34 DB E1 00 38 */ stfd f31, 0x38(r1)
|
||||
/* 80346F38 FF E0 20 90 */ fmr f31, f4
|
||||
/* 80346F3C DB C1 00 30 */ stfd f30, 0x30(r1)
|
||||
/* 80346F40 FF C0 18 90 */ fmr f30, f3
|
||||
/* 80346F44 DB A1 00 28 */ stfd f29, 0x28(r1)
|
||||
/* 80346F48 FF A0 10 90 */ fmr f29, f2
|
||||
/* 80346F4C 93 E1 00 24 */ stw r31, 0x24(r1)
|
||||
/* 80346F50 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80346F54 C0 A2 CB 38 */ lfs f5, lit_105(r2)
|
||||
/* 80346F58 C0 02 CB 3C */ lfs f0, lit_106(r2)
|
||||
/* 80346F5C EC 25 00 72 */ fmuls f1, f5, f1
|
||||
/* 80346F60 EC 20 00 72 */ fmuls f1, f0, f1
|
||||
/* 80346F64 48 02 5A 61 */ bl tanf
|
||||
/* 80346F68 C0 62 CB 28 */ lfs f3, lit_99(r2)
|
||||
/* 80346F6C EC 5F F0 28 */ fsubs f2, f31, f30
|
||||
/* 80346F70 EC 1F 07 B2 */ fmuls f0, f31, f30
|
||||
/* 80346F74 EC 83 08 24 */ fdivs f4, f3, f1
|
||||
/* 80346F78 EC 24 E8 24 */ fdivs f1, f4, f29
|
||||
/* 80346F7C D0 3F 00 00 */ stfs f1, 0(r31)
|
||||
/* 80346F80 EC 63 10 24 */ fdivs f3, f3, f2
|
||||
/* 80346F84 C0 42 CB 30 */ lfs f2, lit_101(r2)
|
||||
/* 80346F88 D0 5F 00 04 */ stfs f2, 4(r31)
|
||||
/* 80346F8C D0 5F 00 08 */ stfs f2, 8(r31)
|
||||
/* 80346F90 D0 5F 00 0C */ stfs f2, 0xc(r31)
|
||||
/* 80346F94 D0 5F 00 10 */ stfs f2, 0x10(r31)
|
||||
/* 80346F98 FC 20 F0 50 */ fneg f1, f30
|
||||
/* 80346F9C FC 00 00 50 */ fneg f0, f0
|
||||
/* 80346FA0 D0 9F 00 14 */ stfs f4, 0x14(r31)
|
||||
/* 80346FA4 EC 21 00 F2 */ fmuls f1, f1, f3
|
||||
/* 80346FA8 D0 5F 00 18 */ stfs f2, 0x18(r31)
|
||||
/* 80346FAC EC 03 00 32 */ fmuls f0, f3, f0
|
||||
/* 80346FB0 D0 5F 00 1C */ stfs f2, 0x1c(r31)
|
||||
/* 80346FB4 D0 5F 00 20 */ stfs f2, 0x20(r31)
|
||||
/* 80346FB8 D0 5F 00 24 */ stfs f2, 0x24(r31)
|
||||
/* 80346FBC D0 3F 00 28 */ stfs f1, 0x28(r31)
|
||||
/* 80346FC0 D0 1F 00 2C */ stfs f0, 0x2c(r31)
|
||||
/* 80346FC4 D0 5F 00 30 */ stfs f2, 0x30(r31)
|
||||
/* 80346FC8 D0 5F 00 34 */ stfs f2, 0x34(r31)
|
||||
/* 80346FCC C0 02 CB 34 */ lfs f0, lit_102(r2)
|
||||
/* 80346FD0 D0 1F 00 38 */ stfs f0, 0x38(r31)
|
||||
/* 80346FD4 D0 5F 00 3C */ stfs f2, 0x3c(r31)
|
||||
/* 80346FD8 80 01 00 44 */ lwz r0, 0x44(r1)
|
||||
/* 80346FDC CB E1 00 38 */ lfd f31, 0x38(r1)
|
||||
/* 80346FE0 CB C1 00 30 */ lfd f30, 0x30(r1)
|
||||
/* 80346FE4 CB A1 00 28 */ lfd f29, 0x28(r1)
|
||||
/* 80346FE8 83 E1 00 24 */ lwz r31, 0x24(r1)
|
||||
/* 80346FEC 38 21 00 40 */ addi r1, r1, 0x40
|
||||
/* 80346FF0 7C 08 03 A6 */ mtlr r0
|
||||
/* 80346FF4 4E 80 00 20 */ blr
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
lbl_80016FB8:
|
||||
/* 80016FB8 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80016FBC 7C 08 02 A6 */ mflr r0
|
||||
/* 80016FC0 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80016FC4 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 80016FC8 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80016FCC 88 63 1F BC */ lbz r3, 0x1fbc(r3)
|
||||
/* 80016FD0 38 81 00 0C */ addi r4, r1, 0xc
|
||||
/* 80016FD4 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 80016FD8 48 33 FA 75 */ bl CARDProbeEx
|
||||
/* 80016FDC 2C 03 FF FD */ cmpwi r3, -3
|
||||
/* 80016FE0 40 82 00 10 */ bne lbl_80016FF0
|
||||
/* 80016FE4 38 00 00 00 */ li r0, 0
|
||||
/* 80016FE8 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
/* 80016FEC 48 00 00 B8 */ b lbl_800170A4
|
||||
lbl_80016FF0:
|
||||
/* 80016FF0 2C 03 FF 80 */ cmpwi r3, -128
|
||||
/* 80016FF4 40 82 00 10 */ bne lbl_80017004
|
||||
/* 80016FF8 38 00 00 0C */ li r0, 0xc
|
||||
/* 80016FFC 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
/* 80017000 48 00 00 A4 */ b lbl_800170A4
|
||||
lbl_80017004:
|
||||
/* 80017004 2C 03 FF FE */ cmpwi r3, -2
|
||||
/* 80017008 40 82 00 10 */ bne lbl_80017018
|
||||
/* 8001700C 38 00 00 0A */ li r0, 0xa
|
||||
/* 80017010 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
/* 80017014 48 00 00 90 */ b lbl_800170A4
|
||||
lbl_80017018:
|
||||
/* 80017018 80 01 00 08 */ lwz r0, 8(r1)
|
||||
/* 8001701C 2C 00 20 00 */ cmpwi r0, 0x2000
|
||||
/* 80017020 41 82 00 10 */ beq lbl_80017030
|
||||
/* 80017024 38 00 00 0B */ li r0, 0xb
|
||||
/* 80017028 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
/* 8001702C 48 00 00 78 */ b lbl_800170A4
|
||||
lbl_80017030:
|
||||
/* 80017030 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80017034 48 00 01 15 */ bl mount__15mDoMemCd_Ctrl_cFv
|
||||
/* 80017038 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8001703C 41 82 00 68 */ beq lbl_800170A4
|
||||
/* 80017040 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80017044 48 00 02 31 */ bl loadfile__15mDoMemCd_Ctrl_cFv
|
||||
/* 80017048 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8001704C 41 82 00 10 */ beq lbl_8001705C
|
||||
/* 80017050 38 00 00 01 */ li r0, 1
|
||||
/* 80017054 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
/* 80017058 48 00 00 4C */ b lbl_800170A4
|
||||
lbl_8001705C:
|
||||
/* 8001705C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80017060 48 00 02 75 */ bl checkspace__15mDoMemCd_Ctrl_cFv
|
||||
/* 80017064 2C 03 00 02 */ cmpwi r3, 2
|
||||
/* 80017068 41 82 00 34 */ beq lbl_8001709C
|
||||
/* 8001706C 40 80 00 38 */ bge lbl_800170A4
|
||||
/* 80017070 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80017074 41 82 00 10 */ beq lbl_80017084
|
||||
/* 80017078 40 80 00 18 */ bge lbl_80017090
|
||||
/* 8001707C 48 00 00 28 */ b lbl_800170A4
|
||||
/* 80017080 48 00 00 24 */ b lbl_800170A4
|
||||
lbl_80017084:
|
||||
/* 80017084 38 00 00 02 */ li r0, 2
|
||||
/* 80017088 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
/* 8001708C 48 00 00 18 */ b lbl_800170A4
|
||||
lbl_80017090:
|
||||
/* 80017090 38 00 00 08 */ li r0, 8
|
||||
/* 80017094 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
/* 80017098 48 00 00 0C */ b lbl_800170A4
|
||||
lbl_8001709C:
|
||||
/* 8001709C 38 00 00 09 */ li r0, 9
|
||||
/* 800170A0 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
lbl_800170A4:
|
||||
/* 800170A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 800170A8 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 800170AC 7C 08 03 A6 */ mtlr r0
|
||||
/* 800170B0 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 800170B4 4E 80 00 20 */ blr
|
||||
|
|
@ -1,84 +0,0 @@
|
|||
lbl_80017148:
|
||||
/* 80017148 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 8001714C 7C 08 02 A6 */ mflr r0
|
||||
/* 80017150 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80017154 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80017158 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 8001715C 88 63 1F BC */ lbz r3, 0x1fbc(r3)
|
||||
/* 80017160 3C 80 80 3E */ lis r4, MemCardWorkArea0@ha /* 0x803E0F40@ha */
|
||||
/* 80017164 38 84 0F 40 */ addi r4, r4, MemCardWorkArea0@l /* 0x803E0F40@l */
|
||||
/* 80017168 38 A0 00 00 */ li r5, 0
|
||||
/* 8001716C 48 34 01 89 */ bl CARDMount
|
||||
/* 80017170 2C 03 FF FB */ cmpwi r3, -5
|
||||
/* 80017174 41 82 00 44 */ beq lbl_800171B8
|
||||
/* 80017178 40 80 00 28 */ bge lbl_800171A0
|
||||
/* 8001717C 2C 03 FF F3 */ cmpwi r3, -13
|
||||
/* 80017180 41 82 00 CC */ beq lbl_8001724C
|
||||
/* 80017184 40 80 00 10 */ bge lbl_80017194
|
||||
/* 80017188 2C 03 FF 80 */ cmpwi r3, -128
|
||||
/* 8001718C 41 82 00 2C */ beq lbl_800171B8
|
||||
/* 80017190 48 00 00 CC */ b lbl_8001725C
|
||||
lbl_80017194:
|
||||
/* 80017194 2C 03 FF FA */ cmpwi r3, -6
|
||||
/* 80017198 40 80 00 40 */ bge lbl_800171D8
|
||||
/* 8001719C 48 00 00 C0 */ b lbl_8001725C
|
||||
lbl_800171A0:
|
||||
/* 800171A0 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 800171A4 41 82 00 34 */ beq lbl_800171D8
|
||||
/* 800171A8 40 80 00 B4 */ bge lbl_8001725C
|
||||
/* 800171AC 2C 03 FF FD */ cmpwi r3, -3
|
||||
/* 800171B0 41 82 00 18 */ beq lbl_800171C8
|
||||
/* 800171B4 48 00 00 A8 */ b lbl_8001725C
|
||||
lbl_800171B8:
|
||||
/* 800171B8 38 00 00 0C */ li r0, 0xc
|
||||
/* 800171BC 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
/* 800171C0 38 60 00 00 */ li r3, 0
|
||||
/* 800171C4 48 00 00 9C */ b lbl_80017260
|
||||
lbl_800171C8:
|
||||
/* 800171C8 38 00 00 00 */ li r0, 0
|
||||
/* 800171CC 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
/* 800171D0 38 60 00 00 */ li r3, 0
|
||||
/* 800171D4 48 00 00 8C */ b lbl_80017260
|
||||
lbl_800171D8:
|
||||
/* 800171D8 88 7F 1F BC */ lbz r3, 0x1fbc(r31)
|
||||
/* 800171DC 48 33 F7 19 */ bl CARDCheck
|
||||
/* 800171E0 38 03 00 0D */ addi r0, r3, 0xd
|
||||
/* 800171E4 28 00 00 0D */ cmplwi r0, 0xd
|
||||
/* 800171E8 41 81 00 74 */ bgt lbl_8001725C
|
||||
/* 800171EC 3C 60 80 3A */ lis r3, lit_3850@ha /* 0x803A3530@ha */
|
||||
/* 800171F0 38 63 35 30 */ addi r3, r3, lit_3850@l /* 0x803A3530@l */
|
||||
/* 800171F4 54 00 10 3A */ slwi r0, r0, 2
|
||||
/* 800171F8 7C 03 00 2E */ lwzx r0, r3, r0
|
||||
/* 800171FC 7C 09 03 A6 */ mtctr r0
|
||||
/* 80017200 4E 80 04 20 */ bctr
|
||||
/* 80017204 38 60 00 01 */ li r3, 1
|
||||
/* 80017208 48 00 00 58 */ b lbl_80017260
|
||||
/* 8001720C 38 00 00 07 */ li r0, 7
|
||||
/* 80017210 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
/* 80017214 38 60 00 00 */ li r3, 0
|
||||
/* 80017218 48 00 00 48 */ b lbl_80017260
|
||||
/* 8001721C 38 00 00 0C */ li r0, 0xc
|
||||
/* 80017220 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
/* 80017224 38 60 00 00 */ li r3, 0
|
||||
/* 80017228 48 00 00 38 */ b lbl_80017260
|
||||
/* 8001722C 38 00 00 00 */ li r0, 0
|
||||
/* 80017230 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
/* 80017234 38 60 00 00 */ li r3, 0
|
||||
/* 80017238 48 00 00 28 */ b lbl_80017260
|
||||
/* 8001723C 38 00 00 06 */ li r0, 6
|
||||
/* 80017240 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
/* 80017244 38 60 00 00 */ li r3, 0
|
||||
/* 80017248 48 00 00 18 */ b lbl_80017260
|
||||
lbl_8001724C:
|
||||
/* 8001724C 38 00 00 06 */ li r0, 6
|
||||
/* 80017250 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
/* 80017254 38 60 00 00 */ li r3, 0
|
||||
/* 80017258 48 00 00 08 */ b lbl_80017260
|
||||
lbl_8001725C:
|
||||
/* 8001725C 38 60 00 00 */ li r3, 0
|
||||
lbl_80017260:
|
||||
/* 80017260 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80017264 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80017268 7C 08 03 A6 */ mtlr r0
|
||||
/* 8001726C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80017270 4E 80 00 20 */ blr
|
||||
|
|
@ -1,56 +0,0 @@
|
|||
lbl_80017360:
|
||||
/* 80017360 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80017364 7C 08 02 A6 */ mflr r0
|
||||
/* 80017368 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8001736C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80017370 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80017374 2C 04 FF FB */ cmpwi r4, -5
|
||||
/* 80017378 41 82 00 48 */ beq lbl_800173C0
|
||||
/* 8001737C 40 80 00 28 */ bge lbl_800173A4
|
||||
/* 80017380 2C 04 FF F3 */ cmpwi r4, -13
|
||||
/* 80017384 41 82 00 70 */ beq lbl_800173F4
|
||||
/* 80017388 40 80 00 10 */ bge lbl_80017398
|
||||
/* 8001738C 2C 04 FF 80 */ cmpwi r4, -128
|
||||
/* 80017390 41 82 00 30 */ beq lbl_800173C0
|
||||
/* 80017394 48 00 00 74 */ b lbl_80017408
|
||||
lbl_80017398:
|
||||
/* 80017398 2C 04 FF FA */ cmpwi r4, -6
|
||||
/* 8001739C 40 80 00 3C */ bge lbl_800173D8
|
||||
/* 800173A0 48 00 00 68 */ b lbl_80017408
|
||||
lbl_800173A4:
|
||||
/* 800173A4 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 800173A8 41 82 00 30 */ beq lbl_800173D8
|
||||
/* 800173AC 40 80 00 5C */ bge lbl_80017408
|
||||
/* 800173B0 2C 04 FF FD */ cmpwi r4, -3
|
||||
/* 800173B4 41 82 00 18 */ beq lbl_800173CC
|
||||
/* 800173B8 40 80 00 50 */ bge lbl_80017408
|
||||
/* 800173BC 48 00 00 44 */ b lbl_80017400
|
||||
lbl_800173C0:
|
||||
/* 800173C0 38 00 00 0C */ li r0, 0xc
|
||||
/* 800173C4 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
/* 800173C8 48 00 00 40 */ b lbl_80017408
|
||||
lbl_800173CC:
|
||||
/* 800173CC 38 00 00 00 */ li r0, 0
|
||||
/* 800173D0 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
/* 800173D4 48 00 00 34 */ b lbl_80017408
|
||||
lbl_800173D8:
|
||||
/* 800173D8 88 7F 1F BC */ lbz r3, 0x1fbc(r31)
|
||||
/* 800173DC 48 33 F5 19 */ bl CARDCheck
|
||||
/* 800173E0 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 800173E4 41 82 00 24 */ beq lbl_80017408
|
||||
/* 800173E8 38 00 00 07 */ li r0, 7
|
||||
/* 800173EC 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
/* 800173F0 48 00 00 18 */ b lbl_80017408
|
||||
lbl_800173F4:
|
||||
/* 800173F4 38 00 00 06 */ li r0, 6
|
||||
/* 800173F8 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
/* 800173FC 48 00 00 0C */ b lbl_80017408
|
||||
lbl_80017400:
|
||||
/* 80017400 38 00 00 02 */ li r0, 2
|
||||
/* 80017404 90 1F 1F C4 */ stw r0, 0x1fc4(r31)
|
||||
lbl_80017408:
|
||||
/* 80017408 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 8001740C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80017410 7C 08 03 A6 */ mtlr r0
|
||||
/* 80017414 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80017418 4E 80 00 20 */ blr
|
||||
|
|
@ -164,11 +164,8 @@ public:
|
|||
/* 80146188 */ int chkPassed1(cXyz, int);
|
||||
/* 801464D8 */ int chkPassed2(cXyz, cXyz*, int, int);
|
||||
|
||||
cXyz* getPntPos(u16 i_idx) {
|
||||
u16 tmpidx = i_idx;
|
||||
|
||||
dStage_dPnt_c* tmppnt = &mpRoomPath->m_points[tmpidx];
|
||||
return &tmppnt->m_position;
|
||||
inline cXyz& getPntPos(u16 i_idx) {
|
||||
return mpRoomPath->m_points[i_idx].m_position;
|
||||
}
|
||||
|
||||
int chkClose() {
|
||||
|
|
@ -176,7 +173,7 @@ public:
|
|||
return roomPath;
|
||||
}
|
||||
|
||||
u16& getNumPnts() {
|
||||
u16 getNumPnts() {
|
||||
dPath* path = mpRoomPath;
|
||||
return path->m_num;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -153,6 +153,7 @@ public:
|
|||
u8 getLifeGaugeSE() { return mLifeGaugeSE; }
|
||||
const char* getSaveStageName() { return mSaveStageName; }
|
||||
void onShopTalkFlag() { mShopTalkFlag = true; }
|
||||
void offShopTalkFlag() { mShopTalkFlag = false; }
|
||||
void setLightDropGetFlag(int index, u8 flag) { mLightDropGetFlag[index] = flag; }
|
||||
u8 getRentalBombBag() { return mRentalBombBagIdx; }
|
||||
void setTableMapRegionNo(u8 regionNo) { mTableMapRegionNo = regionNo; }
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ public:
|
|||
/* 8019A020 */ int seq_finish(fopAc_ac_c*, dMsgFlow_c*);
|
||||
/* 8019A0C0 */ bool seq_event(fopAc_ac_c*, dMsgFlow_c*);
|
||||
/* 8019A0D0 */ int shop_init(bool);
|
||||
/* 8019A158 */ void shop_process(fopAc_ac_c*, dMsgFlow_c*);
|
||||
/* 8019A158 */ int shop_process(fopAc_ac_c*, dMsgFlow_c*);
|
||||
/* 8019A238 */ void createShopItem(int);
|
||||
/* 8019A344 */ void setSeq(u8);
|
||||
/* 8019A354 */ void setSoldOutFlag();
|
||||
|
|
|
|||
|
|
@ -20,10 +20,13 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
// Pack value into bitfield
|
||||
// Pack value into bitfield
|
||||
#define GX_BITFIELD_SET(field, pos, size, value) (field) = __rlwimi((field), (value), 31 - (pos) - (size) + 1, (pos), (pos) + (size)-1)
|
||||
|
||||
#define INSERT_FIELD(reg, value, nbits, shift) \
|
||||
(reg) = ((u32) (reg) & ~(((1 << (nbits)) - 1) << (shift))) | \
|
||||
((u32) (value) << (shift));
|
||||
|
||||
#define GX_LOAD_BP_REG 0x61
|
||||
#define GX_NOP 0
|
||||
|
||||
|
|
@ -108,6 +111,19 @@ inline void GXTexCoord2s8(s8 x, s8 y) {
|
|||
GFX_FIFO(s8) = y;
|
||||
}
|
||||
|
||||
|
||||
inline void GFWriteBPCmd(u32 param_1) {
|
||||
GXFIFO.u8 = 0x61;
|
||||
GXFIFO.u32 = param_1;
|
||||
}
|
||||
|
||||
inline void GFFill(u16 param_1, u32 param_2) {
|
||||
GXFIFO.u8 = 0x10;
|
||||
GXFIFO.u16 = 0;
|
||||
GXFIFO.u16 = param_1;
|
||||
GXFIFO.u32 = param_2;
|
||||
}
|
||||
|
||||
inline void i_GXEnd() {}
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ typedef struct create_request {
|
|||
layer_class* mpLayer;
|
||||
} create_request; // Size: 0x48
|
||||
|
||||
BOOL fpcCtRq_isCreatingByID(create_tag* pTag, unsigned int* pId);
|
||||
bool fpcCtRq_isCreatingByID(create_tag* pTag, unsigned int* pId);
|
||||
BOOL fpcCtRq_IsCreatingByID(unsigned int id);
|
||||
void fpcCtRq_CreateQTo(create_request* pReq);
|
||||
void fpcCtRq_ToCreateQ(create_request* pReq);
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ s32 fpcLy_ToQueue(layer_class* pLayer, int treeListIdx, create_tag_class* pTag);
|
|||
s32 fpcLy_QueueTo(layer_class* pLayer, create_tag_class* pTag);
|
||||
|
||||
void fpcLy_Cancel(layer_class* pLayer);
|
||||
BOOL fpcLy_CancelMethod(struct process_method_tag_class* pLayer);
|
||||
bool fpcLy_CancelMethod(struct process_method_tag_class* pLayer);
|
||||
|
||||
void fpcLy_CancelQTo(struct process_method_tag_class* pMthd);
|
||||
s32 fpcLy_ToCancelQ(layer_class* pLayer, struct process_method_tag_class* pMthd);
|
||||
|
|
|
|||
|
|
@ -1147,33 +1147,21 @@ void JKRExpHeap::CMemBlock::initiate(JKRExpHeap::CMemBlock* prev, JKRExpHeap::CM
|
|||
|
||||
/* 802D0830-802D0874 2CB170 0044+00 3/3 0/0 0/0 .text
|
||||
* allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc */
|
||||
#ifdef NONMATCHING
|
||||
JKRExpHeap::CMemBlock* JKRExpHeap::CMemBlock::allocFore(u32 size, u8 groupId1, u8 alignment1,
|
||||
u8 groupId2, u8 alignment2) {
|
||||
CMemBlock* block = NULL;
|
||||
mGroupId = groupId1;
|
||||
mFlags = alignment1;
|
||||
if (getSize() >= size + sizeof(CMemBlock)) {
|
||||
CMemBlock* newblock = (CMemBlock*)(size + (u32)this);
|
||||
newblock[1].mGroupId = groupId2;
|
||||
newblock[1].mFlags = alignment2;
|
||||
newblock[1].size = this->size - (size + sizeof(CMemBlock));
|
||||
block = (CMemBlock*)(size + (u32)this);
|
||||
block[1].mGroupId = groupId2;
|
||||
block[1].mFlags = alignment2;
|
||||
block[1].size = this->size - (size + sizeof(CMemBlock));
|
||||
this->size = size;
|
||||
block = newblock + 1;
|
||||
block = block + 1;
|
||||
}
|
||||
return block;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm JKRExpHeap::CMemBlock* JKRExpHeap::CMemBlock::allocFore(u32 param_0, u8 param_1, u8 param_2,
|
||||
u8 param_3, u8 param_4) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JKernel/JKRExpHeap/allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802D0874-802D08CC 2CB1B4 0058+00 1/1 0/0 0/0 .text
|
||||
* allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc */
|
||||
|
|
|
|||
|
|
@ -311,7 +311,6 @@ u32 JKRFileCache::readResource(void* dst, u32 dstLength, u32, const char* path)
|
|||
|
||||
/* 802D50D4-802D5164 2CFA14 0090+00 1/0 0/0 0/0 .text removeResourceAll__12JKRFileCacheFv
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
void JKRFileCache::removeResourceAll(void) {
|
||||
ASSERT(isMounted());
|
||||
|
||||
|
|
@ -319,22 +318,11 @@ void JKRFileCache::removeResourceAll(void) {
|
|||
iterator = mCacheBlockList.getFirst();
|
||||
while (iterator != mCacheBlockList.getEnd()) {
|
||||
JKRFreeToHeap(mParentHeap, iterator->mMemoryPtr);
|
||||
mCacheBlockList.remove(iterator.mLink);
|
||||
JSUListIterator<CCacheBlock> next = iterator++;
|
||||
CCacheBlock* cacheBlock = next.getObject();
|
||||
mCacheBlockList.remove(&iterator.getObject()->mCacheBlockLink);
|
||||
CCacheBlock* cacheBlock = (iterator++).getObject();
|
||||
delete cacheBlock;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void JKRFileCache::removeResourceAll() {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JKernel/JKRFileCache/removeResourceAll__12JKRFileCacheFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 802D5164-802D51F8 2CFAA4 0094+00 1/0 0/0 0/0 .text removeResource__12JKRFileCacheFPv
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -4,27 +4,16 @@
|
|||
//
|
||||
|
||||
#include "JSystem/JUtility/JUTFont.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__7JUTFontFv();
|
||||
extern "C" void initialize_state__7JUTFontFv();
|
||||
extern "C" void setCharColor__7JUTFontFQ28JUtility6TColor();
|
||||
extern "C" void setGradColor__7JUTFontFQ28JUtility6TColorQ28JUtility6TColor();
|
||||
extern "C" void drawString_size_scale__7JUTFontFffffPCcUlb();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" extern void* __vt__7JUTFont[17];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
|
@ -61,33 +50,23 @@ void JUTFont::setGradColor(JUtility::TColor col1, JUtility::TColor col2) {
|
|||
|
||||
/* 802DEE28-802DEF48 2D9768 0120+00 0/0 3/3 0/0 .text drawString_size_scale__7JUTFontFffffPCcUlb
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
f32 JUTFont::drawString_size_scale(f32 a1, f32 a2, f32 a3, f32 a4, const char* str, u32 usz,
|
||||
bool a7) {
|
||||
f32 temp = a1;
|
||||
|
||||
for (; usz > 0; usz--, str++) {
|
||||
u32 b = *(u8*)str;
|
||||
u32 c = *(u8*)str;
|
||||
u32 b = c;
|
||||
if (isLeadByte(b)) {
|
||||
str++;
|
||||
b = (b << 8 | *(u8*)str);
|
||||
b <<= 8;
|
||||
b |= *(u8*)str;
|
||||
usz--;
|
||||
}
|
||||
|
||||
a1 += drawChar_scale(temp, a2, a3, a4, b, a7);
|
||||
a1 += drawChar_scale(a1, a2, a3, a4, b, a7);
|
||||
a7 = 1;
|
||||
}
|
||||
|
||||
return a1 - temp;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm f32 JUTFont::drawString_size_scale(f32 param_0, f32 param_1, f32 param_2, f32 param_3,
|
||||
char const* param_4, u32 param_5, bool param_6) {
|
||||
nofralloc
|
||||
#include "asm/JSystem/JUtility/JUTFont/drawString_size_scale__7JUTFontFffffPCcUlb.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@
|
|||
#include "dolphin/dvd/dvdfs.h"
|
||||
#include "dolphin/dvd/dvd.h"
|
||||
#include "dolphin/os/OS.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "MSL_C/MSL_Common/Src/ctype.h"
|
||||
|
||||
|
|
@ -74,14 +73,6 @@ void __DVDFSInit() {
|
|||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803D1380-803D1448 02E4A0 00C8+00 1/1 0/0 0/0 .data @119 */
|
||||
SECTION_DATA static char lit_119[] =
|
||||
"DVDConvertEntrynumToPath(possibly DVDOpen or DVDChangeDir or DVDOpenDir): specified directory "
|
||||
"or file (%s) doesn't match standard 8.3 format. This is a temporary restriction and will be "
|
||||
"removed soon\n";
|
||||
|
||||
/* 804509E0-804509E8 000460 0008+00 3/3 0/0 0/0 .sdata @118 */
|
||||
SECTION_SDATA static char lit_118[] = "dvdfs.c";
|
||||
|
||||
/* 80451768-8045176C 000C68 0004+00 4/4 0/0 0/0 .sbss currentDirectory */
|
||||
static u32 currentDirectory;
|
||||
|
|
@ -175,7 +166,13 @@ int DVDConvertPathToEntrynum(const char* pathPtr) {
|
|||
illegal = TRUE;
|
||||
|
||||
if (illegal)
|
||||
OSPanic(lit_118, 387, lit_119, origPathPtr);
|
||||
OSPanic(__FILE__, 387,
|
||||
"DVDConvertEntrynumToPath(possibly DVDOpen or DVDChangeDir or DVDOpenDir): "
|
||||
"specified directory "
|
||||
"or file (%s) doesn't match standard 8.3 format. This is a temporary "
|
||||
"restriction and will be "
|
||||
"removed soon\n",
|
||||
origPathPtr);
|
||||
} else {
|
||||
for (ptr = pathPtr; (*ptr != '\0') && (*ptr != '/'); ptr++)
|
||||
;
|
||||
|
|
@ -336,22 +333,19 @@ BOOL DVDChangeDir(const char* dirName) {
|
|||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803D1480-803D14B4 02E5A0 0034+00 1/1 0/0 0/0 .data @239 */
|
||||
SECTION_DATA static char lit_239[] = "DVDReadAsync(): specified area is out of the file ";
|
||||
|
||||
#define DVD_MIN_TRANSFER_SIZE 32
|
||||
|
||||
/* 80348D54-80348E14 343694 00C0+00 0/0 2/2 0/0 .text DVDReadAsyncPrio */
|
||||
#ifdef NONMATCHING
|
||||
BOOL DVDReadAsyncPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset,
|
||||
DVDCallback callback, s32 prio) {
|
||||
|
||||
if (!((0 <= offset) && (offset <= fileInfo->length))) {
|
||||
OSPanic(lit_118, 750, lit_239);
|
||||
OSPanic(__FILE__, 750, "DVDReadAsync(): specified area is out of the file ");
|
||||
}
|
||||
|
||||
if (!((0 <= offset + length) && (offset + length < fileInfo->length + DVD_MIN_TRANSFER_SIZE))) {
|
||||
OSPanic(lit_118, 756, lit_239);
|
||||
OSPanic(__FILE__, 756, "DVDReadAsync(): specified area is out of the file ");
|
||||
}
|
||||
|
||||
fileInfo->callback = callback;
|
||||
|
|
@ -360,17 +354,6 @@ BOOL DVDReadAsyncPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset,
|
|||
|
||||
return TRUE;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm BOOL DVDReadAsyncPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset,
|
||||
DVDCallback callback, s32 prio) {
|
||||
nofralloc
|
||||
#include "asm/dolphin/dvd/dvdfs/DVDReadAsyncPrio.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
#ifndef offsetof
|
||||
#define offsetof(type, memb) ((u32) & ((type*)0)->memb)
|
||||
|
|
@ -397,11 +380,11 @@ int DVDReadPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset, s32 p
|
|||
int retVal;
|
||||
|
||||
if (!((0 <= offset) && (offset <= fileInfo->length))) {
|
||||
OSPanic(lit_118, 820, "DVDRead(): specified area is out of the file ");
|
||||
OSPanic(__FILE__, 820, "DVDRead(): specified area is out of the file ");
|
||||
}
|
||||
|
||||
if (!((0 <= offset + length) && (offset + length < fileInfo->length + DVD_MIN_TRANSFER_SIZE))) {
|
||||
OSPanic(lit_118, 826, "DVDRead(): specified area is out of the file ");
|
||||
OSPanic(__FILE__, 826, "DVDRead(): specified area is out of the file ");
|
||||
}
|
||||
|
||||
block = &(fileInfo->block);
|
||||
|
|
@ -443,9 +426,6 @@ int DVDReadPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset, s32 p
|
|||
static void cbForReadSync(s32 result, DVDCommandBlock* block) { OSWakeupThread(&__DVDThreadQueue); }
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803D14E4-803D1520 02E604 003A+02 1/1 0/0 0/0 .data @311 */
|
||||
SECTION_DATA static char lit_311[] = "Warning: DVDOpenDir(): file '%s' was not found under %s.\n";
|
||||
|
||||
/* 80348F80-80349040 3438C0 00C0+00 0/0 3/3 0/0 .text DVDOpenDir */
|
||||
BOOL DVDOpenDir(const char* dirName, DVDDirectory* dir) {
|
||||
s32 entry;
|
||||
|
|
@ -454,7 +434,7 @@ BOOL DVDOpenDir(const char* dirName, DVDDirectory* dir) {
|
|||
|
||||
if (entry < 0) {
|
||||
DVDGetCurrentDir(currentDir, 128);
|
||||
OSReport(lit_311, dirName, currentDir);
|
||||
OSReport("Warning: DVDOpenDir(): file '%s' was not found under %s.\n", dirName, currentDir);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -55,11 +55,17 @@ OSTime __OSGetSystemTime();
|
|||
// Declarations:
|
||||
//
|
||||
|
||||
typedef struct DVDBuffer {
|
||||
void* addr;
|
||||
u32 length;
|
||||
u32 offset;
|
||||
} DVDBuffer;
|
||||
|
||||
typedef struct DVDCommand {
|
||||
s32 _0;
|
||||
void* _4;
|
||||
u32 _8;
|
||||
u32 _c;
|
||||
s32 cmd;
|
||||
void* addr;
|
||||
u32 length;
|
||||
u32 offset;
|
||||
DVDLowCallback callback;
|
||||
} DVDCommand;
|
||||
|
||||
|
|
@ -112,7 +118,7 @@ static volatile u32 NextCommandNumber;
|
|||
/* 80347674-803476B4 341FB4 0040+00 0/0 1/1 0/0 .text __DVDInitWA */
|
||||
void __DVDInitWA() {
|
||||
NextCommandNumber = 0;
|
||||
((DVDCommand*)CommandList)[0]._0 = -1;
|
||||
((DVDCommand*)CommandList)[0].cmd = -1;
|
||||
__DVDLowSetWAType(0, 0);
|
||||
OSInitAlarm();
|
||||
}
|
||||
|
|
@ -128,23 +134,13 @@ static OSAlarm AlarmForTimeout;
|
|||
static OSAlarm AlarmForBreak;
|
||||
|
||||
/* 8044C8E8-8044C8F4 079608 000C+00 0/1 0/0 0/0 .bss Prev */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u32 Prev[3];
|
||||
#pragma pop
|
||||
static DVDBuffer Prev;
|
||||
|
||||
/* 8044C8F4-8044C900 079614 000C+00 0/2 0/0 0/0 .bss Curr */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u32 Curr[3];
|
||||
#pragma pop
|
||||
static DVDBuffer Curr;
|
||||
|
||||
/* 804509D8-804509E0 000458 0004+04 2/2 0/0 0/0 .sdata FirstRead */
|
||||
SECTION_SDATA static BOOL FirstRead[1 + 1 /* padding */] = {
|
||||
0x00000001,
|
||||
/* padding */
|
||||
0x00000000,
|
||||
};
|
||||
SECTION_SDATA static BOOL FirstRead = TRUE;
|
||||
|
||||
/* 803476B4-80347994 341FF4 02E0+00 0/0 1/1 0/0 .text __DVDInterruptHandler */
|
||||
void __DVDInterruptHandler(u32 arg0, OSContext* context) {
|
||||
|
|
@ -157,10 +153,10 @@ void __DVDInterruptHandler(u32 arg0, OSContext* context) {
|
|||
OSContext localContext;
|
||||
if (LastCommandWasRead) {
|
||||
LastReadFinished = __OSGetSystemTime();
|
||||
FirstRead[0] = 0;
|
||||
Prev[0] = Curr[0];
|
||||
Prev[1] = Curr[1];
|
||||
Prev[2] = Curr[2];
|
||||
FirstRead = FALSE;
|
||||
Prev.addr = Curr.addr;
|
||||
Prev.length = Curr.length;
|
||||
Prev.offset = Curr.offset;
|
||||
|
||||
if (StopAtNextInt == TRUE) {
|
||||
val |= 8;
|
||||
|
|
@ -219,16 +215,16 @@ void __DVDInterruptHandler(u32 arg0, OSContext* context) {
|
|||
if (val & 1) {
|
||||
u32 num;
|
||||
DVDCommand* command;
|
||||
s32 cmd0 = CommandList[num = NextCommandNumber]._0;
|
||||
s32 cmd0 = CommandList[num = NextCommandNumber].cmd;
|
||||
if (cmd0 == 1) {
|
||||
NextCommandNumber++;
|
||||
command = &CommandList[num];
|
||||
Read(command->_4, command->_8, command->_c, command->callback);
|
||||
Read(command->addr, command->length, command->offset, command->callback);
|
||||
rv = 1;
|
||||
} else if (cmd0 == 2) {
|
||||
NextCommandNumber++;
|
||||
command = &CommandList[num];
|
||||
DVDLowSeek(command->_c, command->callback);
|
||||
DVDLowSeek(command->offset, command->callback);
|
||||
rv = 1;
|
||||
} else {
|
||||
rv = 0;
|
||||
|
|
@ -238,7 +234,7 @@ void __DVDInterruptHandler(u32 arg0, OSContext* context) {
|
|||
return;
|
||||
}
|
||||
} else {
|
||||
CommandList[0]._0 = -1;
|
||||
CommandList[0].cmd = -1;
|
||||
NextCommandNumber = 0;
|
||||
}
|
||||
|
||||
|
|
@ -261,16 +257,16 @@ void __DVDInterruptHandler(u32 arg0, OSContext* context) {
|
|||
static void AlarmHandler(OSAlarm* alarm, OSContext* context) {
|
||||
DVDCommand* cmd;
|
||||
u32 num;
|
||||
s32 cmd0 = CommandList[num = NextCommandNumber]._0;
|
||||
s32 cmd0 = CommandList[num = NextCommandNumber].cmd;
|
||||
|
||||
if (cmd0 == 1) {
|
||||
++NextCommandNumber;
|
||||
cmd = &CommandList[num];
|
||||
Read(cmd->_4, cmd->_8, cmd->_c, cmd->callback);
|
||||
Read(cmd->addr, cmd->length, cmd->offset, cmd->callback);
|
||||
} else if (cmd0 == 2) {
|
||||
++NextCommandNumber;
|
||||
cmd = &CommandList[num];
|
||||
DVDLowSeek(cmd->_c, cmd->callback);
|
||||
DVDLowSeek(cmd->offset, cmd->callback);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -326,96 +322,86 @@ void SeekTwiceBeforeRead(void* arg0, u32 arg1, u32 arg2, DVDLowCallback cb) {
|
|||
val = temp + WorkAroundSeekLocation[0];
|
||||
}
|
||||
|
||||
CommandList[0]._0 = 2;
|
||||
CommandList[0]._c = val;
|
||||
CommandList[0].cmd = 2;
|
||||
CommandList[0].offset = val;
|
||||
CommandList[0].callback = cb;
|
||||
CommandList[1]._0 = 1;
|
||||
CommandList[1]._4 = arg0;
|
||||
CommandList[1]._8 = arg1;
|
||||
CommandList[1]._c = arg2;
|
||||
CommandList[1].cmd = 1;
|
||||
CommandList[1].addr = arg0;
|
||||
CommandList[1].length = arg1;
|
||||
CommandList[1].offset = arg2;
|
||||
CommandList[1].callback = cb;
|
||||
CommandList[2]._0 = -1;
|
||||
CommandList[2].cmd = -1;
|
||||
NextCommandNumber = 0;
|
||||
DVDLowSeek(val, cb);
|
||||
}
|
||||
|
||||
BOOL HitCache() {
|
||||
u32 uVar1 = (Prev.offset + Prev.length - 1) >> 15;
|
||||
u32 uVar2 = (Curr.offset >> 15);
|
||||
u32 iVar3 = (DVDGetCurrentDiskID()->is_streaming ? TRUE : FALSE) ? 5 : 15;
|
||||
|
||||
if ((uVar2 > uVar1 - 2) || (uVar2 < uVar1 + iVar3 + 3)) {
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void DoJustRead(void* addr, u32 length, u32 offset, DVDLowCallback callback) {
|
||||
CommandList[0].cmd = -1;
|
||||
NextCommandNumber = 0;
|
||||
Read(addr, length, offset, callback);
|
||||
}
|
||||
|
||||
static void WaitBeforeRead(void* addr, u32 length, u32 offset, DVDLowCallback callback,
|
||||
OSTime timeout) {
|
||||
CommandList[0].cmd = 1;
|
||||
CommandList[0].addr = addr;
|
||||
CommandList[0].length = length;
|
||||
CommandList[0].offset = offset;
|
||||
CommandList[0].callback = callback;
|
||||
CommandList[1].cmd = -1;
|
||||
NextCommandNumber = 0;
|
||||
OSCreateAlarm(&AlarmForWA);
|
||||
OSSetAlarm(&AlarmForWA, timeout, AlarmHandler);
|
||||
}
|
||||
|
||||
/* 80347C18-80347EB0 342558 0298+00 0/0 4/4 0/0 .text DVDLowRead */
|
||||
// Issues with alarm time calculation
|
||||
#ifdef NONMATCHING
|
||||
BOOL DVDLowRead(void* arg0, u32 arg1, u32 arg2, DVDLowCallback cb) {
|
||||
BOOL DVDLowRead(void* addr, u32 length, u32 offset, DVDLowCallback cb) {
|
||||
OSTime diff;
|
||||
u32 prev;
|
||||
|
||||
__DIRegs[6] = length;
|
||||
Curr.addr = addr;
|
||||
Curr.length = length;
|
||||
Curr.offset = offset;
|
||||
|
||||
if (WorkAroundType == 0) {
|
||||
Curr[2] = -1;
|
||||
NextCommandNumber = 0;
|
||||
Read(arg0, arg1, arg2, cb);
|
||||
DoJustRead(addr, length, offset, cb);
|
||||
} else if (WorkAroundType == 1) {
|
||||
if (FirstRead[0]) {
|
||||
SeekTwiceBeforeRead(arg0, arg1, arg2, cb);
|
||||
if (FirstRead) {
|
||||
SeekTwiceBeforeRead(addr, length, offset, cb);
|
||||
} else {
|
||||
u32 curr2 = Curr[2] >> 15;
|
||||
u32 prev1 = (Prev[2] + Prev[1] - 1) >> 15;
|
||||
DVDDiskID* id = DVDGetCurrentDiskID();
|
||||
|
||||
BOOL is_streaming = id->is_streaming ? TRUE : FALSE;
|
||||
u32 val;
|
||||
BOOL val2;
|
||||
if (is_streaming) {
|
||||
val = 5;
|
||||
if (!HitCache(&Curr, &Prev)) {
|
||||
DoJustRead(addr, length, offset, cb);
|
||||
} else {
|
||||
val = 15;
|
||||
}
|
||||
|
||||
if (curr2 > prev1 - 2 || curr2 < prev1 + (val + 3)) {
|
||||
val2 = TRUE;
|
||||
} else {
|
||||
val2 = FALSE;
|
||||
}
|
||||
|
||||
if (!val2) {
|
||||
CommandList[0]._0 = -1;
|
||||
NextCommandNumber = 0;
|
||||
Read(arg0, arg1, arg2, cb);
|
||||
} else {
|
||||
curr2 = Curr[2] >> 15;
|
||||
prev1 = (Prev[2] + Prev[1] - 1) >> 15;
|
||||
if (curr2 == prev1 || curr2 + 1 == prev1) {
|
||||
OSTime diff = __OSGetSystemTime() - LastReadFinished;
|
||||
OSTime five_ms = (OSTime)OSMillisecondsToTicks(5);
|
||||
if (diff < five_ms) {
|
||||
CommandList[0]._0 = -1;
|
||||
NextCommandNumber = 0;
|
||||
Read(arg0, arg1, arg2, cb);
|
||||
prev = (Prev.offset + Prev.length - 1) >> 15;
|
||||
if (prev == Curr.offset >> 15 || prev + 1 == Curr.offset >> 15) {
|
||||
diff = __OSGetSystemTime() - LastReadFinished;
|
||||
if (OSMillisecondsToTicks(5) < diff) {
|
||||
DoJustRead(addr, length, offset, cb);
|
||||
} else {
|
||||
OSTime temp;
|
||||
temp = diff - five_ms + (OSTime)OSMicrosecondsToTicks(500);
|
||||
CommandList[0]._0 = 1;
|
||||
CommandList[0]._4 = arg0;
|
||||
CommandList[0]._8 = arg1;
|
||||
CommandList[0]._c = arg2;
|
||||
CommandList[0].callback = cb;
|
||||
CommandList[1]._0 = -1;
|
||||
NextCommandNumber = 0;
|
||||
OSCreateAlarm(&AlarmForWA);
|
||||
OSSetAlarm(&AlarmForWA, temp, AlarmHandler);
|
||||
WaitBeforeRead(addr, length, offset, cb,
|
||||
OSMillisecondsToTicks(5) - diff +
|
||||
OSMicrosecondsToTicks(500));
|
||||
}
|
||||
} else {
|
||||
SeekTwiceBeforeRead(arg0, arg1, arg2, cb);
|
||||
SeekTwiceBeforeRead(addr, length, offset, cb);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm BOOL DVDLowRead(void* arg0, u32 arg1, u32 arg2, DVDLowCallback cb) {
|
||||
nofralloc
|
||||
#include "asm/dolphin/dvd/dvdlow/DVDLowRead.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80347EB0-80347F44 3427F0 0094+00 3/3 2/2 0/0 .text DVDLowSeek */
|
||||
BOOL DVDLowSeek(u32 arg0, DVDLowCallback cb) {
|
||||
|
|
|
|||
|
|
@ -6,13 +6,12 @@
|
|||
#include "dolphin/gf/GFGeometry.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "dolphin/gx/GX.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct _GXCullMode {};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
|
@ -43,6 +42,15 @@ SECTION_SDATA static u8 cm2hw[4 + 4 /* padding */] = {
|
|||
};
|
||||
|
||||
/* 802CDDC8-802CDE54 2C8708 008C+00 0/0 0/0 1/1 .text GFSetGenMode2__FUcUcUcUc11_GXCullMode */
|
||||
// reg alloc
|
||||
#ifdef NONMATCHING
|
||||
void GFSetGenMode2(u8 param_0, u8 param_1, u8 param_2, u8 param_3, _GXCullMode param_4) {
|
||||
GFWriteBPCmd(0xFE07FC3F);
|
||||
GFWriteBPCmd((param_0) | (param_1 << 4) | ((param_2 - 1) << 10) | (cm2hw[param_4] << 14) | (param_3 << 16));
|
||||
GFFill(0x1009, param_1);
|
||||
GFFill(0x103f, param_0);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -51,6 +59,7 @@ asm void GFSetGenMode2(u8 param_0, u8 param_1, u8 param_2, u8 param_3, _GXCullMo
|
|||
#include "asm/dolphin/gf/GFGeometry/GFSetGenMode2__FUcUcUcUc11_GXCullMode.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804508B0-804508B8 000330 0008+00 0/0 2/2 0/0 .sdata None */
|
||||
|
|
|
|||
|
|
@ -4,23 +4,19 @@
|
|||
//
|
||||
|
||||
#include "dolphin/gf/GFLight.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "dolphin/gx/GXEnum.h"
|
||||
#include "dolphin/gx/GXStruct.h"
|
||||
#include "dolphin/gx/GX.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct _GXColor {};
|
||||
|
||||
struct _GXChannelID {};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void GFSetChanAmbColor__F12_GXChannelID8_GXColor();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
|
@ -31,11 +27,7 @@ extern "C" void GFSetChanAmbColor__F12_GXChannelID8_GXColor();
|
|||
|
||||
/* 802CDE54-802CDE9C 2C8794 0048+00 0/0 0/0 1/1 .text GFSetChanAmbColor__F12_GXChannelID8_GXColor
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void GFSetChanAmbColor(_GXChannelID param_0, _GXColor param_1) {
|
||||
nofralloc
|
||||
#include "asm/dolphin/gf/GFLight/GFSetChanAmbColor__F12_GXChannelID8_GXColor.s"
|
||||
}
|
||||
#pragma pop
|
||||
void GFSetChanAmbColor(_GXChannelID param_0, _GXColor param_1) {
|
||||
GFFill((param_0 & 1) + 0x100a,
|
||||
param_1.r << 0x18 | param_1.g << 0x10 | param_1.b << 8 | param_1.a);
|
||||
}
|
||||
|
|
@ -4,110 +4,80 @@
|
|||
//
|
||||
|
||||
#include "dolphin/gf/GFPixel.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/gx/GXEnum.h"
|
||||
#include "dolphin/gx/GX.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct _GXLogicOp {};
|
||||
|
||||
struct _GXFogType {};
|
||||
|
||||
struct _GXCompare {};
|
||||
|
||||
struct _GXColor {};
|
||||
|
||||
struct _GXBlendMode {};
|
||||
|
||||
struct _GXBlendFactor {};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void GFSetFog__F10_GXFogTypeffff8_GXColor();
|
||||
extern "C" void
|
||||
GFSetBlendModeEtc__F12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOpUcUcUc();
|
||||
extern "C" void GFSetZMode__FUc10_GXCompareUc();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void __cvt_fp2unsigned();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _restgpr_28();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80455F68-80455F6C 004568 0004+00 1/1 0/0 0/0 .sdata2 @293 */
|
||||
SECTION_SDATA2 static u8 lit_293[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* 80455F6C-80455F70 00456C 0004+00 1/1 0/0 0/0 .sdata2 @294 */
|
||||
SECTION_SDATA2 static f32 lit_294 = 0.5f;
|
||||
|
||||
/* 80455F70-80455F78 004570 0008+00 1/1 0/0 0/0 .sdata2 @295 */
|
||||
SECTION_SDATA2 static f64 lit_295 = 1.0;
|
||||
|
||||
/* 80455F78-80455F80 004578 0004+04 1/1 0/0 0/0 .sdata2 @296 */
|
||||
SECTION_SDATA2 static f32 lit_296[1 + 1 /* padding */] = {
|
||||
2.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 80455F80-80455F88 004580 0008+00 1/1 0/0 0/0 .sdata2 @297 */
|
||||
SECTION_SDATA2 static f64 lit_297 = 0.5;
|
||||
|
||||
/* 80455F88-80455F90 004588 0004+04 1/1 0/0 0/0 .sdata2 @298 */
|
||||
SECTION_SDATA2 static f32 lit_298[1 + 1 /* padding */] = {
|
||||
8388638.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 80455F90-80455F98 004590 0008+00 1/1 0/0 0/0 .sdata2 @301 */
|
||||
SECTION_SDATA2 static f64 lit_301 = 4503601774854144.0 /* cast s32 to float */;
|
||||
|
||||
/* 802CDE9C-802CE004 2C87DC 0168+00 0/0 1/1 0/0 .text GFSetFog__F10_GXFogTypeffff8_GXColor */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void GFSetFog(_GXFogType param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4,
|
||||
_GXColor param_5) {
|
||||
nofralloc
|
||||
#include "asm/dolphin/gf/GFPixel/GFSetFog__F10_GXFogTypeffff8_GXColor.s"
|
||||
void GFSetFog(_GXFogType param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4,
|
||||
_GXColor param_5) {
|
||||
s32 r30;
|
||||
s32 r30shift2;
|
||||
u32 stack_c_u32;
|
||||
f32 stack_c;
|
||||
f32 r30shift;
|
||||
f32 f3;
|
||||
f32 f5;
|
||||
if (param_4 == param_3 || param_2 == param_1) {
|
||||
f5 = 0.0f;
|
||||
f3 = 0.5f;
|
||||
stack_c = 0.0f;
|
||||
} else {
|
||||
f5 = (param_4 * param_3) / ((param_4 - param_3) * (param_2 - param_1));
|
||||
f3 = param_4 / (param_4 - param_3);
|
||||
stack_c = param_1 / (param_2 - param_1);
|
||||
}
|
||||
|
||||
r30 = 1;
|
||||
|
||||
while (f3 > 1.0) {
|
||||
f3 *= 0.5f;
|
||||
r30++;
|
||||
}
|
||||
|
||||
while (f3 > 0.0f && f3 < 0.5) {
|
||||
f3 *= 2.0f;
|
||||
r30--;
|
||||
}
|
||||
|
||||
r30shift = (f5 / (1 << r30));
|
||||
r30shift2 = *(s32*)&r30shift;
|
||||
stack_c_u32 = (*(u32*)&stack_c);
|
||||
GFWriteBPCmd(((r30shift2 >> 12) & 0xfffff) | 0xee000000);
|
||||
GFWriteBPCmd((u32)(8388638.0f * f3) | 0xef000000);
|
||||
GFWriteBPCmd(r30 | 0xf0000000);
|
||||
GFWriteBPCmd(((stack_c_u32 >> 12) & 0xfffff) | (((u32)param_0 << 21) & 0xffe00000) | 0xf1000000);
|
||||
GFWriteBPCmd(param_5.b | param_5.g << 8 | param_5.r << 16 | 0xf2000000);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802CE004-802CE0A4 2C8944 00A0+00 0/0 1/1 0/0 .text
|
||||
* GFSetBlendModeEtc__F12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOpUcUcUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void GFSetBlendModeEtc(_GXBlendMode param_0, _GXBlendFactor param_1, _GXBlendFactor param_2,
|
||||
_GXLogicOp param_3, u8 param_4, u8 param_5, u8 param_6) {
|
||||
nofralloc
|
||||
#include "asm/dolphin/gf/GFPixel/GFSetBlendModeEtc__F12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOpUcUcUc.s"
|
||||
void GFSetBlendModeEtc(_GXBlendMode param_0, _GXBlendFactor param_1, _GXBlendFactor param_2,
|
||||
_GXLogicOp param_3, u8 param_4, u8 param_5, u8 param_6) {
|
||||
GFWriteBPCmd(((param_0 == 1) || (param_0 == 3)) | (param_0 == 2) << 1 | param_6 << 2 |
|
||||
param_4 << 3 | param_5 << 4 | param_2 << 5 | param_1 << 8 | (param_0 == 3) << 11 |
|
||||
param_3 << 12 | 0x41000000);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802CE0A4-802CE0D0 2C89E4 002C+00 0/0 1/1 0/0 .text GFSetZMode__FUc10_GXCompareUc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void GFSetZMode(u8 param_0, _GXCompare param_1, u8 param_2) {
|
||||
nofralloc
|
||||
#include "asm/dolphin/gf/GFPixel/GFSetZMode__FUc10_GXCompareUc.s"
|
||||
void GFSetZMode(u8 param_0, _GXCompare param_1, u8 param_2) {
|
||||
GFWriteBPCmd(param_0 | param_1 << 1 | param_2 << 4 | 0x40000000);
|
||||
}
|
||||
#pragma pop
|
||||
|
|
|
|||
|
|
@ -4,23 +4,19 @@
|
|||
//
|
||||
|
||||
#include "dolphin/gf/GFTev.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/gx/GXEnum.h"
|
||||
#include "dolphin/gx/GXStruct.h"
|
||||
#include "dolphin/gx/GX.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct _GXTevRegID {};
|
||||
|
||||
struct _GXColorS10 {};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void GFSetTevColorS10__F11_GXTevRegID11_GXColorS10();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
|
@ -31,11 +27,13 @@ extern "C" void GFSetTevColorS10__F11_GXTevRegID11_GXColorS10();
|
|||
|
||||
/* 802CE0D0-802CE138 2C8A10 0068+00 0/0 0/0 1/1 .text
|
||||
* GFSetTevColorS10__F11_GXTevRegID11_GXColorS10 */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void GFSetTevColorS10(_GXTevRegID param_0, _GXColorS10 param_1) {
|
||||
nofralloc
|
||||
#include "asm/dolphin/gf/GFTev/GFSetTevColorS10__F11_GXTevRegID11_GXColorS10.s"
|
||||
void GFSetTevColorS10(_GXTevRegID param_0, _GXColorS10 param_1) {
|
||||
u32 uVar1 = (param_1.r & 0x7ffU) | ((param_1.a & 0x7ffU) << 12) |
|
||||
((param_0 * 2 + 0xe0) << 24);
|
||||
u32 uVar2 = (param_1.b & 0x7ffU) | ((param_1.g & 0x7ffU) << 12) | ((param_0 * 2 + 0xe1) << 24);
|
||||
|
||||
GFWriteBPCmd(uVar1);
|
||||
GFWriteBPCmd(uVar2);
|
||||
GFWriteBPCmd(uVar2);
|
||||
GFWriteBPCmd(uVar2);
|
||||
}
|
||||
#pragma pop
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ LIBGF_A_O_FILES := \
|
|||
$(BUILD_DIR)/libs/dolphin/gf/GFTev.o \
|
||||
|
||||
LIBGF_A_CFLAGS := \
|
||||
-inline auto \
|
||||
|
||||
LIBGF_A_LDFLAGS := \
|
||||
-nodefaults \
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ LIBMTX_A_O_FILES := \
|
|||
LIBMTX_A_CFLAGS := \
|
||||
-O4,p \
|
||||
-lang=c \
|
||||
-inline auto \
|
||||
|
||||
LIBMTX_A_LDFLAGS := \
|
||||
-nodefaults \
|
||||
|
|
|
|||
|
|
@ -12,32 +12,37 @@
|
|||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80456528-8045652C 004B28 0004+00 2/2 0/0 0/0 .sdata2 @99 */
|
||||
SECTION_SDATA2 static f32 lit_99 = 1.0f;
|
||||
|
||||
/* 8045652C-80456530 004B2C 0004+00 1/1 0/0 0/0 .sdata2 @100 */
|
||||
SECTION_SDATA2 static f32 lit_100 = 2.0f;
|
||||
static void __C_MTXOrtho1(Mtx44 m, f32 l, f32 r, f32 t, f32 b) {
|
||||
f32 temp_f10 = 1.0F / (r - l);
|
||||
f32 temp_f8;
|
||||
m[0][0] = 2.0F * temp_f10;
|
||||
m[0][1] = 0.0F;
|
||||
m[0][2] = 0.0F;
|
||||
m[0][3] = temp_f10 * -(r + l);
|
||||
|
||||
/* 80456530-80456534 004B30 0004+00 2/2 0/0 0/0 .sdata2 @101 */
|
||||
SECTION_SDATA2 static u8 lit_101[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
temp_f8 = 1.0F / (t - b);
|
||||
m[1][0] = 0.0F;
|
||||
m[1][1] = 2.0F * temp_f8;
|
||||
m[1][2] = 0.0F;
|
||||
m[1][3] = temp_f8 * -(t + b);
|
||||
}
|
||||
|
||||
/* 80456534-80456538 004B34 0004+00 2/2 0/0 0/0 .sdata2 @102 */
|
||||
SECTION_SDATA2 static f32 lit_102 = -1.0f;
|
||||
static void __C_MTXOrtho2(Mtx44 m, f32 f, f32 n) {
|
||||
f32 temp_f4 = 1.0F / (f - n);
|
||||
m[2][0] = 0.0F;
|
||||
m[2][1] = 0.0F;
|
||||
m[2][2] = -1.0F * temp_f4;
|
||||
m[2][3] = -f * temp_f4;
|
||||
|
||||
/* 80456538-8045653C 004B38 0004+00 1/1 0/0 0/0 .sdata2 @105 */
|
||||
SECTION_SDATA2 static f32 lit_105 = 0.5f;
|
||||
|
||||
/* 8045653C-80456540 004B3C 0004+00 1/1 0/0 0/0 .sdata2 @106 */
|
||||
SECTION_SDATA2 static f32 lit_106 = 0.01745329238474369f;
|
||||
m[3][0] = 0.0F;
|
||||
m[3][1] = 0.0F;
|
||||
m[3][2] = 0.0F;
|
||||
m[3][3] = 1.0F;
|
||||
}
|
||||
|
||||
/* 80346F28-80346FF8 341868 00D0+00 0/0 6/6 0/0 .text C_MTXPerspective */
|
||||
// Functions match but has issues with float constants
|
||||
#ifdef NONMATCHING
|
||||
void C_MTXPerspective(Mtx44 m, f32 fovY, f32 aspect, f32 n, f32 f)
|
||||
{
|
||||
f32 temp_f3;
|
||||
|
|
@ -68,55 +73,11 @@ void C_MTXPerspective(Mtx44 m, f32 fovY, f32 aspect, f32 n, f32 f)
|
|||
m[3][2] = -1.0F;
|
||||
m[3][3] = 0.0F;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void C_MTXPerspective(Mtx44 m, f32 fovy, f32 aspect, f32 near, f32 far) {
|
||||
nofralloc
|
||||
#include "asm/dolphin/mtx/mtx44/C_MTXPerspective.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80346FF8-80347090 341938 0098+00 0/0 11/11 2/2 .text C_MTXOrtho */
|
||||
#ifdef NONMATCHING
|
||||
void C_MTXOrtho(Mtx44 m, f32 t, f32 b, f32 l, f32 r, f32 n, f32 f)
|
||||
{
|
||||
f32 temp_f8;
|
||||
f32 temp_f10;
|
||||
f32 temp_f4;
|
||||
__C_MTXOrtho1(m, l, r, t, b);
|
||||
|
||||
temp_f10 = 1.0F / (r - l);
|
||||
m[0][0] = 2.0F * temp_f10;
|
||||
m[0][1] = 0.0F;
|
||||
m[0][2] = 0.0F;
|
||||
m[0][3] = temp_f10 * -(r + l);
|
||||
|
||||
temp_f8 = 1.0F / (t - b);
|
||||
m[1][0] = 0.0F;
|
||||
m[1][1] = 2.0F * temp_f8;
|
||||
m[1][2] = 0.0F;
|
||||
m[1][3] = temp_f8 * -(t + b);
|
||||
|
||||
temp_f4 = 1.0F / (f - n);
|
||||
m[2][0] = 0.0F;
|
||||
m[2][1] = 0.0F;
|
||||
m[2][2] = -1.0F * temp_f4;
|
||||
m[2][3] = -f * temp_f4;
|
||||
|
||||
m[3][0] = 0.0F;
|
||||
m[3][1] = 0.0F;
|
||||
m[3][2] = 0.0F;
|
||||
m[3][3] = 1.0F;
|
||||
__C_MTXOrtho2(m, f, n);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void C_MTXOrtho(Mtx44 m, f32 top, f32 bottom, f32 left, f32 right, f32 near, f32 far) {
|
||||
nofralloc
|
||||
#include "asm/dolphin/mtx/mtx44/C_MTXOrtho.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -18,9 +18,9 @@ volatile OSContext* __OSFPUContext : (OS_BASE_CACHED | 0x00D8);
|
|||
// External References:
|
||||
//
|
||||
|
||||
extern u32 __OSLastInterruptSrr0;
|
||||
extern s16 __OSLastInterrupt[4];
|
||||
extern OSTime __OSLastInterruptTime;
|
||||
extern volatile u32 __OSLastInterruptSrr0;
|
||||
extern volatile s16 __OSLastInterrupt;
|
||||
extern volatile OSTime __OSLastInterruptTime;
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
|
|
@ -103,7 +103,10 @@ OSErrorHandler OSSetErrorHandler(OSError error, OSErrorHandler handler) {
|
|||
|
||||
/* ############################################################################################## */
|
||||
/* 803CF918-803CF930 02CA38 0016+02 1/1 0/0 0/0 .data @13 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static char lit_13[] = " in \"%s\" on line %d.\n";
|
||||
#pragma pop
|
||||
|
||||
// /* 803CF930-803CF958 02CA50 0026+02 0/0 0/0 0/0 .data @14 */
|
||||
#pragma push
|
||||
|
|
@ -321,7 +324,7 @@ void __OSUnhandledException(__OSException exception, OSContext* context, u32 dsi
|
|||
break;
|
||||
}
|
||||
|
||||
OSReport("\nLast interrupt (%d): SRR0 = 0x%08x TB = 0x%016llx\n", __OSLastInterrupt[0],
|
||||
OSReport("\nLast interrupt (%d): SRR0 = 0x%08x TB = 0x%016llx\n", __OSLastInterrupt,
|
||||
__OSLastInterruptSrr0, __OSLastInterruptTime);
|
||||
|
||||
PPCHalt();
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ extern u32 __PADFixBits;
|
|||
static u32 Type[4];
|
||||
|
||||
/* 8044CB80-8044CBB0 0798A0 0030+00 8/8 0/0 0/0 .bss Origin */
|
||||
static PADStatus Origin[4];
|
||||
static volatile PADStatus Origin[4];
|
||||
|
||||
/* 80450A24-80450A28 0004A4 0004+00 7/7 0/0 0/0 .sdata ResettingChan */
|
||||
SECTION_SDATA static s32 ResettingChan = 0x00000020;
|
||||
|
|
|
|||
|
|
@ -922,8 +922,6 @@ void daNpcT_Path_c::reverse() {
|
|||
}
|
||||
|
||||
/* 80145DD0-80145E38 140710 0068+00 2/2 0/0 8/8 .text setNextIdx__13daNpcT_Path_cFi */
|
||||
#ifdef NONMATCHING
|
||||
// getNumPnts inline appears to be wrong
|
||||
int daNpcT_Path_c::setNextIdx(int param_0) {
|
||||
u16 numPnts = getNumPnts();
|
||||
|
||||
|
|
@ -934,16 +932,6 @@ int daNpcT_Path_c::setNextIdx(int param_0) {
|
|||
|
||||
daNpcT_incIdx(param_0,mIdx,0,mDirection);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int daNpcT_Path_c::setNextIdx(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_npc/setNextIdx__13daNpcT_Path_cFi.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80145E38-80145FB4 140778 017C+00 0/0 0/0 1/1 .text getDstPos__13daNpcT_Path_cF4cXyzP4cXyzi */
|
||||
#ifdef NONMATCHING
|
||||
|
|
|
|||
|
|
@ -102,19 +102,24 @@ SECTION_SDATA2 static f32 lit_3671 = 1.0f;
|
|||
/* 80037038-80037180 031978 0148+00 4/4 0/0 0/0 .text eff_break_tsubo__5daObjFP10fopAc_ac_c4cXyzi
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
// Matches with literals
|
||||
void daObj::eff_break_tsubo(fopAc_ac_c* param_0, cXyz param_1, int param_2) {
|
||||
J3DModelData* tubo_bmd = (J3DModelData*)dComIfG_getObjectRes("Always", 0x20);
|
||||
J3DAnmTexPattern* tubo_btp = (J3DAnmTexPattern*)dComIfG_getObjectRes("Always", 0x42);
|
||||
|
||||
s32 roomNo = fopAcM_GetRoomNo(param_0);
|
||||
|
||||
// not sure what's up with mEcallback. Probably the argument type for dComIfGp_particle_set is wrong.
|
||||
JPABaseEmitter* emitter = (JPABaseEmitter*)dComIfGp_particle_set(
|
||||
0x15C, ¶m_0->current.pos, NULL, NULL, 0xFF, dPa_modelEcallBack::getEcallback(),
|
||||
fopAcM_GetRoomNo(param_0), NULL, NULL, ¶m_1);
|
||||
0x15C, ¶m_0->current.pos, NULL, NULL, 0xFF, (dPa_modelEcallBack*)&dPa_modelEcallBack::mEcallback,
|
||||
roomNo, NULL, NULL, ¶m_1);
|
||||
|
||||
dPa_modelEcallBack::setModel(emitter, tubo_bmd, param_0->mTevStr, 3, tubo_btp, 0, param_2);
|
||||
|
||||
s32 roomNo2 = fopAcM_GetRoomNo(param_0);
|
||||
dComIfGp_particle_set(0x15D, ¶m_0->current.pos, NULL, NULL, 0xFF,
|
||||
dPa_control_c::getTsuboSelectTexEcallBack(param_2),
|
||||
fopAcM_GetRoomNo(param_0), NULL, NULL, ¶m_1);
|
||||
dPa_control_c::getTsuboSelectTexEcallBack(param_2),
|
||||
roomNo2, NULL, NULL, ¶m_1);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
|
|
|
|||
|
|
@ -529,33 +529,21 @@ static u8 i_item_lst[23] = {
|
|||
};
|
||||
|
||||
/* 800332F8-80033354 02DC38 005C+00 2/2 0/0 0/0 .text setLineUpItem__17dSv_player_item_cFv */
|
||||
// this is close
|
||||
#ifdef NONMATCHING
|
||||
void dSv_player_item_c::setLineUpItem() {
|
||||
int i1 = 0;
|
||||
int i2 = 0;
|
||||
|
||||
for (; i1 < 24; i1++) {
|
||||
for (int i1 = 0; i1 < 24; i1++) {
|
||||
mItemSlots[i1] = NO_ITEM;
|
||||
}
|
||||
|
||||
for (int i1 = 0; i1 < 23; i1++) {
|
||||
if (mItems[i_item_lst[i1]] != NO_ITEM) {
|
||||
mItemSlots[i2] = i_item_lst[i1];
|
||||
u32 current = i_item_lst[i1];
|
||||
if (mItems[current] != NO_ITEM) {
|
||||
mItemSlots[i2] = current;
|
||||
i2++;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dSv_player_item_c::setLineUpItem() {
|
||||
nofralloc
|
||||
#include "asm/d/save/d_save/setLineUpItem__17dSv_player_item_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
u8 dSv_player_item_c::getLineUpItem(int i_slotNo) const {
|
||||
if (i_slotNo < MAX_ITEM_SLOTS) {
|
||||
|
|
@ -566,15 +554,14 @@ u8 dSv_player_item_c::getLineUpItem(int i_slotNo) const {
|
|||
}
|
||||
|
||||
/* 80033370-80033450 02DCB0 00E0+00 1/1 2/2 0/0 .text setBottleItemIn__17dSv_player_item_cFUcUc */
|
||||
#ifdef NONMATCHING
|
||||
void dSv_player_item_c::setBottleItemIn(u8 curItemIn, u8 newItemIn) {
|
||||
u8 cur_item = dSv_item_rename(curItemIn);
|
||||
u8 new_item = dSv_item_rename(newItemIn);
|
||||
curItemIn = dSv_item_rename(curItemIn);
|
||||
newItemIn = dSv_item_rename(newItemIn);
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (cur_item == mItems[i + SLOT_11]) {
|
||||
setItem(i + SLOT_11, new_item);
|
||||
if (new_item == HOT_SPRING) {
|
||||
if (curItemIn == mItems[i + SLOT_11]) {
|
||||
setItem(i + SLOT_11, newItemIn);
|
||||
if (newItemIn == HOT_SPRING) {
|
||||
dMeter2Info_setHotSpringTimer(i + SLOT_11);
|
||||
}
|
||||
|
||||
|
|
@ -587,34 +574,13 @@ void dSv_player_item_c::setBottleItemIn(u8 curItemIn, u8 newItemIn) {
|
|||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dSv_player_item_c::setBottleItemIn(u8 curItemIn, u8 newItemIn) {
|
||||
nofralloc
|
||||
#include "asm/d/save/d_save/setBottleItemIn__17dSv_player_item_cFUcUc.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80033450-80033494 02DD90 0044+00 0/0 26/26 0/0 .text
|
||||
* setEmptyBottleItemIn__17dSv_player_item_cFUc */
|
||||
// this is 1 instruction off
|
||||
#ifdef NONMATCHING
|
||||
void dSv_player_item_c::setEmptyBottleItemIn(u8 i_itemNo) {
|
||||
setBottleItemIn(EMPTY_BOTTLE, dSv_item_rename(i_itemNo));
|
||||
i_itemNo = dSv_item_rename(i_itemNo);
|
||||
setBottleItemIn(EMPTY_BOTTLE, i_itemNo);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dSv_player_item_c::setEmptyBottleItemIn(u8 i_itemNo) {
|
||||
nofralloc
|
||||
#include "asm/d/save/d_save/setEmptyBottleItemIn__17dSv_player_item_cFUc.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
void dSv_player_item_c::setEmptyBottle() {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
|
|
@ -636,33 +602,21 @@ void dSv_player_item_c::setEmptyBottle(u8 i_itemNo) {
|
|||
|
||||
/* 80033598-800336BC 02DED8 0124+00 1/1 3/3 0/0 .text
|
||||
* setEquipBottleItemIn__17dSv_player_item_cFUcUc */
|
||||
// one instruction
|
||||
#ifdef NONMATCHING
|
||||
void dSv_player_item_c::setEquipBottleItemIn(u8 curItemIn, u8 newItemIn) {
|
||||
u8 new_item = dSv_item_rename(newItemIn);
|
||||
newItemIn = dSv_item_rename(newItemIn);
|
||||
|
||||
if (dComIfGs_getSelectItemIndex(curItemIn) >= SLOT_11 &&
|
||||
dComIfGs_getSelectItemIndex(curItemIn) <= SLOT_14) {
|
||||
if (new_item == HOT_SPRING) {
|
||||
if (newItemIn == HOT_SPRING) {
|
||||
dMeter2Info_setHotSpringTimer(dComIfGs_getSelectItemIndex(curItemIn));
|
||||
}
|
||||
|
||||
setItem(dComIfGs_getSelectItemIndex(curItemIn), new_item);
|
||||
dComIfGs_setItem(dComIfGs_getSelectItemIndex(curItemIn), new_item);
|
||||
dComIfGp_setItem(dComIfGs_getSelectItemIndex(curItemIn), new_item);
|
||||
setItem(dComIfGs_getSelectItemIndex(curItemIn), newItemIn);
|
||||
dComIfGs_setItem(dComIfGs_getSelectItemIndex(curItemIn), newItemIn);
|
||||
dComIfGp_setItem(dComIfGs_getSelectItemIndex(curItemIn), newItemIn);
|
||||
dComIfGp_setSelectItem(curItemIn);
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dSv_player_item_c::setEquipBottleItemIn(u8 curItemIn, u8 newItemIn) {
|
||||
nofralloc
|
||||
#include "asm/d/save/d_save/setEquipBottleItemIn__17dSv_player_item_cFUcUc.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
void dSv_player_item_c::setEquipBottleItemEmpty(u8 curItemIn) {
|
||||
setEquipBottleItemIn(curItemIn, EMPTY_BOTTLE);
|
||||
|
|
@ -1270,23 +1224,12 @@ BOOL dSv_memBit_c::isSwitch(int i_no) const {
|
|||
}
|
||||
|
||||
/* 8003488C-800348C4 02F1CC 0038+00 1/1 0/0 0/0 .text revSwitch__12dSv_memBit_cFi */
|
||||
// instruction in wrong place
|
||||
#ifdef NONMATCHING
|
||||
BOOL dSv_memBit_c::revSwitch(int i_no) {
|
||||
u32 switchInd = i_no >> 5;
|
||||
u32 tmp = 1 << (i_no & 0x1F);
|
||||
mSwitch[i_no >> 5] ^= tmp;
|
||||
return mSwitch[i_no >> 5] & tmp ? TRUE : FALSE;
|
||||
mSwitch[switchInd] ^= tmp;
|
||||
return mSwitch[switchInd] & tmp ? TRUE : FALSE;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int dSv_memBit_c::revSwitch(int i_no) {
|
||||
nofralloc
|
||||
#include "asm/d/save/d_save/revSwitch__12dSv_memBit_cFi.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
void dSv_memBit_c::onItem(int i_no) {
|
||||
mItem[i_no >> 5] |= 1 << (i_no & 0x1F);
|
||||
|
|
@ -1450,23 +1393,12 @@ BOOL dSv_zoneBit_c::isSwitch(int i_no) const {
|
|||
}
|
||||
|
||||
/* 80034D78-80034DAC 02F6B8 0034+00 1/1 0/0 0/0 .text revSwitch__13dSv_zoneBit_cFi */
|
||||
// instruction in wrong place
|
||||
#ifdef NONMATCHING
|
||||
BOOL dSv_zoneBit_c::revSwitch(int i_no) {
|
||||
u32 switchInd = i_no >> 4;
|
||||
int uVar1 = 1 << (i_no & 0xF);
|
||||
mSwitch[i_no >> 4] ^= uVar1;
|
||||
return mSwitch[i_no >> 4] & uVar1 ? TRUE : FALSE;
|
||||
mSwitch[switchInd] ^= uVar1;
|
||||
return mSwitch[switchInd] & uVar1 ? TRUE : FALSE;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int dSv_zoneBit_c::revSwitch(int i_no) {
|
||||
nofralloc
|
||||
#include "asm/d/save/d_save/revSwitch__13dSv_zoneBit_cFi.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
void dSv_zoneBit_c::onOneSwitch(int i_no) {
|
||||
mRoomSwitch |= (u16)(1 << i_no);
|
||||
|
|
@ -1772,19 +1704,20 @@ int dSv_info_c::memory_to_card(char* card_ptr, int dataNum) {
|
|||
phi_r30 = true;
|
||||
}
|
||||
|
||||
char* save_ptr = card_ptr + (dataNum * 0xA94); // 0xA94 = Quest Log size
|
||||
card_ptr = card_ptr + (dataNum * 0xA94); // 0xA94 = Quest Log size
|
||||
dSv_save_c* savedata = dComIfGs_getSaveData();
|
||||
|
||||
s64 play_time = (OSGetTime() - dComIfGs_getSaveStartTime());
|
||||
s64 total_time = (play_time + dComIfGs_getSaveTotalTime()) / (OS_BUS_CLOCK / 4);
|
||||
s64 total_time = (play_time + dComIfGs_getSaveTotalTime());
|
||||
s64 play_time_secs = play_time / (OS_BUS_CLOCK / 4);
|
||||
|
||||
// 3599940 = 999:59 in seconds
|
||||
if (total_time < 3599940) {
|
||||
if (play_time_secs < 3599940) {
|
||||
savedata->getPlayer().getPlayerInfo().setTotalTime(total_time);
|
||||
}
|
||||
savedata->getPlayer().getPlayerStatusB().setDateIpl(OSGetTime());
|
||||
|
||||
memcpy(save_ptr, savedata, sizeof(dSv_save_c));
|
||||
memcpy(card_ptr, savedata, sizeof(dSv_save_c));
|
||||
printf("Write size:%d\n", sizeof(dSv_save_c));
|
||||
|
||||
if (lantern_not_recovered == true) {
|
||||
|
|
@ -1816,17 +1749,11 @@ asm int dSv_info_c::memory_to_card(char* card_ptr, int dataNum) {
|
|||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80379234-80379234 005894 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_8037927A = "LOAD size:%d\n";
|
||||
#pragma pop
|
||||
|
||||
/* 80035A04-80035BD0 030344 01CC+00 0/0 2/2 0/0 .text card_to_memory__10dSv_info_cFPci */
|
||||
// memcpy param loads out of order
|
||||
#ifdef NONMATCHING
|
||||
int dSv_info_c::card_to_memory(char* card_ptr, int dataNum) {
|
||||
memcpy(dComIfGs_getSaveData(), card_ptr + dataNum * 0xa94, sizeof(dSv_save_c));
|
||||
card_ptr = card_ptr + dataNum * 0xa94;
|
||||
memcpy(dComIfGs_getSaveData(), card_ptr, sizeof(dSv_save_c));
|
||||
|
||||
if (OSGetSoundMode() == OS_SOUND_MODE_MONO) {
|
||||
g_dComIfG_gameInfo.info.getPlayer().getConfig().setSound(OS_SOUND_MODE_MONO);
|
||||
|
|
@ -1834,8 +1761,8 @@ int dSv_info_c::card_to_memory(char* card_ptr, int dataNum) {
|
|||
} else if (g_dComIfG_gameInfo.info.getPlayer().getConfig().getSound() == 2) {
|
||||
Z2AudioMgr::mAudioMgrPtr->setOutputMode(2);
|
||||
} else {
|
||||
g_dComIfG_gameInfo.info.getPlayer().getConfig().setSound(SOUND_MODE_STEREO);
|
||||
Z2AudioMgr::mAudioMgrPtr->setOutputMode(SOUND_MODE_STEREO);
|
||||
g_dComIfG_gameInfo.info.getPlayer().getConfig().setSound(OS_SOUND_MODE_STEREO);
|
||||
Z2AudioMgr::mAudioMgrPtr->setOutputMode(OS_SOUND_MODE_STEREO);
|
||||
}
|
||||
|
||||
dSv_save_c* savedata = dComIfGs_getSaveData();
|
||||
|
|
@ -1865,49 +1792,22 @@ int dSv_info_c::card_to_memory(char* card_ptr, int dataNum) {
|
|||
printf("LOAD size:%d\n", sizeof(dSv_save_c));
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int dSv_info_c::card_to_memory(char* card_ptr, int dataNum) {
|
||||
nofralloc
|
||||
#include "asm/d/save/d_save/card_to_memory__10dSv_info_cFPci.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80379234-80379234 005894 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80379288 = "INIT size:%d\n";
|
||||
/* @stringBase0 padding */
|
||||
SECTION_DEAD static char const* const pad_80379296 = "\0";
|
||||
#pragma pop
|
||||
|
||||
/* 80035BD0-80035C88 030510 00B8+00 0/0 3/3 0/0 .text initdata_to_card__10dSv_info_cFPci
|
||||
*/
|
||||
#ifdef NONMATCHING
|
||||
int dSv_info_c::initdata_to_card(char* card_ptr, int dataNum) {
|
||||
char* ptr = card_ptr + (dataNum * 0xa94);
|
||||
card_ptr = card_ptr + (dataNum * 0xa94);
|
||||
dSv_save_c tmp;
|
||||
|
||||
tmp.init();
|
||||
tmp.getPlayer().getPlayerInfo().setPlayerName("");
|
||||
tmp.getPlayer().getPlayerInfo().setHorseName("");
|
||||
memcpy(&ptr, &tmp, 0x958);
|
||||
memcpy(card_ptr, &tmp, 0x958);
|
||||
printf("INIT size:%d\n", 0x958);
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int dSv_info_c::initdata_to_card(char* card_ptr, int dataNum){nofralloc
|
||||
#include "asm/d/save/d_save/initdata_to_card__10dSv_info_cFPci.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
u16 const dSv_event_tmp_flag_c::tempBitLabels[185] = {
|
||||
0xFFFF, 0xFFFF, 0xFF0F, 0xFEFF, 0x0040, 0xFDFF, 0xFCFF, 0x0020, 0x0080, 0x0010, 0x0008, 0x0004,
|
||||
|
|
|
|||
|
|
@ -361,6 +361,32 @@ struct shop_item_data {
|
|||
SECTION_DATA static shop_item_data item_seira_shop = {
|
||||
{{110.0f, 150.0f, -115.0f}, {160.0f, 150.0f, -115.0f}, {210.0f, 150.0f, -115.0f}}};
|
||||
|
||||
#ifdef NONMATCHING
|
||||
static processFunc process[22] = {
|
||||
&dShopSystem_c::seq_wait,
|
||||
&dShopSystem_c::seq_start,
|
||||
&dShopSystem_c::seq_select_wait,
|
||||
&dShopSystem_c::seq_select_start,
|
||||
&dShopSystem_c::seq_select,
|
||||
&dShopSystem_c::seq_moving,
|
||||
&dShopSystem_c::seq_decide,
|
||||
&dShopSystem_c::seq_choose,
|
||||
&dShopSystem_c::seq_decide_yes,
|
||||
&dShopSystem_c::seq_decide_no,
|
||||
&dShopSystem_c::seq_finish,
|
||||
(processFunc)&dShopSystem_c::seq_event,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
};
|
||||
#else
|
||||
/* 803BB8E4-803BB8F0 -00001 000C+00 0/1 0/0 0/0 .data @4056 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
|
|
@ -749,6 +775,7 @@ SECTION_DATA static u8 process[144 + 120 /* padding */] = {
|
|||
0x00,
|
||||
0x00,
|
||||
};
|
||||
#endif
|
||||
|
||||
/* 801974E4-801975C0 191E24 00DC+00 1/0 0/0 10/10 .text __dt__13dShopSystem_cFv */
|
||||
dShopSystem_c::~dShopSystem_c() {
|
||||
|
|
@ -2072,14 +2099,45 @@ int dShopSystem_c::shop_init(bool param_0) {
|
|||
|
||||
/* 8019A158-8019A238 194A98 00E0+00 0/0 0/0 9/9 .text
|
||||
* shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */
|
||||
// process array match issues
|
||||
#ifdef NONMATCHING
|
||||
int dShopSystem_c::shop_process(fopAc_ac_c* param_0, dMsgFlow_c* param_1) {
|
||||
int iVar1;
|
||||
iVar1 = (this->*process[mSeq])(param_0, param_1);
|
||||
|
||||
if (mWaitTimer != 0) {
|
||||
mWaitTimer--;
|
||||
}
|
||||
if (field_0xf7a != 0) {
|
||||
dMeter2Info_set2DVibration();
|
||||
field_0xf7a = 0;
|
||||
}
|
||||
if (iVar1 != 0) {
|
||||
g_meter2_info.offShopTalkFlag();
|
||||
if (mSeq != 0) {
|
||||
setSeq(0);
|
||||
}
|
||||
if (iVar1 != 2) {
|
||||
mCursorPos = 0;
|
||||
mLastCursorPos = 0;
|
||||
}
|
||||
}
|
||||
if (mSeq != field_0xf71) {
|
||||
field_0xf71 = mSeq;
|
||||
field_0xf79 = 1;
|
||||
}
|
||||
return iVar1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dShopSystem_c::shop_process(fopAc_ac_c* param_0, dMsgFlow_c* param_1) {
|
||||
asm int dShopSystem_c::shop_process(fopAc_ac_c* param_0, dMsgFlow_c* param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/shop/d_shop_system/shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804506F8-80450700 -00001 0004+04 1/1 0/0 0/0 .sdata shop_item_pos_data_tbl */
|
||||
|
|
|
|||
|
|
@ -19,9 +19,9 @@
|
|||
|
||||
/* 80020ACC-80020AE8 001C+00 s=1 e=0 z=0 None .text fpcCtRq_isCreatingByID__FP10create_tagPUi
|
||||
*/
|
||||
BOOL fpcCtRq_isCreatingByID(create_tag* pTag, unsigned int* pId) {
|
||||
bool fpcCtRq_isCreatingByID(create_tag* pTag, unsigned int* pId) {
|
||||
create_request* pReq = static_cast<create_request*>(pTag->mBase.mpTagData);
|
||||
return checkEqual(*pId, pReq->mBsPcId);
|
||||
return pReq->mBsPcId == *pId;
|
||||
}
|
||||
|
||||
/* 80020AE8-80020B20 0038+00 s=0 e=2 z=0 None .text fpcCtRq_IsCreatingByID__FUi */
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ s32 fpcDt_ToDeleteQ(base_process_class* pProc) {
|
|||
if (cTg_IsUse(&pProc->mDtTg.mBase) != 0) {
|
||||
return 1;
|
||||
} else {
|
||||
if (fpcBs_Is_JustOfType(g_fpcNd_type, pProc->mSubType) != 0) {
|
||||
if (fpcBs_Is_JustOfType(g_fpcNd_type, pProc->mSubType)) {
|
||||
process_node_class* procNode = (process_node_class*)pProc;
|
||||
if (fpcNd_IsDeleteTiming(procNode) == 0) {
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ s32 fpcLy_ToCancelQ(layer_class* pLayer, process_method_tag_class* pMthd) {
|
|||
|
||||
/* 800215CC-800215F8 002C+00 s=1 e=0 z=0 None .text
|
||||
* fpcLy_CancelMethod__FP24process_method_tag_class */
|
||||
BOOL fpcLy_CancelMethod(process_method_tag_class* pLayer) {
|
||||
return checkEqual(1, fpcMtdTg_Do(pLayer));
|
||||
bool fpcLy_CancelMethod(process_method_tag_class* pLayer) {
|
||||
return fpcMtdTg_Do(pLayer) == 1;
|
||||
}
|
||||
|
||||
/* 800215F8-8002161C 0024+00 s=0 e=1 z=0 None .text
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
#include "m_Do/m_Do_MemCard.h"
|
||||
#include "JSystem/JKernel/JKRThread.h"
|
||||
#include "JSystem/JGadget/binary.h"
|
||||
#include "MSL_C/MSL_Common/Src/string.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
|
@ -15,47 +16,13 @@
|
|||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__15mDoMemCd_Ctrl_cFv();
|
||||
extern "C" void ThdInit__15mDoMemCd_Ctrl_cFv();
|
||||
extern "C" void main__15mDoMemCd_Ctrl_cFv();
|
||||
extern "C" void update__15mDoMemCd_Ctrl_cFv();
|
||||
extern "C" void load__15mDoMemCd_Ctrl_cFv();
|
||||
extern "C" void restore__15mDoMemCd_Ctrl_cFv();
|
||||
extern "C" void LoadSync__15mDoMemCd_Ctrl_cFPvUlUl();
|
||||
extern "C" void save__15mDoMemCd_Ctrl_cFPvUlUl();
|
||||
extern "C" void store__15mDoMemCd_Ctrl_cFv();
|
||||
extern "C" void SaveSync__15mDoMemCd_Ctrl_cFv();
|
||||
extern "C" void getStatus__15mDoMemCd_Ctrl_cFUl();
|
||||
extern "C" void command_format__15mDoMemCd_Ctrl_cFv();
|
||||
extern "C" void format__15mDoMemCd_Ctrl_cFv();
|
||||
extern "C" void FormatSync__15mDoMemCd_Ctrl_cFv();
|
||||
extern "C" void attach__15mDoMemCd_Ctrl_cFv();
|
||||
extern "C" void command_attach__15mDoMemCd_Ctrl_cFv();
|
||||
extern "C" void detach__15mDoMemCd_Ctrl_cFv();
|
||||
extern "C" void mount__15mDoMemCd_Ctrl_cFv();
|
||||
extern "C" void loadfile__15mDoMemCd_Ctrl_cFv();
|
||||
extern "C" void checkspace__15mDoMemCd_Ctrl_cFv();
|
||||
extern "C" void setCardState__15mDoMemCd_Ctrl_cFl();
|
||||
extern "C" static void mDoMemCd_main__FPv();
|
||||
extern "C" void __sinit_m_Do_MemCard_cpp();
|
||||
extern "C" extern char const* const m_Do_m_Do_MemCard__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoExt_getAssertHeap__Fv();
|
||||
extern "C" void mDoMemCdRWm_Store__FP12CARDFileInfoPvUl();
|
||||
extern "C" void mDoMemCdRWm_Restore__FP12CARDFileInfoPvUl();
|
||||
extern "C" void becomeCurrentHeap__7JKRHeapFv();
|
||||
extern "C" void __ct__9JKRThreadFP8OSThreadi();
|
||||
extern "C" void __dt__9JKRThreadFv();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
|
@ -378,18 +345,16 @@ s32 mDoMemCd_Ctrl_c::FormatSync() {
|
|||
}
|
||||
|
||||
/* 80016FB8-800170B8 0118F8 0100+00 1/1 0/0 0/0 .text attach__15mDoMemCd_Ctrl_cFv */
|
||||
// switch has case issues
|
||||
#ifdef NONMATCHING
|
||||
void mDoMemCd_Ctrl_c::attach() {
|
||||
s32 mem_size;
|
||||
s32 sect_size;
|
||||
|
||||
s32 card_state = CARDProbeEx(mChannel, &mem_size, §_size);
|
||||
if (card_state == CARD_ERROR_NOCARD) {
|
||||
if (card_state == CARD_RESULT_NOCARD) {
|
||||
mCardState = 0;
|
||||
} else if (card_state == CARD_ERROR_FATAL_ERROR) {
|
||||
} else if (card_state == CARD_RESULT_FATAL_ERROR) {
|
||||
mCardState = 12;
|
||||
} else if (card_state == CARD_ERROR_WRONGDEVICE) {
|
||||
} else if (card_state == CARD_RESULT_WRONGDEVICE) {
|
||||
mCardState = 10;
|
||||
} else if (sect_size != 0x2000) {
|
||||
mCardState = 11;
|
||||
|
|
@ -408,21 +373,13 @@ void mDoMemCd_Ctrl_c::attach() {
|
|||
case 2:
|
||||
mCardState = 9;
|
||||
break;
|
||||
case 3:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoMemCd_Ctrl_c::attach() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_MemCard/attach__15mDoMemCd_Ctrl_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 800170B8-80017110 0119F8 0058+00 0/0 1/1 0/0 .text command_attach__15mDoMemCd_Ctrl_cFv
|
||||
*/
|
||||
|
|
@ -442,36 +399,48 @@ void mDoMemCd_Ctrl_c::detach() {
|
|||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A3530-803A3568 -00001 0038+00 1/1 0/0 0/0 .data @3850 */
|
||||
SECTION_DATA static void* lit_3850[14] = {
|
||||
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xF4),
|
||||
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
|
||||
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
|
||||
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
|
||||
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
|
||||
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
|
||||
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
|
||||
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xC4),
|
||||
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xD4),
|
||||
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
|
||||
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xE4),
|
||||
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
|
||||
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114),
|
||||
(void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xBC),
|
||||
};
|
||||
|
||||
/* 803E0F40-803EAF40 00DC60 A000+00 1/1 0/0 0/0 .bss MemCardWorkArea0 */
|
||||
static u8 MemCardWorkArea0[5 * 8 * 1024] ALIGN_DECL(32);
|
||||
|
||||
/* 80017148-80017274 011A88 012C+00 2/1 0/0 0/0 .text mount__15mDoMemCd_Ctrl_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm s32 mDoMemCd_Ctrl_c::mount() {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_MemCard/mount__15mDoMemCd_Ctrl_cFv.s"
|
||||
s32 mDoMemCd_Ctrl_c::mount() {
|
||||
s32 result = CARDMount(mChannel, MemCardWorkArea0, 0);
|
||||
|
||||
switch (result) {
|
||||
case CARD_RESULT_IOERROR:
|
||||
case CARD_RESULT_FATAL_ERROR:
|
||||
mCardState = 12;
|
||||
return 0;
|
||||
case CARD_RESULT_NOCARD:
|
||||
mCardState = 0;
|
||||
return 0;
|
||||
case CARD_RESULT_BROKEN:
|
||||
case CARD_RESULT_READY:
|
||||
switch (CARDCheck(mChannel)) {
|
||||
case CARD_RESULT_READY:
|
||||
return 1;
|
||||
case CARD_RESULT_BROKEN:
|
||||
mCardState = 7;
|
||||
return 0;
|
||||
case CARD_RESULT_IOERROR:
|
||||
mCardState = 12;
|
||||
return 0;
|
||||
case CARD_RESULT_NOCARD:
|
||||
mCardState = 0;
|
||||
return 0;
|
||||
case CARD_RESULT_ENCODING:
|
||||
mCardState = 6;
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case CARD_RESULT_ENCODING:
|
||||
mCardState = 6;
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80017274-800172D4 011BB4 0060+00 1/1 0/0 0/0 .text loadfile__15mDoMemCd_Ctrl_cFv */
|
||||
s32 mDoMemCd_Ctrl_c::loadfile() {
|
||||
|
|
@ -488,6 +457,26 @@ s32 mDoMemCd_Ctrl_c::loadfile() {
|
|||
}
|
||||
|
||||
/* 800172D4-80017360 011C14 008C+00 1/1 0/0 0/0 .text checkspace__15mDoMemCd_Ctrl_cFv */
|
||||
//
|
||||
#ifdef NONMATCHING
|
||||
// final return statement
|
||||
s32 mDoMemCd_Ctrl_c::checkspace() {
|
||||
s32 bytesNotUsed, filesNotUsed;
|
||||
s32 result;
|
||||
result = CARDFreeBlocks(mChannel, &bytesNotUsed, &filesNotUsed);
|
||||
|
||||
if (result) {
|
||||
setCardState(result);
|
||||
return 3;
|
||||
}
|
||||
|
||||
if (bytesNotUsed < 0x8000) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return (filesNotUsed - 1 < 0);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
|
|
@ -496,43 +485,33 @@ asm s32 mDoMemCd_Ctrl_c::checkspace() {
|
|||
#include "asm/m_Do/m_Do_MemCard/checkspace__15mDoMemCd_Ctrl_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80017360-8001741C 011CA0 00BC+00 5/5 0/0 0/0 .text setCardState__15mDoMemCd_Ctrl_cFl
|
||||
*/
|
||||
// cases aren't fully correct
|
||||
#ifdef NONMATCHING
|
||||
void mDoMemCd_Ctrl_c::setCardState(s32 param_0) {
|
||||
switch (param_0) {
|
||||
case CARD_ERROR_IOERROR:
|
||||
case CARD_ERROR_FATAL_ERROR:
|
||||
case CARD_RESULT_IOERROR:
|
||||
case CARD_RESULT_FATAL_ERROR:
|
||||
mCardState = 12;
|
||||
break;
|
||||
case CARD_ERROR_NOCARD:
|
||||
case CARD_RESULT_NOCARD:
|
||||
mCardState = 0;
|
||||
break;
|
||||
case CARD_ERROR_READY:
|
||||
case CARD_RESULT_BROKEN:
|
||||
case CARD_RESULT_READY:
|
||||
if (CARDCheck(mChannel) != 0) {
|
||||
mCardState = 7;
|
||||
}
|
||||
break;
|
||||
case CARD_ERROR_ENCODING:
|
||||
case CARD_RESULT_ENCODING:
|
||||
mCardState = 6;
|
||||
break;
|
||||
case CARD_ERROR_BROKEN:
|
||||
case CARD_RESULT_NOFILE:
|
||||
mCardState = 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void mDoMemCd_Ctrl_c::setCardState(s32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/m_Do/m_Do_MemCard/setCardState__15mDoMemCd_Ctrl_cFl.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803EAF40-803ECF40 017C60 2000+00 2/2 27/27 0/0 .bss g_mDoMemCd_control */
|
||||
|
|
|
|||
|
|
@ -91,9 +91,10 @@ while idx < len(profile_bytes) - 16:
|
|||
ADDI = 0x38 >> 2
|
||||
LI = ADDI # an LI instruction is just an ADDI with RA=0
|
||||
LMW = 0xB8 >> 2
|
||||
FDIVS = 0xEC >> 2
|
||||
|
||||
if opcode_a == LWZ and \
|
||||
opcode_b in [LI, LFS] and \
|
||||
if opcode_a in [LWZ, LMW] and vanilla_inst_a[2] == 0x00 and \
|
||||
opcode_b in [LI, LFS, FDIVS] and \
|
||||
vanilla_inst_a == profile_inst_b and \
|
||||
vanilla_inst_b == profile_inst_a and \
|
||||
vanilla_inst_c == profile_inst_c and \
|
||||
|
|
|
|||
Loading…
Reference in New Issue