dSv_player_collect_c ok

This commit is contained in:
unknown 2020-11-23 19:57:23 -05:00
parent 8b358fdf8d
commit d92f32f541
No known key found for this signature in database
GPG Key ID: 4312662758CE7D5A
9 changed files with 84 additions and 124 deletions

View File

@ -4490,7 +4490,7 @@ lbl_8002EF08:
/* 8002EF10 0002BE50 38 63 01 00 */ addi r3, r3, 0x100
/* 8002EF14 0002BE54 38 80 00 01 */ li r4, 1
/* 8002EF18 0002BE58 38 A0 00 00 */ li r5, 0
/* 8002EF1C 0002BE5C 48 00 52 CD */ bl dSv_player_collect_c_NS_setCollect
/* 8002EF1C 0002BE5C 48 00 52 CD */ bl setCollect__20dSv_player_collect_cFiUc
/* 8002EF20 0002BE60 48 00 00 54 */ b lbl_8002EF74
lbl_8002EF24:
/* 8002EF24 0002BE64 3C 60 80 40 */ lis r3, lbl_804061C0@ha
@ -4498,7 +4498,7 @@ lbl_8002EF24:
/* 8002EF2C 0002BE6C 38 63 01 00 */ addi r3, r3, 0x100
/* 8002EF30 0002BE70 38 80 00 01 */ li r4, 1
/* 8002EF34 0002BE74 38 A0 00 01 */ li r5, 1
/* 8002EF38 0002BE78 48 00 52 B1 */ bl dSv_player_collect_c_NS_setCollect
/* 8002EF38 0002BE78 48 00 52 B1 */ bl setCollect__20dSv_player_collect_cFiUc
/* 8002EF3C 0002BE7C 48 00 00 38 */ b lbl_8002EF74
lbl_8002EF40:
/* 8002EF40 0002BE80 3C 60 80 40 */ lis r3, lbl_804061C0@ha
@ -4506,7 +4506,7 @@ lbl_8002EF40:
/* 8002EF48 0002BE88 38 63 01 00 */ addi r3, r3, 0x100
/* 8002EF4C 0002BE8C 38 80 00 01 */ li r4, 1
/* 8002EF50 0002BE90 38 A0 00 02 */ li r5, 2
/* 8002EF54 0002BE94 48 00 52 95 */ bl dSv_player_collect_c_NS_setCollect
/* 8002EF54 0002BE94 48 00 52 95 */ bl setCollect__20dSv_player_collect_cFiUc
/* 8002EF58 0002BE98 48 00 00 1C */ b lbl_8002EF74
lbl_8002EF5C:
/* 8002EF5C 0002BE9C 3C 60 80 40 */ lis r3, lbl_804061C0@ha
@ -4514,7 +4514,7 @@ lbl_8002EF5C:
/* 8002EF64 0002BEA4 38 63 01 00 */ addi r3, r3, 0x100
/* 8002EF68 0002BEA8 38 80 00 01 */ li r4, 1
/* 8002EF6C 0002BEAC 38 A0 00 03 */ li r5, 3
/* 8002EF70 0002BEB0 48 00 52 79 */ bl dSv_player_collect_c_NS_setCollect
/* 8002EF70 0002BEB0 48 00 52 79 */ bl setCollect__20dSv_player_collect_cFiUc
lbl_8002EF74:
/* 8002EF74 0002BEB4 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 8002EF78 0002BEB8 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
@ -4549,7 +4549,7 @@ lbl_8002EFD0:
/* 8002EFD8 0002BF18 38 63 01 00 */ addi r3, r3, 0x100
/* 8002EFDC 0002BF1C 38 80 00 02 */ li r4, 2
/* 8002EFE0 0002BF20 38 A0 00 00 */ li r5, 0
/* 8002EFE4 0002BF24 48 00 52 05 */ bl dSv_player_collect_c_NS_setCollect
/* 8002EFE4 0002BF24 48 00 52 05 */ bl setCollect__20dSv_player_collect_cFiUc
/* 8002EFE8 0002BF28 48 00 00 38 */ b lbl_8002F020
lbl_8002EFEC:
/* 8002EFEC 0002BF2C 3C 60 80 40 */ lis r3, lbl_804061C0@ha
@ -4557,7 +4557,7 @@ lbl_8002EFEC:
/* 8002EFF4 0002BF34 38 63 01 00 */ addi r3, r3, 0x100
/* 8002EFF8 0002BF38 38 80 00 02 */ li r4, 2
/* 8002EFFC 0002BF3C 38 A0 00 01 */ li r5, 1
/* 8002F000 0002BF40 48 00 51 E9 */ bl dSv_player_collect_c_NS_setCollect
/* 8002F000 0002BF40 48 00 51 E9 */ bl setCollect__20dSv_player_collect_cFiUc
/* 8002F004 0002BF44 48 00 00 1C */ b lbl_8002F020
lbl_8002F008:
/* 8002F008 0002BF48 3C 60 80 40 */ lis r3, lbl_804061C0@ha
@ -4565,7 +4565,7 @@ lbl_8002F008:
/* 8002F010 0002BF50 38 63 01 00 */ addi r3, r3, 0x100
/* 8002F014 0002BF54 38 80 00 02 */ li r4, 2
/* 8002F018 0002BF58 38 A0 00 02 */ li r5, 2
/* 8002F01C 0002BF5C 48 00 51 CD */ bl dSv_player_collect_c_NS_setCollect
/* 8002F01C 0002BF5C 48 00 51 CD */ bl setCollect__20dSv_player_collect_cFiUc
lbl_8002F020:
/* 8002F020 0002BF60 3C 60 80 40 */ lis r3, lbl_804061C0@ha
/* 8002F024 0002BF64 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l

View File

@ -386,7 +386,7 @@ lbl_80097F18:
/* 80098464 000953A4 38 63 01 00 */ addi r3, r3, 0x100
/* 80098468 000953A8 38 80 00 01 */ li r4, 1
/* 8009846C 000953AC 38 A0 00 00 */ li r5, 0
/* 80098470 000953B0 4B F9 BD 79 */ bl dSv_player_collect_c_NS_setCollect
/* 80098470 000953B0 4B F9 BD 79 */ bl setCollect__20dSv_player_collect_cFiUc
/* 80098474 000953B4 38 60 00 28 */ li r3, 0x28
/* 80098478 000953B8 4B F9 6A 49 */ bl dComIfGs_setSelectEquipSword
/* 8009847C 000953BC 80 01 00 14 */ lwz r0, 0x14(r1)
@ -401,7 +401,7 @@ lbl_80097F18:
/* 800984A0 000953E0 38 63 01 00 */ addi r3, r3, 0x100
/* 800984A4 000953E4 38 80 00 01 */ li r4, 1
/* 800984A8 000953E8 38 A0 00 01 */ li r5, 1
/* 800984AC 000953EC 4B F9 BD 3D */ bl dSv_player_collect_c_NS_setCollect
/* 800984AC 000953EC 4B F9 BD 3D */ bl setCollect__20dSv_player_collect_cFiUc
/* 800984B0 000953F0 38 60 00 29 */ li r3, 0x29
/* 800984B4 000953F4 4B F9 6A 0D */ bl dComIfGs_setSelectEquipSword
/* 800984B8 000953F8 80 01 00 14 */ lwz r0, 0x14(r1)
@ -416,7 +416,7 @@ lbl_80097F18:
/* 800984DC 0009541C 38 63 01 00 */ addi r3, r3, 0x100
/* 800984E0 00095420 38 80 00 02 */ li r4, 2
/* 800984E4 00095424 38 A0 00 00 */ li r5, 0
/* 800984E8 00095428 4B F9 BD 01 */ bl dSv_player_collect_c_NS_setCollect
/* 800984E8 00095428 4B F9 BD 01 */ bl setCollect__20dSv_player_collect_cFiUc
/* 800984EC 0009542C 38 60 00 2A */ li r3, 0x2a
/* 800984F0 00095430 4B F9 6A A5 */ bl dComIfGs_setSelectEquipShield
/* 800984F4 00095434 80 01 00 14 */ lwz r0, 0x14(r1)
@ -455,7 +455,7 @@ lbl_80097F18:
/* 80098578 000954B8 38 63 01 00 */ addi r3, r3, 0x100
/* 8009857C 000954BC 38 80 00 00 */ li r4, 0
/* 80098580 000954C0 38 A0 00 00 */ li r5, 0
/* 80098584 000954C4 4B F9 BC 65 */ bl dSv_player_collect_c_NS_setCollect
/* 80098584 000954C4 4B F9 BC 65 */ bl setCollect__20dSv_player_collect_cFiUc
/* 80098588 000954C8 38 60 00 2F */ li r3, 0x2f
/* 8009858C 000954CC 4B F9 69 25 */ bl dComIfGs_setSelectEquipClothes
/* 80098590 000954D0 80 01 00 14 */ lwz r0, 0x14(r1)
@ -545,7 +545,7 @@ lbl_80098680:
/* 800986D8 00095618 38 63 01 00 */ addi r3, r3, 0x100
/* 800986DC 0009561C 38 80 00 01 */ li r4, 1
/* 800986E0 00095620 38 A0 00 02 */ li r5, 2
/* 800986E4 00095624 4B F9 BB 05 */ bl dSv_player_collect_c_NS_setCollect
/* 800986E4 00095624 4B F9 BB 05 */ bl setCollect__20dSv_player_collect_cFiUc
/* 800986E8 00095628 38 60 00 3F */ li r3, 0x3f
/* 800986EC 0009562C 4B F9 67 D5 */ bl dComIfGs_setSelectEquipSword
/* 800986F0 00095630 88 AD 87 E4 */ lbz r5, lbl_80450D64-_SDA_BASE_(r13)
@ -698,7 +698,7 @@ lbl_80098680:
/* 8009893C 0009587C 38 63 01 00 */ addi r3, r3, 0x100
/* 80098940 00095880 38 80 00 01 */ li r4, 1
/* 80098944 00095884 38 A0 00 03 */ li r5, 3
/* 80098948 00095888 4B F9 B8 A1 */ bl dSv_player_collect_c_NS_setCollect
/* 80098948 00095888 4B F9 B8 A1 */ bl setCollect__20dSv_player_collect_cFiUc
/* 8009894C 0009588C 38 60 00 49 */ li r3, 0x49
/* 80098950 00095890 38 80 00 00 */ li r4, 0
/* 80098954 00095894 48 18 5B DD */ bl dMeter2Info_setSword
@ -1857,7 +1857,7 @@ lbl_80098F68:
/* 80099B3C 00096A7C 38 63 01 00 */ addi r3, r3, 0x100
/* 80099B40 00096A80 38 80 00 01 */ li r4, 1
/* 80099B44 00096A84 38 A0 00 00 */ li r5, 0
/* 80099B48 00096A88 4B F9 A6 C1 */ bl dSv_player_collect_c_NS_isCollect
/* 80099B48 00096A88 4B F9 A6 C1 */ bl isCollect__20dSv_player_collect_cCFiUc
/* 80099B4C 00096A8C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80099B50 00096A90 7C 08 03 A6 */ mtlr r0
/* 80099B54 00096A94 38 21 00 10 */ addi r1, r1, 0x10
@ -1870,7 +1870,7 @@ lbl_80098F68:
/* 80099B70 00096AB0 38 63 01 00 */ addi r3, r3, 0x100
/* 80099B74 00096AB4 38 80 00 01 */ li r4, 1
/* 80099B78 00096AB8 38 A0 00 01 */ li r5, 1
/* 80099B7C 00096ABC 4B F9 A6 8D */ bl dSv_player_collect_c_NS_isCollect
/* 80099B7C 00096ABC 4B F9 A6 8D */ bl isCollect__20dSv_player_collect_cCFiUc
/* 80099B80 00096AC0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80099B84 00096AC4 7C 08 03 A6 */ mtlr r0
/* 80099B88 00096AC8 38 21 00 10 */ addi r1, r1, 0x10
@ -1948,7 +1948,7 @@ lbl_80098F68:
/* 80099CA8 00096BE8 38 63 01 00 */ addi r3, r3, 0x100
/* 80099CAC 00096BEC 38 80 00 00 */ li r4, 0
/* 80099CB0 00096BF0 38 A0 00 00 */ li r5, 0
/* 80099CB4 00096BF4 4B F9 A5 55 */ bl dSv_player_collect_c_NS_isCollect
/* 80099CB4 00096BF4 4B F9 A5 55 */ bl isCollect__20dSv_player_collect_cCFiUc
/* 80099CB8 00096BF8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80099CBC 00096BFC 7C 08 03 A6 */ mtlr r0
/* 80099CC0 00096C00 38 21 00 10 */ addi r1, r1, 0x10
@ -2204,7 +2204,7 @@ lbl_80098F68:
/* 8009A0A8 00096FE8 38 63 01 00 */ addi r3, r3, 0x100
/* 8009A0AC 00096FEC 38 80 00 01 */ li r4, 1
/* 8009A0B0 00096FF0 38 A0 00 03 */ li r5, 3
/* 8009A0B4 00096FF4 4B F9 A1 55 */ bl dSv_player_collect_c_NS_isCollect
/* 8009A0B4 00096FF4 4B F9 A1 55 */ bl isCollect__20dSv_player_collect_cCFiUc
/* 8009A0B8 00096FF8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8009A0BC 00096FFC 7C 08 03 A6 */ mtlr r0
/* 8009A0C0 00097000 38 21 00 10 */ addi r1, r1, 0x10

View File

@ -501,7 +501,7 @@ dMeter2_c_NS__execute:
/* 8021F154 0021C094 3B C3 01 00 */ addi r30, r3, 0x100
/* 8021F158 0021C098 7F C3 F3 78 */ mr r3, r30
/* 8021F15C 0021C09C 38 80 00 00 */ li r4, 0
/* 8021F160 0021C0A0 4B E1 51 31 */ bl dSv_player_collect_c_NS_isCollectMirror
/* 8021F160 0021C0A0 4B E1 51 31 */ bl isCollectMirror__20dSv_player_collect_cCFUc
/* 8021F164 0021C0A4 2C 03 00 00 */ cmpwi r3, 0
/* 8021F168 0021C0A8 40 82 00 2C */ bne lbl_8021F194
/* 8021F16C 0021C0AC 3C 60 80 40 */ lis r3, lbl_804061C0@ha
@ -513,11 +513,11 @@ dMeter2_c_NS__execute:
/* 8021F184 0021C0C4 41 82 00 10 */ beq lbl_8021F194
/* 8021F188 0021C0C8 7F C3 F3 78 */ mr r3, r30
/* 8021F18C 0021C0CC 38 80 00 00 */ li r4, 0
/* 8021F190 0021C0D0 4B E1 50 E1 */ bl dSv_player_collect_c_NS_onCollectMirror
/* 8021F190 0021C0D0 4B E1 50 E1 */ bl onCollectMirror__20dSv_player_collect_cFUc
lbl_8021F194:
/* 8021F194 0021C0D4 7F C3 F3 78 */ mr r3, r30
/* 8021F198 0021C0D8 38 80 00 03 */ li r4, 3
/* 8021F19C 0021C0DC 4B E1 50 B1 */ bl dSv_player_collect_c_NS_isCollectCrystal
/* 8021F19C 0021C0DC 4B E1 50 B1 */ bl isCollectCrystal__20dSv_player_collect_cCFUc
/* 8021F1A0 0021C0E0 2C 03 00 00 */ cmpwi r3, 0
/* 8021F1A4 0021C0E4 40 82 00 2C */ bne lbl_8021F1D0
/* 8021F1A8 0021C0E8 3C 60 80 40 */ lis r3, lbl_804061C0@ha
@ -529,7 +529,7 @@ lbl_8021F194:
/* 8021F1C0 0021C100 41 82 00 10 */ beq lbl_8021F1D0
/* 8021F1C4 0021C104 7F C3 F3 78 */ mr r3, r30
/* 8021F1C8 0021C108 38 80 00 03 */ li r4, 3
/* 8021F1CC 0021C10C 4B E1 50 61 */ bl dSv_player_collect_c_NS_onCollectCrystal
/* 8021F1CC 0021C10C 4B E1 50 61 */ bl onCollectCrystal__20dSv_player_collect_cFUc
lbl_8021F1D0:
/* 8021F1D0 0021C110 7F A3 EB 78 */ mr r3, r29
/* 8021F1D4 0021C114 48 00 05 DD */ bl dMeter2_c_NS_checkStatus

View File

@ -2,75 +2,6 @@
.section .text, "ax" # 80032918
.global dSv_player_collect_c_NS_setCollect
dSv_player_collect_c_NS_setCollect:
/* 800341E8 00031128 7C E3 20 AE */ lbzx r7, r3, r4
/* 800341EC 0003112C 38 C0 00 01 */ li r6, 1
/* 800341F0 00031130 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 800341F4 00031134 7C C0 00 30 */ slw r0, r6, r0
/* 800341F8 00031138 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 800341FC 0003113C 7C E0 03 78 */ or r0, r7, r0
/* 80034200 00031140 7C 03 21 AE */ stbx r0, r3, r4
/* 80034204 00031144 4E 80 00 20 */ blr
.global dSv_player_collect_c_NS_isCollect
dSv_player_collect_c_NS_isCollect:
/* 80034208 00031148 38 C0 00 01 */ li r6, 1
/* 8003420C 0003114C 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 80034210 00031150 7C C0 00 30 */ slw r0, r6, r0
/* 80034214 00031154 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 80034218 00031158 7C 03 20 AE */ lbzx r0, r3, r4
/* 8003421C 0003115C 7C A3 00 38 */ and r3, r5, r0
/* 80034220 00031160 30 03 FF FF */ addic r0, r3, -1
/* 80034224 00031164 7C 60 19 10 */ subfe r3, r0, r3
/* 80034228 00031168 4E 80 00 20 */ blr
.global dSv_player_collect_c_NS_onCollectCrystal
dSv_player_collect_c_NS_onCollectCrystal:
/* 8003422C 0003116C 88 C3 00 09 */ lbz r6, 9(r3)
/* 80034230 00031170 38 A0 00 01 */ li r5, 1
/* 80034234 00031174 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 80034238 00031178 7C A0 00 30 */ slw r0, r5, r0
/* 8003423C 0003117C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 80034240 00031180 7C C0 03 78 */ or r0, r6, r0
/* 80034244 00031184 98 03 00 09 */ stb r0, 9(r3)
/* 80034248 00031188 4E 80 00 20 */ blr
.global dSv_player_collect_c_NS_isCollectCrystal
dSv_player_collect_c_NS_isCollectCrystal:
/* 8003424C 0003118C 88 A3 00 09 */ lbz r5, 9(r3)
/* 80034250 00031190 38 60 00 01 */ li r3, 1
/* 80034254 00031194 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 80034258 00031198 7C 60 00 30 */ slw r0, r3, r0
/* 8003425C 0003119C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 80034260 000311A0 7C A3 00 38 */ and r3, r5, r0
/* 80034264 000311A4 30 03 FF FF */ addic r0, r3, -1
/* 80034268 000311A8 7C 60 19 10 */ subfe r3, r0, r3
/* 8003426C 000311AC 4E 80 00 20 */ blr
.global dSv_player_collect_c_NS_onCollectMirror
dSv_player_collect_c_NS_onCollectMirror:
/* 80034270 000311B0 88 C3 00 0A */ lbz r6, 0xa(r3)
/* 80034274 000311B4 38 A0 00 01 */ li r5, 1
/* 80034278 000311B8 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 8003427C 000311BC 7C A0 00 30 */ slw r0, r5, r0
/* 80034280 000311C0 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 80034284 000311C4 7C C0 03 78 */ or r0, r6, r0
/* 80034288 000311C8 98 03 00 0A */ stb r0, 0xa(r3)
/* 8003428C 000311CC 4E 80 00 20 */ blr
.global dSv_player_collect_c_NS_isCollectMirror
dSv_player_collect_c_NS_isCollectMirror:
/* 80034290 000311D0 88 A3 00 0A */ lbz r5, 0xa(r3)
/* 80034294 000311D4 38 60 00 01 */ li r3, 1
/* 80034298 000311D8 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 8003429C 000311DC 7C 60 00 30 */ slw r0, r3, r0
/* 800342A0 000311E0 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 800342A4 000311E4 7C A3 00 38 */ and r3, r5, r0
/* 800342A8 000311E8 30 03 FF FF */ addic r0, r3, -1
/* 800342AC 000311EC 7C 60 19 10 */ subfe r3, r0, r3
/* 800342B0 000311F0 4E 80 00 20 */ blr
.global dSv_player_wolf_c_NS_init
dSv_player_wolf_c_NS_init:
/* 800342B4 000311F4 38 A0 00 00 */ li r5, 0

View File

@ -3171,7 +3171,7 @@ lbl_801863AC:
lbl_801863B8:
/* 801863B8 001832F8 7F 83 E3 78 */ mr r3, r28
/* 801863BC 001832FC 57 64 06 3E */ clrlwi r4, r27, 0x18
/* 801863C0 00183300 4B EA DE D1 */ bl dSv_player_collect_c_NS_isCollectMirror
/* 801863C0 00183300 4B EA DE D1 */ bl isCollectMirror__20dSv_player_collect_cCFUc
/* 801863C4 00183304 2C 03 00 00 */ cmpwi r3, 0
/* 801863C8 00183308 41 82 00 14 */ beq lbl_801863DC
/* 801863CC 0018330C 3B 7B 00 01 */ addi r27, r27, 1
@ -3185,7 +3185,7 @@ lbl_801863DC:
lbl_801863E8:
/* 801863E8 00183328 7F 83 E3 78 */ mr r3, r28
/* 801863EC 0018332C 57 44 06 3E */ clrlwi r4, r26, 0x18
/* 801863F0 00183330 4B EA DE 5D */ bl dSv_player_collect_c_NS_isCollectCrystal
/* 801863F0 00183330 4B EA DE 5D */ bl isCollectCrystal__20dSv_player_collect_cCFUc
/* 801863F4 00183334 2C 03 00 00 */ cmpwi r3, 0
/* 801863F8 00183338 41 82 00 14 */ beq lbl_8018640C
/* 801863FC 0018333C 3B 5A 00 01 */ addi r26, r26, 1
@ -3205,7 +3205,7 @@ lbl_8018641C:
/* 8018642C 0018336C 41 82 00 18 */ beq lbl_80186444
/* 80186430 00183370 38 7F 01 00 */ addi r3, r31, 0x100
/* 80186434 00183374 38 80 00 00 */ li r4, 0
/* 80186438 00183378 4B EA DE 59 */ bl dSv_player_collect_c_NS_isCollectMirror
/* 80186438 00183378 4B EA DE 59 */ bl isCollectMirror__20dSv_player_collect_cCFUc
/* 8018643C 0018337C 2C 03 00 00 */ cmpwi r3, 0
/* 80186440 00183380 41 82 00 2C */ beq lbl_8018646C
lbl_80186444:
@ -3216,7 +3216,7 @@ lbl_80186444:
/* 80186454 00183394 41 82 00 28 */ beq lbl_8018647C
/* 80186458 00183398 38 7F 01 00 */ addi r3, r31, 0x100
/* 8018645C 0018339C 38 80 00 03 */ li r4, 3
/* 80186460 001833A0 4B EA DD ED */ bl dSv_player_collect_c_NS_isCollectCrystal
/* 80186460 001833A0 4B EA DD ED */ bl isCollectCrystal__20dSv_player_collect_cCFUc
/* 80186464 001833A4 2C 03 00 00 */ cmpwi r3, 0
/* 80186468 001833A8 40 82 00 14 */ bne lbl_8018647C
lbl_8018646C:
@ -3229,7 +3229,7 @@ lbl_8018647C:
/* 80186480 001833C0 48 00 A0 21 */ bl dFile_select3D_c_NS_freeHeap
/* 80186484 001833C4 38 7F 01 00 */ addi r3, r31, 0x100
/* 80186488 001833C8 38 80 00 03 */ li r4, 3
/* 8018648C 001833CC 4B EA DD C1 */ bl dSv_player_collect_c_NS_isCollectCrystal
/* 8018648C 001833CC 4B EA DD C1 */ bl isCollectCrystal__20dSv_player_collect_cCFUc
/* 80186490 001833D0 2C 03 00 00 */ cmpwi r3, 0
/* 80186494 001833D4 40 82 00 0C */ bne lbl_801864A0
/* 80186498 001833D8 57 A0 06 3F */ clrlwi. r0, r29, 0x18

View File

@ -8232,7 +8232,7 @@ dMenu_Collect3D_c_NS_getCrystalNum:
lbl_801B745C:
/* 801B745C 001B439C 7F E3 FB 78 */ mr r3, r31
/* 801B7460 001B43A0 57 A4 06 3E */ clrlwi r4, r29, 0x18
/* 801B7464 001B43A4 4B E7 CD E9 */ bl dSv_player_collect_c_NS_isCollectCrystal
/* 801B7464 001B43A4 4B E7 CD E9 */ bl isCollectCrystal__20dSv_player_collect_cCFUc
/* 801B7468 001B43A8 2C 03 00 00 */ cmpwi r3, 0
/* 801B746C 001B43AC 41 82 00 14 */ beq lbl_801B7480
/* 801B7470 001B43B0 3B BD 00 01 */ addi r29, r29, 1
@ -8263,7 +8263,7 @@ dMenu_Collect3D_c_NS_getMirrorNum:
lbl_801B74C4:
/* 801B74C4 001B4404 7F E3 FB 78 */ mr r3, r31
/* 801B74C8 001B4408 57 A4 06 3E */ clrlwi r4, r29, 0x18
/* 801B74CC 001B440C 4B E7 CD C5 */ bl dSv_player_collect_c_NS_isCollectMirror
/* 801B74CC 001B440C 4B E7 CD C5 */ bl isCollectMirror__20dSv_player_collect_cCFUc
/* 801B74D0 001B4410 2C 03 00 00 */ cmpwi r3, 0
/* 801B74D4 001B4414 41 82 00 14 */ beq lbl_801B74E8
/* 801B74D8 001B4418 3B BD 00 01 */ addi r29, r29, 1
@ -8304,7 +8304,7 @@ lbl_801B752C:
/* 801B7550 001B4490 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 801B7554 001B4494 38 63 01 00 */ addi r3, r3, 0x100
/* 801B7558 001B4498 38 80 00 00 */ li r4, 0
/* 801B755C 001B449C 4B E7 CD 35 */ bl dSv_player_collect_c_NS_isCollectMirror
/* 801B755C 001B449C 4B E7 CD 35 */ bl isCollectMirror__20dSv_player_collect_cCFUc
/* 801B7560 001B44A0 2C 03 00 00 */ cmpwi r3, 0
/* 801B7564 001B44A4 41 82 00 34 */ beq lbl_801B7598
lbl_801B7568:
@ -8317,7 +8317,7 @@ lbl_801B7568:
/* 801B7580 001B44C0 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 801B7584 001B44C4 38 63 01 00 */ addi r3, r3, 0x100
/* 801B7588 001B44C8 38 80 00 03 */ li r4, 3
/* 801B758C 001B44CC 4B E7 CC C1 */ bl dSv_player_collect_c_NS_isCollectCrystal
/* 801B758C 001B44CC 4B E7 CC C1 */ bl isCollectCrystal__20dSv_player_collect_cCFUc
/* 801B7590 001B44D0 2C 03 00 00 */ cmpwi r3, 0
/* 801B7594 001B44D4 40 82 00 0C */ bne lbl_801B75A0
lbl_801B7598:
@ -8328,7 +8328,7 @@ lbl_801B75A0:
/* 801B75A4 001B44E4 38 63 61 C0 */ addi r3, r3, lbl_804061C0@l
/* 801B75A8 001B44E8 38 63 01 00 */ addi r3, r3, 0x100
/* 801B75AC 001B44EC 38 80 00 03 */ li r4, 3
/* 801B75B0 001B44F0 4B E7 CC 9D */ bl dSv_player_collect_c_NS_isCollectCrystal
/* 801B75B0 001B44F0 4B E7 CC 9D */ bl isCollectCrystal__20dSv_player_collect_cCFUc
/* 801B75B4 001B44F4 2C 03 00 00 */ cmpwi r3, 0
/* 801B75B8 001B44F8 40 82 00 10 */ bne lbl_801B75C8
/* 801B75BC 001B44FC 4B FF FE E1 */ bl dMenu_Collect3D_c_NS_getMirrorNum

View File

@ -292,11 +292,11 @@ class dSv_player_collect_c {
public:
void init(void);
void setCollect(int, u8);
u8 isCollect(int, u8) const;
bool isCollect(int, u8) const;
void onCollectCrystal(u8);
u8 isCollectCrystal(u8) const;
bool isCollectCrystal(u8) const;
void onCollectMirror(u8);
u8 isCollectMirror(u8) const;
bool isCollectMirror(u8) const;
private:
u8 unk0[8];

8
include/func_800341E8.s Normal file
View File

@ -0,0 +1,8 @@
/* 800341E8 00031128 7C E3 20 AE */ lbzx r7, r3, r4
/* 800341EC 0003112C 38 C0 00 01 */ li r6, 1
/* 800341F0 00031130 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 800341F4 00031134 7C C0 00 30 */ slw r0, r6, r0
/* 800341F8 00031138 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 800341FC 0003113C 7C E0 03 78 */ or r0, r7, r0
/* 80034200 00031140 7C 03 21 AE */ stbx r0, r3, r4
/* 80034204 00031144 4E 80 00 20 */ blr

View File

@ -629,7 +629,6 @@ void dSv_player_item_max_c::setBombNum(u8 bomb_id,u8 bomb_max) {
// this is close, the isFirstBit keeps screwing everything up :(
// u8 dSv_player_item_max_c::getBombNum(u8 param_1) const {
// u8 uVar2;
// u8 iVar3;
// iVar3 = 0x1;
@ -638,12 +637,11 @@ void dSv_player_item_max_c::setBombNum(u8 bomb_id,u8 bomb_max) {
// }
// switch (param_1) {
// case WATER_BOMBS: return (u8)(this->bomb_bags_ammo_max[0x1] * iVar3); break;
// case REGULAR_BOMBS: return (u8)(this->bomb_bags_ammo_max[0x1] * iVar3); break;
// case BOMBLINGS: return (u8)(this->unk_ammo_max[0x2] * iVar3); break;
// default: uVar2 = 0;
// case WATER_BOMBS: return (u8)(this->bomb_bags_ammo_max[0x1] * iVar3);
// case REGULAR_BOMBS: return (u8)(this->bomb_bags_ammo_max[0x1] * iVar3);
// case BOMBLINGS: return (u8)(this->unk_ammo_max[0x2] * iVar3);
// default: return 0;
// }
// return uVar2;
// }
asm u8 dSv_player_item_max_c::getBombNum(u8 param_1) const {
@ -651,22 +649,45 @@ asm u8 dSv_player_item_max_c::getBombNum(u8 param_1) const {
#include "func_800340F8.s"
}
// This is a match but the linker refuses to find it's reference. Thank u metrowerks
// void dSv_player_collect_c::init(void) {
void dSv_player_collect_c::init(void) {
// for (int i = 0; i < 8; i++) {
// this->unk0[i] = 0;
// }
for (int i = 0; i < 8; i++) {
this->unk0[i] = 0;
}
// this->unk8 = 0;
// this->crystal = 0;
// this->mirror = 0;
// this->unk11 = 0xFF;
// this->poe_count = 0;
// }
asm void dSv_player_collect_c::init(void) {
nofralloc
#include "func_800341AC.s"
this->unk8 = 0;
this->crystal = 0;
this->mirror = 0;
this->unk11 = 0xFF;
this->poe_count = 0;
}
// very close
// void dSv_player_collect_c::setCollect(int param_1, u8 param_2) {
// this->unk0[param_1] = this->unk0[param_1] | (u8)(1 << param_2);
// }
asm void dSv_player_collect_c::setCollect(int param_1, u8 param_2) {
nofralloc
#include "func_800341E8.s"
}
bool dSv_player_collect_c::isCollect(int param_1, u8 param_2) const {
return this->unk0[param_1] & (u8)(1 << param_2) ? true : false;
}
void dSv_player_collect_c::onCollectCrystal(u8 param_1) {
this->crystal = this->crystal | (u8)(1 << param_1);
}
bool dSv_player_collect_c::isCollectCrystal(u8 param_1) const {
return this->crystal & (u8)(1 << param_1) ? true : false;
}
void dSv_player_collect_c::onCollectMirror(u8 param_1) {
this->mirror = this->mirror | (u8)(1 << param_1);
}
bool dSv_player_collect_c::isCollectMirror(u8 param_1) const {
return this->mirror & (u8)(1 << param_1) ? true : false;
}