Merge pull request #41 from AetiasHax/item-manager

Mostly match `00_Core/Item/ItemManager.cpp`
This commit is contained in:
Aetias
2024-05-03 19:01:17 +02:00
committed by GitHub
74 changed files with 1575 additions and 2810 deletions
+2 -2
View File
@@ -4001,8 +4001,8 @@ gItemManager:
.global data_027e0fb8
data_027e0fb8:
.space 0x4
.global data_027e0fbc
data_027e0fbc:
.global gHealthManager
gHealthManager:
.space 0x4
.global data_027e0fc0
data_027e0fc0:
+1 -1
View File
@@ -4,7 +4,7 @@
.extern _ZN10MapManager18func_ov00_020838e8EjPi
.extern _ZN10MapManager18func_ov00_02084740Ev
.extern _ZN10MapManager18func_ov00_02086044Eiii
.extern _ZN11ItemManager10GiveRupeesEjj
.extern _ZN11ItemManager10GiveRupeesEsb
.extern _ZN11ItemManager7AddItemEi
.extern _ZN11ItemManager8GiveKeysEj
.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j
+1 -1
View File
@@ -76814,7 +76814,7 @@ _0203826c:
ldr r1, [r4, #4]
ldr r0, [r0]
mov r2, #1
bl _ZN11ItemManager10GiveRupeesEjj
bl _ZN11ItemManager10GiveRupeesEsb
add sp, sp, #0x18
mov r0, #2
ldmia sp!, {r3, r4, r5, pc}
-26
View File
@@ -1,26 +0,0 @@
#pragma once
.extern LoadTreasureItemFanfare
.extern _ZN10MapManager10GetNumKeysEv
.extern _ZN10MapManager10SetNumKeysEi
.extern _ZN11ItemManager12GetEquipItemEi
.extern _ZN14AdventureFlags3GetEj
.extern _ZN14AdventureFlags3SetEjb
.extern _ZNK11ItemManager10GetMaxAmmoEi
.extern gMapManager
.extern data_027e0f78
.extern data_027e0fbc
.extern data_027e103c
.extern data_027e1058
.extern data_027e105c
.extern data_ov00_020eec68
.extern func_020196bc
.extern func_020196fc
.extern func_ov00_02079ffc
.extern func_ov00_020cf374
.extern func_ov00_020d73bc
.extern func_ov05_02104004
.extern func_ov09_0211c700
.extern func_ov09_0211ca20
.extern gAdventureFlags
.extern gItemManager
.extern strcat
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -33,7 +33,7 @@
.extern _ZN10PlayerBase8TeleportEP5Vec3psibb
.extern _ZN10PlayerBase8vfunc_04Ev
.extern _ZN10PlayerBase9AddHealthEs
.extern _ZN11ItemManager10GiveRupeesEjj
.extern _ZN11ItemManager10GiveRupeesEsb
.extern _ZN11ItemManager12GetEquipItemEi
.extern _ZN11ItemManager12GetItemModelEj
.extern _ZN11ItemManager13UnequipPotionEv
@@ -193,7 +193,7 @@
.extern data_027e0fa0
.extern data_027e0fac
.extern data_027e0fb8
.extern data_027e0fbc
.extern gHealthManager
.extern data_027e0fc4
.extern data_027e0fc8
.extern data_027e0fcc
+3 -3
View File
@@ -12594,13 +12594,13 @@ func_ov00_020bb44c: ; 0x020bb44c
ldrb r0, [r0, #0x12]
cmp r0, #0
movne r0, #0xc
ldreq r0, _020bb468 ; =data_027e0fbc
ldreq r0, _020bb468 ; =gHealthManager
ldreq r0, [r0]
ldreqsh r0, [r0]
bx lr
.align 2, 0
arm_func_end func_ov00_020bb44c
_020bb468: .word data_027e0fbc
_020bb468: .word gHealthManager
.global func_ov00_020bb46c
arm_func_start func_ov00_020bb46c
@@ -15332,7 +15332,7 @@ func_ov00_020bd510: ; 0x020bd510
ldmltia sp!, {r3, r4, r5, pc}
rsb r1, r2, #0
mov r2, #0
bl _ZN11ItemManager10GiveRupeesEjj
bl _ZN11ItemManager10GiveRupeesEsb
mvn lr, #0
mov r3, #0
str r3, [sp, #0xc]
+1 -1
View File
@@ -148,7 +148,6 @@
.extern data_027e0f94
.extern data_027e0fac
.extern data_027e0fb8
.extern data_027e0fbc
.extern data_027e0fc8
.extern data_027e0fd4
.extern data_027e0fe0
@@ -668,6 +667,7 @@
.extern func_ov26_021767ec
.extern func_ov29_0216d918
.extern gAdventureFlags
.extern gHealthManager
.extern gItemManager
.extern gMapManager
.extern gOverlayManager
+6 -6
View File
@@ -18659,7 +18659,7 @@ _020d274c:
mov r1, #0x3c
bl func_01ff9b4c
sub r0, r4, r0
ldr r2, _020d27e8 ; =data_027e0fbc
ldr r2, _020d27e8 ; =gHealthManager
ldr r1, _020d27ec ; =0x00007fff
mov r0, r0, lsl #0x10
and r1, r1, r0, lsr #16
@@ -18688,7 +18688,7 @@ _020d27d8: .word gItemManager
_020d27dc: .word data_027e0f64
_020d27e0: .word data_ov00_020df294
_020d27e4: .word data_027e103c
_020d27e8: .word data_027e0fbc
_020d27e8: .word gHealthManager
_020d27ec: .word 0x00007fff
.global func_ov00_020d27f0
@@ -24429,9 +24429,9 @@ _020d73b0:
ldmia sp!, {r4, pc}
arm_func_end func_ov00_020d7394
.global func_ov00_020d73bc
arm_func_start func_ov00_020d73bc
func_ov00_020d73bc: ; 0x020d73bc
.global PlaySoundEffect
arm_func_start PlaySoundEffect
PlaySoundEffect: ; 0x020d73bc
stmdb sp!, {r3, r4, r5, lr}
mov r4, r1
mov r5, r0
@@ -24445,7 +24445,7 @@ func_ov00_020d73bc: ; 0x020d73bc
str ip, [sp]
bl func_ov00_020d6d30
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov00_020d73bc
arm_func_end PlaySoundEffect
.global func_ov00_020d73f0
arm_func_start func_ov00_020d73f0
+2 -2
View File
@@ -12,8 +12,8 @@
.extern _ZNK11ItemManager13GetFairyLevelEi
.extern _ZNK11ItemManager16GetShipPartCountEjj
.extern _ZNK11ItemManager18GetUnk_09e_DividedEj
.extern _ZNK11ItemManager18IsTreasureSalvagedEjj
.extern _ZNK11ItemManager19GetEquippedShipPartEj
.extern _ZNK11ItemManager21HasShipPartPriceShownEjj
.extern _ZNK11ItemManager21HasTreasurePriceShownEj
.extern _ZNK11ItemManager7HasItemEi
.extern __register_global_object
@@ -34,7 +34,6 @@
.extern data_027e0d78
.extern data_027e0f88
.extern data_027e0f8c
.extern data_027e0fbc
.extern data_027e1044
.extern data_027e1050
.extern data_027e1058
@@ -258,5 +257,6 @@
.extern func_ov45_0218a284
.extern func_ov45_0218db94
.extern gAdventureFlags
.extern gHealthManager
.extern gItemManager
.extern gMapManager
+7 -7
View File
@@ -1497,7 +1497,7 @@ _020f01e4:
mov r1, #9
str r6, [sp]
bl func_0203493c
ldr r0, _020f0730 ; =data_027e0fbc
ldr r0, _020f0730 ; =gHealthManager
ldr r0, [r0]
ldrb r0, [r0, #0xe]
cmp r0, #0
@@ -1508,7 +1508,7 @@ _020f01e4:
mov r1, #0xa
str r6, [sp]
bl func_0203493c
ldr r0, _020f0730 ; =data_027e0fbc
ldr r0, _020f0730 ; =gHealthManager
mov r1, #0x3c
ldr r0, [r0]
ldrh r6, [r0, #0xc]
@@ -1842,7 +1842,7 @@ _020f0720: .word gItemManager
_020f0724: .word gAdventureFlags
_020f0728: .word 0x91a2b3c5
_020f072c: .word 0x88888889
_020f0730: .word data_027e0fbc
_020f0730: .word gHealthManager
.global func_ov02_020f0734
arm_func_start func_ov02_020f0734
@@ -2883,7 +2883,7 @@ _020f1424:
mov r1, r0
ldr r2, [r5, #0x1c]
mov r0, r6
blx _ZNK11ItemManager18IsTreasureSalvagedEjj
blx _ZNK11ItemManager21HasShipPartPriceShownEjj
cmp r0, #0
beq _020f14f4
add ip, sp, #0x28
@@ -5052,10 +5052,10 @@ func_ov02_020f2e84: ; 0x020f2e84
bl func_ov00_020d77e4
mov r0, #1
blx func_ov09_0211bf3c
ldr r0, _020f2f18 ; =data_027e0fbc
ldr r0, _020f2f18 ; =gHealthManager
ldr r0, [r0]
blx func_ov00_020b8060
ldr r0, _020f2f18 ; =data_027e0fbc
ldr r0, _020f2f18 ; =gHealthManager
ldr r1, [r0]
ldrsh r0, [r1, #4]
strh r0, [r1, #6]
@@ -5065,7 +5065,7 @@ func_ov02_020f2e84: ; 0x020f2e84
_020f2f0c: .word gItemManager
_020f2f10: .word data_ov02_020f6c80
_020f2f14: .word data_ov00_020eec9c
_020f2f18: .word data_027e0fbc
_020f2f18: .word gHealthManager
.global func_ov02_020f2f1c
arm_func_start func_ov02_020f2f1c
+1 -1
View File
@@ -56,7 +56,7 @@
.extern _ZN9SysObjectnwEmPjj
.extern _ZNK11ItemManager15GetEquippedItemEv
.extern _ZNK11ItemManager16GetEquippedFairyEv
.extern _ZNK11ItemManager18func_ov00_020ae350Ev
.extern _ZNK11ItemManager10GetNumKeysEv
.extern _ZNK11ItemManager7HasItemEi
.extern __register_global_object
.extern data_02050f54
+2 -2
View File
@@ -12689,7 +12689,7 @@ func_ov03_020f63d4: ; 0x020f63d4
bl func_ov03_020f5d48
ldr r0, _020f6414 ; =gItemManager
ldr r0, [r0]
blx _ZNK11ItemManager18func_ov00_020ae350Ev
blx _ZNK11ItemManager10GetNumKeysEv
mov r1, #0x79
lsl r1, r1, #2
str r0, [r4, r1]
@@ -13183,7 +13183,7 @@ func_ov03_020f6a88: ; 0x020f6a88
ldmeqia sp!, {r3, r4, r5, pc}
ldr r0, _020f6b10 ; =gItemManager
ldr r0, [r0]
bl _ZNK11ItemManager18func_ov00_020ae350Ev
bl _ZNK11ItemManager10GetNumKeysEv
ldr r1, [r5, #0x1e4]
mov r4, r0
subs r0, r4, r1
+1 -1
View File
@@ -137,7 +137,7 @@
.extern data_027e0f94
.extern data_027e0fac
.extern data_027e0fb8
.extern data_027e0fbc
.extern gHealthManager
.extern data_027e0fc0
.extern data_027e0fc4
.extern data_027e0fc8
+9 -9
View File
@@ -7771,7 +7771,7 @@ _0210482c:
_02104840:
bl func_ov04_02105a64
bl func_ov04_021084e8
ldr r0, _021049b0 ; =data_027e0fbc
ldr r0, _021049b0 ; =gHealthManager
ldr r1, [sp, #8]
ldr r0, [r0]
bl func_ov04_02107f48
@@ -7918,7 +7918,7 @@ _021049a0: .word data_ov12_02137c64
_021049a4: .word data_027e077c
_021049a8: .word 0x04000304
_021049ac: .word 0xffff7fff
_021049b0: .word data_027e0fbc
_021049b0: .word gHealthManager
_021049b4: .word data_ov00_020e9360
_021049b8: .word data_027e0e5c
_021049bc: .word data_027e0d04
@@ -8001,7 +8001,7 @@ _02104a3c:
ldr r0, _02104afc ; =data_ov00_020e9370
bl func_ov04_0210694c
bl func_ov00_02079df0
ldr r0, _02104b00 ; =data_027e0fbc
ldr r0, _02104b00 ; =gHealthManager
ldr r0, [r0]
bl func_ov04_02108008
bl func_ov04_02105a8c
@@ -8029,7 +8029,7 @@ _02104af0: .word data_027e0c68
_02104af4: .word data_027e103c
_02104af8: .word data_02068e64
_02104afc: .word data_ov00_020e9370
_02104b00: .word data_027e0fbc
_02104b00: .word gHealthManager
_02104b04: .word data_027e0cbc
.global func_ov04_02104b08
@@ -14886,19 +14886,19 @@ func_ov04_02107e54: ; 0x02107e54
beq _02107e6a
bl func_ov04_02107e9c
_02107e6a:
ldr r1, _02107e74 ; =data_027e0fbc
ldr r1, _02107e74 ; =gHealthManager
str r0, [r1]
pop {r3, pc}
.align 2, 0
thumb_func_end func_ov04_02107e54
_02107e70: .word data_027e0ce0
_02107e74: .word data_027e0fbc
_02107e74: .word gHealthManager
.global func_ov04_02107e78
thumb_func_start func_ov04_02107e78
func_ov04_02107e78: ; 0x02107e78
push {r4, lr}
ldr r0, _02107e98 ; =data_027e0fbc
ldr r0, _02107e98 ; =gHealthManager
ldr r4, [r0]
cmp r4, #0
beq _02107e8e
@@ -14907,13 +14907,13 @@ func_ov04_02107e78: ; 0x02107e78
add r0, r4, #0
blx _ZN9SysObjectdlEPv
_02107e8e:
ldr r0, _02107e98 ; =data_027e0fbc
ldr r0, _02107e98 ; =gHealthManager
mov r1, #0
str r1, [r0]
pop {r4, pc}
nop
thumb_func_end func_ov04_02107e78
_02107e98: .word data_027e0fbc
_02107e98: .word gHealthManager
.global func_ov04_02107e9c
thumb_func_start func_ov04_02107e9c
+7 -7
View File
@@ -1,5 +1,6 @@
#pragma once
.extern Divide
.extern GiveShipPart
.extern _ZN10MapManager16MapData_vfunc_68Ev
.extern _ZN10MapManager16MapData_vfunc_78Ev
.extern _ZN10MapManager16MapData_vfunc_84Ev
@@ -25,9 +26,9 @@
.extern _ZN10MapManager18func_ov00_0208583cEiP5Vec3pi
.extern _ZN10PlayerBase18func_ov00_020a7c00Ei
.extern _ZN11ItemManager12GetItemModelEj
.extern _ZN11ItemManager15LoadFanfareItemEj
.extern _ZN11ItemManager18func_ov00_020ae648Ejjj
.extern _ZN11ItemManager8GiveItemEjjj
.extern _ZN11ItemManager15LoadFanfareItemEi
.extern _ZN11ItemManager18PlayItemFanfareSfxEi
.extern _ZN11ItemManager8GiveItemEi
.extern _ZN12ActorManager11DeleteActorEjb
.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList
.extern _ZN12ActorManager13FindActorByIdEj
@@ -148,6 +149,8 @@
.extern _ZN17LinkStateInteract24SetNormalizedThrowOffsetEP5Vec3p
.extern _ZN4Item18func_ov00_020ad020Ei
.extern _ZN5Actor9GetHitboxEP8Cylinder
.extern _ZN7MapBase18func_ov00_0207dea0Eb
.extern _ZN7MapBase18func_ov00_02080de8Ei
.extern _ZN9SysObjectdlEPv
.extern _ZNK11ItemManager13HasAllPotionsEv
.extern _ZNK11ItemManager15HasPurplePotionEv
@@ -201,7 +204,6 @@
.extern data_027e0fac
.extern data_027e0fb0
.extern data_027e0fb8
.extern data_027e0fbc
.extern data_027e0fc0
.extern data_027e0fc8
.extern data_027e0fcc
@@ -360,8 +362,6 @@
.extern func_ov00_0207c1f8
.extern func_ov00_0207c358
.extern func_ov00_0207c444
.extern _ZN7MapBase18func_ov00_0207dea0Eb
.extern _ZN7MapBase18func_ov00_02080de8Ei
.extern func_ov00_02081f4c
.extern func_ov00_0208726c
.extern func_ov00_020872e8
@@ -509,7 +509,6 @@
.extern func_ov09_02118cd4
.extern func_ov09_0211c724
.extern func_ov09_0211c808
.extern func_ov09_0211ca20
.extern func_ov09_0211cac0
.extern func_ov12_02134208
.extern func_ov14_02127df4
@@ -575,6 +574,7 @@
.extern func_ov59_0219907c
.extern func_ov59_021990a4
.extern gAdventureFlags
.extern gHealthManager
.extern gItemManager
.extern gMapManager
.extern gOverlayManager
+10 -10
View File
@@ -9487,7 +9487,7 @@ func_ov05_021088c8: ; 0x021088c8
bl func_020385d0
cmp r0, #0
beq _0210899c
ldr r1, _021089a8 ; =data_027e0fbc
ldr r1, _021089a8 ; =gHealthManager
ldr r4, _021089ac ; =0x88888889
ldr r1, [r1]
mov ip, #0x3c
@@ -9534,7 +9534,7 @@ _0210899c:
ldmia sp!, {r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov05_021088c8
_021089a8: .word data_027e0fbc
_021089a8: .word gHealthManager
_021089ac: .word 0x88888889
_021089b0: .word 0x66666667
_021089b4: .word 0x00007fff
@@ -9681,7 +9681,7 @@ _02108b9c:
str r0, [r4, #0x74]
ldr r0, [sp, #4]
ldr r1, [sp]
blx func_ov09_0211ca20
blx GiveShipPart
b _02108be8
_02108bb4:
ldr r0, _02108cf0 ; =gItemManager
@@ -9726,7 +9726,7 @@ _02108c34:
ldr r0, _02108cf0 ; =gItemManager
ldr r1, [r4, #0x74]
ldr r0, [r0]
blx _ZN11ItemManager15LoadFanfareItemEj
blx _ZN11ItemManager15LoadFanfareItemEi
ldr r0, [r4, #0x74]
mov r2, #1
cmp r0, #0x81
@@ -9884,7 +9884,7 @@ _02108e44:
ldr r0, _02108e88 ; =gItemManager
mov r1, r4
ldr r0, [r0]
blx _ZN11ItemManager15LoadFanfareItemEj
blx _ZN11ItemManager15LoadFanfareItemEi
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov05_02108e08
@@ -10245,7 +10245,7 @@ _02109354:
cmp r0, #0
beq _02109380
ldr r0, [r5, #0x74]
blx _ZN11ItemManager18func_ov00_020ae648Ejjj
blx _ZN11ItemManager18PlayItemFanfareSfxEi
_02109380:
mov r0, r5
bl _ZN13LinkStateBase18func_ov00_020a8d50Ev
@@ -10610,11 +10610,11 @@ _02109828:
bl _ZN13LinkStateBase18func_ov00_020a8360Ei
b _021098bc
_02109834:
ldr r0, _021099bc ; =data_027e0fbc
ldr r0, _021099bc ; =gHealthManager
mov r1, #4
ldr r0, [r0]
blx func_ov00_020b804c
ldr r1, _021099bc ; =data_027e0fbc
ldr r1, _021099bc ; =gHealthManager
mov r0, r5
ldr r1, [r1]
ldrsh r1, [r1]
@@ -10646,7 +10646,7 @@ _0210989c:
ldr r0, _021099cc ; =gItemManager
ldr r1, [r5, #0x74]
ldr r0, [r0]
blx _ZN11ItemManager8GiveItemEjjj
blx _ZN11ItemManager8GiveItemEi
_021098bc:
mov r0, r4
blx _ZN4Item18func_ov00_020ad020Ei
@@ -10719,7 +10719,7 @@ _021099a4:
.align 2, 0
arm_func_end func_ov05_021097b0
_021099b8: .word 0x464f5243
_021099bc: .word data_027e0fbc
_021099bc: .word gHealthManager
_021099c0: .word data_027e103c
_021099c4: .word 0x424b4559
_021099c8: .word 0x43525953
+2 -2
View File
@@ -1,6 +1,6 @@
#pragma once
.extern Divide
.extern _ZN11ItemManager10GiveRupeesEjj
.extern _ZN11ItemManager10GiveRupeesEsb
.extern _ZN11ItemManager13EquipShipPartEjj
.extern _ZN11ItemManager16SetShipPartCountEjjc
.extern _ZN11ItemManager16SetTreasureCountEjc
@@ -52,7 +52,6 @@
.extern gMapManager
.extern data_027e0f64
.extern data_027e0f90
.extern data_027e0fbc
.extern data_027e0fe4
.extern data_027e0ffc
.extern data_027e103c
@@ -451,6 +450,7 @@
.extern func_ov18_02160a74
.extern func_ov29_0216dcf4
.extern gAdventureFlags
.extern gHealthManager
.extern gItemManager
.extern gOverlayManager
.extern strcat
+12 -12
View File
@@ -3580,7 +3580,7 @@ _0211483a:
strb r0, [r1]
add r0, sp, #0x48
bl func_ov00_0207a38c
ldr r0, _02114988 ; =data_027e0fbc
ldr r0, _02114988 ; =gHealthManager
add r1, sp, #0x48
ldr r0, [r0]
bl func_ov00_020b7ffc
@@ -3706,7 +3706,7 @@ _02114960:
thumb_func_end func_ov09_02114810
_02114980: .word data_027e0dbc
_02114984: .word data_ov00_020e9ec0
_02114988: .word data_027e0fbc
_02114988: .word gHealthManager
_0211498c: .word data_ov00_020e9e18
_02114990: .word data_ov09_0211f5b4
_02114994: .word data_ov00_020e9f08
@@ -16992,9 +16992,9 @@ _0211c6f2:
thumb_func_end func_ov09_0211c6b4
_0211c6fc: .word gItemManager
.global func_ov09_0211c700
thumb_func_start func_ov09_0211c700
func_ov09_0211c700: ; 0x0211c700
.global EquipLinebeckCannon
thumb_func_start EquipLinebeckCannon
EquipLinebeckCannon: ; 0x0211c700
push {r3, lr}
ldr r0, _0211c720 ; =gItemManager
mov r1, #3
@@ -17010,7 +17010,7 @@ func_ov09_0211c700: ; 0x0211c700
_0211c71c:
pop {r3, pc}
nop
thumb_func_end func_ov09_0211c700
thumb_func_end EquipLinebeckCannon
_0211c720: .word gItemManager
.global func_ov09_0211c724
@@ -17414,7 +17414,7 @@ func_ov09_0211c9a8: ; 0x0211c9a8
add r1, r0, #0
add r0, r6, #0
mov r2, #1
blx _ZN11ItemManager10GiveRupeesEjj
blx _ZN11ItemManager10GiveRupeesEsb
ldr r0, _0211c9e4 ; =gItemManager
add r1, r5, #0
ldr r6, [r0]
@@ -17445,7 +17445,7 @@ func_ov09_0211c9e8: ; 0x0211c9e8
add r1, r0, #0
add r0, r4, #0
mov r2, #1
blx _ZN11ItemManager10GiveRupeesEjj
blx _ZN11ItemManager10GiveRupeesEsb
ldr r0, _0211ca1c ; =gItemManager
add r1, r5, #0
ldr r4, [r0]
@@ -17463,9 +17463,9 @@ func_ov09_0211c9e8: ; 0x0211c9e8
thumb_func_end func_ov09_0211c9e8
_0211ca1c: .word gItemManager
.global func_ov09_0211ca20
thumb_func_start func_ov09_0211ca20
func_ov09_0211ca20: ; 0x0211ca20
.global GiveShipPart
thumb_func_start GiveShipPart
GiveShipPart: ; 0x0211ca20
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
@@ -17538,7 +17538,7 @@ _0211ca94:
add sp, #4
pop {r3, r4, r5, r6, pc}
.align 2, 0
thumb_func_end func_ov09_0211ca20
thumb_func_end GiveShipPart
_0211caa8: .word gItemManager
_0211caac: .word data_ov09_0211f294
_0211cab0: .word data_ov09_0211f298
+1 -1
View File
@@ -1,6 +1,7 @@
#pragma once
.extern Approach_thunk
.extern Divide
.extern PlaySoundEffect
.extern _ZN10MapManager16MapData_vfunc_68Ev
.extern _ZN10MapManager17GetMapData_Unk_48Ev
.extern _ZN10MapManager17Get_MapData_Unk28Ev
@@ -632,7 +633,6 @@
.extern func_ov00_020d70a4
.extern func_ov00_020d716c
.extern func_ov00_020d7180
.extern func_ov00_020d73bc
.extern func_ov00_020d7404
.extern func_ov00_020d77e4
.extern func_ov00_020d7a84
+2 -2
View File
@@ -20651,7 +20651,7 @@ _021239cc:
bl func_ov12_02124dfc
mov r1, r0
ldr r0, _02123a20 ; =data_ov00_020eec68
bl func_ov00_020d73bc
bl PlaySoundEffect
b _02123a04
_021239ec:
ldrb r0, [r6, #0x370]
@@ -20659,7 +20659,7 @@ _021239ec:
beq _02123a04
ldr r0, _02123a20 ; =data_ov00_020eec68
mov r1, #0x2b
bl func_ov00_020d73bc
bl PlaySoundEffect
_02123a04:
mov r0, #7
str r0, [r6, #0xc]
+1 -1
View File
@@ -1,6 +1,6 @@
#pragma once
.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i
.extern _ZN11ItemManager10GiveRupeesEjj
.extern _ZN11ItemManager10GiveRupeesEsb
.extern _ZN5Actor10SetUnk_11bEv
.extern _ZN5Actor11SetVelocityEP5Vec3p
.extern _ZN5Actor12ApplyGravityEv
+1 -1
View File
@@ -371,7 +371,7 @@ _0213b2f8:
mov r1, r0
mov r0, r6
mov r2, #0
bl _ZN11ItemManager10GiveRupeesEjj
bl _ZN11ItemManager10GiveRupeesEsb
ldr r0, [r5, #0x158]
mvn r1, #0
cmp r0, #0
+1 -1
View File
@@ -137,9 +137,9 @@
.extern _ZN9ActorTypeD1Ev
.extern _ZN9SysObjectdlEPv
.extern _ZN9SysObjectnwEmPjj
.extern _ZNK11ItemManager10GetNumKeysEv
.extern _ZNK11ItemManager15GetEquippedItemEv
.extern _ZNK11ItemManager18func_ov00_020ad560Ei
.extern _ZNK11ItemManager18func_ov00_020ae350Ev
.extern _ZNK11ItemManager7HasItemEi
.extern __register_global_object
.extern data_02050f54
+2 -2
View File
@@ -10454,7 +10454,7 @@ func_ov14_02127df4: ; 0x02127df4
ldmneia sp!, {r3, pc}
ldr r0, _02127e24 ; =gItemManager
ldr r0, [r0]
bl _ZNK11ItemManager18func_ov00_020ae350Ev
bl _ZNK11ItemManager10GetNumKeysEv
cmp r0, #0
movgt r0, #1
movle r0, #0
@@ -10474,7 +10474,7 @@ func_ov14_02127e28: ; 0x02127e28
ldmneia sp!, {r4, pc}
ldr r0, _02127eb4 ; =gItemManager
ldr r0, [r0]
bl _ZNK11ItemManager18func_ov00_020ae350Ev
bl _ZNK11ItemManager10GetNumKeysEv
cmp r0, #0
mvnle r0, #0
ldmleia sp!, {r4, pc}
+44 -44
View File
@@ -1,19 +1,55 @@
#pragma once
.extern Approach_thunk
.extern Divide
.extern _ZN10MapManager16MapData_vfunc_54Ev
.extern _ZN10MapManager16MapData_vfunc_68Ev
.extern _ZN10MapManager16MapData_vfunc_78Ev
.extern _ZN10MapManager16MapData_vfunc_b4Ev
.extern _ZN10MapManager17GetMapData_Unk_06Ev
.extern _ZN10MapManager17GetMapData_Unk_07Ev
.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p
.extern _ZN10MapManager17Get_MapData_Unk28Ev
.extern _ZN10MapManager17Get_MapData_Unk2aEv
.extern _ZN10MapManager18func_ov00_020823c4EPii
.extern _ZN10MapManager18func_ov00_020823d4Ei
.extern _ZN10MapManager18func_ov00_020823e4Ei
.extern _ZN10MapManager18func_ov00_02082680Eii
.extern _ZN10MapManager18func_ov00_020826a0Eiii
.extern _ZN10MapManager18func_ov00_02082d08Ev
.extern _ZN10MapManager18func_ov00_020836dcEii
.extern _ZN10MapManager18func_ov00_02083770Eji
.extern _ZN10MapManager18func_ov00_02083790Ei
.extern _ZN10MapManager18func_ov00_02083840Ei
.extern _ZN10MapManager18func_ov00_020838e8EjPi
.extern _ZN10MapManager18func_ov00_020839b4Ei
.extern _ZN10MapManager18func_ov00_020839c4Ei
.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p
.extern _ZN10MapManager18func_ov00_02083e34Ecci
.extern _ZN10MapManager18func_ov00_020840dcEv
.extern _ZN10MapManager18func_ov00_020843ecEPi
.extern _ZN10MapManager18func_ov00_020849c0Ev
.extern _ZN10MapManager18func_ov00_020849dcEv
.extern _ZN10MapManager18func_ov00_02084ac4Ej
.extern _ZN10MapManager18func_ov00_02084c7cEi
.extern _ZN10MapManager18func_ov00_02084c94Ei
.extern _ZN10MapManager18func_ov00_02084cb0Ei
.extern _ZN10MapManager18func_ov00_02084cc8Ei
.extern _ZN10MapManager20GetCourseData_Unk_86Ev
.extern _ZN10MapManager20GetCourseData_Unk_87Ev
.extern _ZN10MapManager8SpawnNPCEP5Vec3pii
.extern _ZN10PlayerBase18func_ov00_020a7c00Ei
.extern _ZN10PlayerBase9AddHealthEs
.extern _ZN10PlayerBase9SetHealthEs
.extern _ZN11ItemManager12GetEquipItemEi
.extern _ZN11ItemManager12GetItemModelEj
.extern _ZN11ItemManager13TickEquipItemEv
.extern _ZN11ItemManager15LoadFanfareItemEj
.extern _ZN11ItemManager15LoadFanfareItemEi
.extern _ZN11ItemManager15SetEquippedItemEi
.extern _ZN11ItemManager17EquipPreviousItemEv
.extern _ZN11ItemManager18EquipItem_vfunc_38Ei
.extern _ZN11ItemManager18func_ov00_020ae648Ejjj
.extern _ZN11ItemManager8GiveItemEjjj
.extern _ZN11ItemManager9SetPotionEjj
.extern _ZN11ItemManager18PlayItemFanfareSfxEi
.extern _ZN11ItemManager8GiveItemEi
.extern _ZN11ItemManager9SetPotionEjh
.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList
.extern _ZN12ActorManager13FindActorByIdEj
.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j
@@ -91,6 +127,8 @@
.extern _ZN5Actor9GetHitboxEP8Cylinder
.extern _ZN5ActorC2Ev
.extern _ZN5ActorD2Ev
.extern _ZN9ActorTypeC1EjPFP5ActorvEPv
.extern _ZN9ActorTypeD1Ev
.extern _ZN9SysObjectdlEPv
.extern _ZN9SysObjectnwEmPjj
.extern _ZNK11ItemManager10GetMaxAmmoEi
@@ -124,7 +162,6 @@
.extern data_027e0d44
.extern data_027e0d78
.extern data_027e0e58
.extern gMapManager
.extern data_027e0f64
.extern data_027e0f68
.extern data_027e0f6c
@@ -133,7 +170,6 @@
.extern data_027e0f94
.extern data_027e0fa0
.extern data_027e0fb8
.extern data_027e0fbc
.extern data_027e0fc0
.extern data_027e0fc4
.extern data_027e0fc8
@@ -289,8 +325,6 @@
.extern func_020386c4
.extern func_020386cc
.extern func_0203d7e0
.extern _ZN9ActorTypeC1EjPFP5ActorvEPv
.extern _ZN9ActorTypeD1Ev
.extern func_0203eb0c
.extern func_0203eba8
.extern func_0203ebc8
@@ -315,42 +349,6 @@
.extern func_ov00_0207c444
.extern func_ov00_0207c474
.extern func_ov00_02081f4c
.extern _ZN10MapManager18func_ov00_020823c4EPii
.extern _ZN10MapManager18func_ov00_020823d4Ei
.extern _ZN10MapManager18func_ov00_020823e4Ei
.extern _ZN10MapManager16MapData_vfunc_b4Ev
.extern _ZN10MapManager18func_ov00_02082680Eii
.extern _ZN10MapManager18func_ov00_020826a0Eiii
.extern _ZN10MapManager18func_ov00_02082d08Ev
.extern _ZN10MapManager20GetCourseData_Unk_86Ev
.extern _ZN10MapManager20GetCourseData_Unk_87Ev
.extern _ZN10MapManager17Get_MapData_Unk28Ev
.extern _ZN10MapManager17Get_MapData_Unk2aEv
.extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p
.extern _ZN10MapManager18func_ov00_020836dcEii
.extern _ZN10MapManager18func_ov00_02083770Eji
.extern _ZN10MapManager18func_ov00_02083790Ei
.extern _ZN10MapManager18func_ov00_02083840Ei
.extern _ZN10MapManager18func_ov00_020838e8EjPi
.extern _ZN10MapManager18func_ov00_020839b4Ei
.extern _ZN10MapManager18func_ov00_020839c4Ei
.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p
.extern _ZN10MapManager18func_ov00_02083e34Ecci
.extern _ZN10MapManager16MapData_vfunc_68Ev
.extern _ZN10MapManager16MapData_vfunc_54Ev
.extern _ZN10MapManager16MapData_vfunc_78Ev
.extern _ZN10MapManager18func_ov00_020840dcEv
.extern _ZN10MapManager18func_ov00_020843ecEPi
.extern _ZN10MapManager17GetMapData_Unk_06Ev
.extern _ZN10MapManager17GetMapData_Unk_07Ev
.extern _ZN10MapManager18func_ov00_020849c0Ev
.extern _ZN10MapManager18func_ov00_020849dcEv
.extern _ZN10MapManager8SpawnNPCEP5Vec3pii
.extern _ZN10MapManager18func_ov00_02084ac4Ej
.extern _ZN10MapManager18func_ov00_02084c7cEi
.extern _ZN10MapManager18func_ov00_02084c94Ei
.extern _ZN10MapManager18func_ov00_02084cb0Ei
.extern _ZN10MapManager18func_ov00_02084cc8Ei
.extern func_ov00_0208726c
.extern func_ov00_020876bc
.extern func_ov00_0208819c
@@ -851,7 +849,9 @@
.extern func_ov59_02198fc8
.extern func_ov59_02198fcc
.extern gAdventureFlags
.extern gHealthManager
.extern gItemManager
.extern gMapManager
.extern gOverlayManager
.extern gPlayerAnimHandler
.extern strcat
+13 -13
View File
@@ -4744,7 +4744,7 @@ func_ov14_0213ef2c: ; 0x0213ef2c
add r0, r4, #0
add r0, #0x80
strb r1, [r0]
ldr r0, _0213ef5c ; =data_027e0fbc
ldr r0, _0213ef5c ; =gHealthManager
ldr r1, [r0]
mov r0, #2
ldrsh r0, [r1, r0]
@@ -4754,7 +4754,7 @@ func_ov14_0213ef2c: ; 0x0213ef2c
nop
thumb_func_end func_ov14_0213ef2c
_0213ef58: .word data_ov14_02159084
_0213ef5c: .word data_027e0fbc
_0213ef5c: .word gHealthManager
.global func_ov14_0213ef60
thumb_func_start func_ov14_0213ef60
@@ -4768,7 +4768,7 @@ func_ov14_0213ef60: ; 0x0213ef60
bl func_0202e7fc
mov r0, #0xa
ldrsh r1, [r4, r0]
ldr r0, _0213ef90 ; =data_027e0fbc
ldr r0, _0213ef90 ; =gHealthManager
ldr r0, [r0]
strh r1, [r0, #2]
add r0, r4, #0
@@ -4780,7 +4780,7 @@ func_ov14_0213ef60: ; 0x0213ef60
_0213ef84: .word data_ov14_02159084
_0213ef88: .word data_ov14_0215b248
_0213ef8c: .word data_027e077c
_0213ef90: .word data_027e0fbc
_0213ef90: .word gHealthManager
.global func_ov14_0213ef94
thumb_func_start func_ov14_0213ef94
@@ -4794,7 +4794,7 @@ func_ov14_0213ef94: ; 0x0213ef94
bl func_0202e7fc
mov r0, #0xa
ldrsh r1, [r4, r0]
ldr r0, _0213efcc ; =data_027e0fbc
ldr r0, _0213efcc ; =gHealthManager
ldr r0, [r0]
strh r1, [r0, #2]
add r0, r4, #0
@@ -4808,7 +4808,7 @@ func_ov14_0213ef94: ; 0x0213ef94
_0213efc0: .word data_ov14_02159084
_0213efc4: .word data_ov14_0215b248
_0213efc8: .word data_027e077c
_0213efcc: .word data_027e0fbc
_0213efcc: .word gHealthManager
.global func_ov14_0213efd0
thumb_func_start func_ov14_0213efd0
@@ -5280,7 +5280,7 @@ _0213f516:
ldr r0, _0213f598 ; =gItemManager
mov r2, #0
ldr r0, [r0]
blx _ZN11ItemManager9SetPotionEjj
blx _ZN11ItemManager9SetPotionEjh
b _0213f534
_0213f52c:
add r1, r1, #1
@@ -5365,14 +5365,14 @@ func_ov14_0213f5dc: ; 0x0213f5dc
stmdb sp!, {r4, lr}
mov r4, r0
bl _ZN10PlayerBase9AddHealthEs
ldr r0, _0213f5fc ; =data_027e0fbc
ldr r0, _0213f5fc ; =gHealthManager
ldrsh r1, [r4, #0xa]
ldr r0, [r0]
strh r1, [r0, #2]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov14_0213f5dc
_0213f5fc: .word data_027e0fbc
_0213f5fc: .word gHealthManager
.global func_ov14_0213f600
arm_func_start func_ov14_0213f600
@@ -26937,7 +26937,7 @@ _021506e6:
ldr r0, _02150764 ; =gItemManager
add r1, r4, #0
ldr r0, [r0]
bl _ZN11ItemManager8GiveItemEjjj
bl _ZN11ItemManager8GiveItemEi
ldr r2, _02150760 ; =data_027e1058
add r0, r5, #0
ldr r2, [r2]
@@ -26978,12 +26978,12 @@ _02150742:
ldr r0, _02150764 ; =gItemManager
add r1, r4, #0
ldr r0, [r0]
bl _ZN11ItemManager8GiveItemEjjj
bl _ZN11ItemManager8GiveItemEi
_0215074c:
ldr r0, _02150764 ; =gItemManager
add r1, r4, #0
ldr r0, [r0]
bl _ZN11ItemManager15LoadFanfareItemEj
bl _ZN11ItemManager15LoadFanfareItemEi
add r0, r5, #0
mov r1, #0
bl func_ov14_02150848
@@ -27197,7 +27197,7 @@ _021508ce:
ldr r0, [r4, #8]
blx func_ov03_020fc10c
ldr r0, [r4, #8]
bl _ZN11ItemManager18func_ov00_020ae648Ejjj
bl _ZN11ItemManager18PlayItemFanfareSfxEi
pop {r4, pc}
.align 2, 0
thumb_func_end func_ov14_021508b8
+68 -68
View File
@@ -1,6 +1,43 @@
#pragma once
.extern Approach_thunk
.extern Divide
.extern GiveShipPart
.extern PlaySoundEffect
.extern _ZN10MapManager16MapData_vfunc_68Ev
.extern _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p
.extern _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p
.extern _ZN10MapManager18func_ov00_020823a4Ei
.extern _ZN10MapManager18func_ov00_020823b4Ev
.extern _ZN10MapManager18func_ov00_02082424Ev
.extern _ZN10MapManager18func_ov00_02082454Eii
.extern _ZN10MapManager18func_ov00_02082494Ei
.extern _ZN10MapManager18func_ov00_020824ccEi
.extern _ZN10MapManager18func_ov00_02082504Ev
.extern _ZN10MapManager18func_ov00_02082594Ev
.extern _ZN10MapManager18func_ov00_020825acEv
.extern _ZN10MapManager18func_ov00_02082650Eiii
.extern _ZN10MapManager18func_ov00_02082660Eii
.extern _ZN10MapManager18func_ov00_02082d08Ev
.extern _ZN10MapManager18func_ov00_02082d40Ev
.extern _ZN10MapManager18func_ov00_02083374Ev
.extern _ZN10MapManager18func_ov00_02083384Ev
.extern _ZN10MapManager18func_ov00_0208346cEP4AABB
.extern _ZN10MapManager18func_ov00_020836bcEjPi
.extern _ZN10MapManager18func_ov00_020836dcEii
.extern _ZN10MapManager18func_ov00_02083770Eji
.extern _ZN10MapManager18func_ov00_020838c8Ei
.extern _ZN10MapManager18func_ov00_020838d8Ei
.extern _ZN10MapManager18func_ov00_020838e8EjPi
.extern _ZN10MapManager18func_ov00_02083c24Ei
.extern _ZN10MapManager18func_ov00_02083c50Ei
.extern _ZN10MapManager18func_ov00_020846a4Ev
.extern _ZN10MapManager18func_ov00_020848b8Ev
.extern _ZN10MapManager18func_ov00_02084b38Eiii
.extern _ZN10MapManager18func_ov00_02084cb0Ei
.extern _ZN10MapManager18func_ov00_02084cc8Ei
.extern _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p
.extern _ZN10MapManager18func_ov00_02085c60Eiiii
.extern _ZN10MapManager8SpawnNPCEP5Vec3pii
.extern _ZN10PlayerBase10GetEquipIdEv
.extern _ZN10PlayerBase18TeleportToEntranceEib
.extern _ZN10PlayerBase18func_ov00_020a7c00Ei
@@ -9,13 +46,13 @@
.extern _ZN10PlayerBase8TeleportEP5Vec3psibb
.extern _ZN10PlayerBase8vfunc_04Ev
.extern _ZN10PlayerBase9AddHealthEs
.extern _ZN11ItemManager10GiveRupeesEjj
.extern _ZN11ItemManager10GiveRupeesEsb
.extern _ZN11ItemManager10SetUnk_09eEjt
.extern _ZN11ItemManager15LoadFanfareItemEj
.extern _ZN11ItemManager15LoadFanfareItemEi
.extern _ZN11ItemManager18PlayItemFanfareSfxEi
.extern _ZN11ItemManager18func_ov00_020ad528Ev
.extern _ZN11ItemManager18func_ov00_020ae648Ejjj
.extern _ZN11ItemManager19SetTreasureSalvagedEj
.extern _ZN11ItemManager8GiveItemEjjj
.extern _ZN11ItemManager8GiveItemEi
.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList
.extern _ZN12ActorManager13FindActorByIdEj
.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j
@@ -106,6 +143,31 @@
.extern _ZN5Actor9GetHitboxEP8Cylinder
.extern _ZN5ActorC2Ev
.extern _ZN5ActorD2Ev
.extern _ZN6Course14FindMapGridPosEP5Vec2bPS_j
.extern _ZN6Course14GetAdjacentMapEi
.extern _ZN6Course18func_ov00_0207ca78Eici
.extern _ZN6Course18func_ov00_0207ce20EiiPci
.extern _ZN6Course18func_ov00_0207d7bcEv
.extern _ZN6Course23IsAdjacentMapOnMainGridEi
.extern _ZN7MapBase14GetMapFilePathEPcii
.extern _ZN7MapBase18func_ov00_0207ddf8Eb
.extern _ZN7MapBase18func_ov00_0207dea0Eb
.extern _ZN7MapBase18func_ov00_02080140EP4Exit
.extern _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei
.extern _ZN7MapBase8vfunc_48Ev
.extern _ZN7MapBase8vfunc_58Ev
.extern _ZN7MapBase8vfunc_64Ev
.extern _ZN7MapBase8vfunc_94Ev
.extern _ZN7MapBase8vfunc_98Ev
.extern _ZN7MapBase8vfunc_a4Ev
.extern _ZN7MapBase8vfunc_a8Ev
.extern _ZN7MapBase8vfunc_acEv
.extern _ZN7MapBase8vfunc_bcEv
.extern _ZN7MapBase8vfunc_c0Ev
.extern _ZN7MapBase9SetBoundsEii
.extern _ZN7MapBaseD1Ev
.extern _ZN9ActorTypeC1EjPFP5ActorvEPv
.extern _ZN9ActorTypeD1Ev
.extern _ZN9SysObjectdlEPv
.extern _ZN9SysObjectnwEmPjj
.extern _ZNK11ItemManager10GetUnk_098Ej
@@ -149,7 +211,6 @@
.extern data_027e0e2c
.extern data_027e0e58
.extern data_027e0e5c
.extern gMapManager
.extern data_027e0f64
.extern data_027e0f68
.extern data_027e0f6c
@@ -162,7 +223,6 @@
.extern data_027e0fac
.extern data_027e0fb0
.extern data_027e0fb8
.extern data_027e0fbc
.extern data_027e0fc4
.extern data_027e0fe0
.extern data_027e0fe4
@@ -377,8 +437,6 @@
.extern func_02036da8
.extern func_020370d0
.extern func_0203d7e0
.extern _ZN9ActorTypeC1EjPFP5ActorvEPv
.extern _ZN9ActorTypeD1Ev
.extern func_0203eba8
.extern func_0203ebc8
.extern func_02042f68
@@ -419,68 +477,10 @@
.extern func_ov00_0207c444
.extern func_ov00_0207c474
.extern func_ov00_0207c518
.extern _ZN6Course18func_ov00_0207ca78Eici
.extern _ZN6Course14FindMapGridPosEP5Vec2bPS_j
.extern _ZN6Course18func_ov00_0207ce20EiiPci
.extern _ZN6Course23IsAdjacentMapOnMainGridEi
.extern _ZN6Course14GetAdjacentMapEi
.extern _ZN6Course18func_ov00_0207d7bcEv
.extern _ZN7MapBaseD1Ev
.extern _ZN7MapBase9SetBoundsEii
.extern _ZN7MapBase14GetMapFilePathEPcii
.extern _ZN7MapBase18func_ov00_0207ddf8Eb
.extern _ZN7MapBase18func_ov00_0207dea0Eb
.extern _ZN7MapBase8vfunc_48Ev
.extern _ZN7MapBase8vfunc_58Ev
.extern _ZN7MapBase8vfunc_64Ev
.extern _ZN7MapBase8vfunc_a4Ev
.extern _ZN7MapBase8vfunc_a8Ev
.extern _ZN7MapBase8vfunc_acEv
.extern _ZN7MapBase8vfunc_94Ev
.extern _ZN7MapBase22GetOverlappingTriggersEP5Vec3pPP11TriggerBasei
.extern _ZN7MapBase18func_ov00_02080140EP4Exit
.extern _ZN7MapBase8vfunc_bcEv
.extern _ZN7MapBase8vfunc_98Ev
.extern _ZN7MapBase8vfunc_c0Ev
.extern func_ov00_02081f4c
.extern func_ov00_02081f50
.extern func_ov00_02081f58
.extern func_ov00_02081f6c
.extern _ZN10MapManager18func_ov00_020823a4Ei
.extern _ZN10MapManager18func_ov00_020823b4Ev
.extern _ZN10MapManager18func_ov00_02082424Ev
.extern _ZN10MapManager18func_ov00_02082454Eii
.extern _ZN10MapManager18func_ov00_02082494Ei
.extern _ZN10MapManager18func_ov00_020824ccEi
.extern _ZN10MapManager18func_ov00_02082504Ev
.extern _ZN10MapManager18func_ov00_02082594Ev
.extern _ZN10MapManager18func_ov00_020825acEv
.extern _ZN10MapManager18func_ov00_02082650Eiii
.extern _ZN10MapManager18func_ov00_02082660Eii
.extern _ZN10MapManager18func_ov00_02082d08Ev
.extern _ZN10MapManager18func_ov00_02082d40Ev
.extern _ZN10MapManager18func_ov00_02083374Ev
.extern _ZN10MapManager18func_ov00_02083384Ev
.extern _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p
.extern _ZN10MapManager17GetMapData_Unk_e8EP5Vec3p
.extern _ZN10MapManager18func_ov00_0208346cEP4AABB
.extern _ZN10MapManager18func_ov00_020836bcEjPi
.extern _ZN10MapManager18func_ov00_020836dcEii
.extern _ZN10MapManager18func_ov00_02083770Eji
.extern _ZN10MapManager18func_ov00_020838c8Ei
.extern _ZN10MapManager18func_ov00_020838d8Ei
.extern _ZN10MapManager18func_ov00_020838e8EjPi
.extern _ZN10MapManager18func_ov00_02083c24Ei
.extern _ZN10MapManager18func_ov00_02083c50Ei
.extern _ZN10MapManager16MapData_vfunc_68Ev
.extern _ZN10MapManager18func_ov00_020846a4Ev
.extern _ZN10MapManager18func_ov00_020848b8Ev
.extern _ZN10MapManager8SpawnNPCEP5Vec3pii
.extern _ZN10MapManager18func_ov00_02084b38Eiii
.extern _ZN10MapManager18func_ov00_02084cb0Ei
.extern _ZN10MapManager18func_ov00_02084cc8Ei
.extern _ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p
.extern _ZN10MapManager18func_ov00_02085c60Eiiii
.extern func_ov00_020872e8
.extern func_ov00_02087584
.extern func_ov00_020875f8
@@ -723,7 +723,6 @@
.extern func_ov00_020d70a4
.extern func_ov00_020d716c
.extern func_ov00_020d71a0
.extern func_ov00_020d73bc
.extern func_ov00_020d7424
.extern func_ov00_020d74bc
.extern func_ov00_020d77e4
@@ -892,7 +891,6 @@
.extern func_ov09_0211c6b4
.extern func_ov09_0211c724
.extern func_ov09_0211c808
.extern func_ov09_0211ca20
.extern func_ov09_0211cac0
.extern func_ov09_0211cc74
.extern func_ov09_0211cc98
@@ -908,6 +906,8 @@
.extern func_ov09_0211d668
.extern func_ov09_0211d794
.extern gAdventureFlags
.extern gHealthManager
.extern gItemManager
.extern gMapManager
.extern strcat
.extern strncpy
+25 -25
View File
@@ -30916,7 +30916,7 @@ _021398f0:
str r0, [r4, #0xa4]
str r0, [r4, #0xa8]
str r0, [r4, #0xac]
ldr ip, _02139a70 ; =data_027e0fbc
ldr ip, _02139a70 ; =gHealthManager
add r3, r4, #0x300
ldr r2, [ip]
add r1, r4, #0x60
@@ -30958,7 +30958,7 @@ _02139a60: .word func_ov15_02139a80
_02139a64: .word func_ov15_02139a94
_02139a68: .word func_020350ac
_02139a6c: .word func_02035064
_02139a70: .word data_027e0fbc
_02139a70: .word gHealthManager
_02139a74: .word data_027e10a4
_02139a78: .word data_027e0d38
_02139a7c: .word data_027e0ce0
@@ -30994,7 +30994,7 @@ func_ov15_02139ab4: ; 0x02139ab4
ldr r1, _02139cb8 ; =data_ov15_0218aaac
mov r4, r0
str r1, [r4]
ldr r1, _02139cbc ; =data_027e0fbc
ldr r1, _02139cbc ; =gHealthManager
ldrsh r3, [r4, #0xa]
ldr r2, [r1]
add r0, r4, #0x300
@@ -31123,7 +31123,7 @@ _02139af4:
.align 2, 0
arm_func_end func_ov15_02139ab4
_02139cb8: .word data_ov15_0218aaac
_02139cbc: .word data_027e0fbc
_02139cbc: .word gHealthManager
_02139cc0: .word data_027e10a4
_02139cc4: .word func_020350ac
_02139cc8: .word func_ov15_02139a80
@@ -31136,7 +31136,7 @@ func_ov15_02139cd0: ; 0x02139cd0
ldr r1, _02139edc ; =data_ov15_0218aaac
mov r4, r0
str r1, [r4]
ldr r1, _02139ee0 ; =data_027e0fbc
ldr r1, _02139ee0 ; =gHealthManager
ldrsh r3, [r4, #0xa]
ldr r2, [r1]
add r0, r4, #0x300
@@ -31267,7 +31267,7 @@ _02139d10:
.align 2, 0
arm_func_end func_ov15_02139cd0
_02139edc: .word data_ov15_0218aaac
_02139ee0: .word data_027e0fbc
_02139ee0: .word gHealthManager
_02139ee4: .word data_027e10a4
_02139ee8: .word func_020350ac
_02139eec: .word func_ov15_02139a80
@@ -31827,13 +31827,13 @@ func_ov15_0213a5e8: ; 0x0213a5e8
.global func_ov15_0213a604
arm_func_start func_ov15_0213a604
func_ov15_0213a604: ; 0x0213a604
ldr r0, _0213a614 ; =data_027e0fbc
ldr r0, _0213a614 ; =gHealthManager
ldr r0, [r0]
ldrsh r0, [r0, #4]
bx lr
.align 2, 0
arm_func_end func_ov15_0213a604
_0213a614: .word data_027e0fbc
_0213a614: .word gHealthManager
.global func_ov15_0213a618
arm_func_start func_ov15_0213a618
@@ -42710,7 +42710,7 @@ _0214389c:
ldr r0, _02143a38 ; =data_ov00_020eec68
mov r1, #0xda
str r2, [r7, #0x378]
bl func_ov00_020d73bc
bl PlaySoundEffect
_021438f4:
ldr r0, [r7, #0x20]
bl func_ov15_02149acc
@@ -43237,7 +43237,7 @@ _02144020:
bl func_ov00_020d716c
ldr r0, _0214415c ; =data_ov00_020eec68
mov r1, #0xdb
bl func_ov00_020d73bc
bl PlaySoundEffect
add r0, sp, #0
bl func_ov00_0209a4f4
mov r2, #0
@@ -43346,7 +43346,7 @@ _021441a8:
bl func_ov00_020d716c
ldr r0, _021442d8 ; =data_ov00_020eec68
mov r1, #0xdb
bl func_ov00_020d73bc
bl PlaySoundEffect
add r0, sp, #0
bl func_ov00_0209a4f4
mov r2, #0
@@ -44522,7 +44522,7 @@ _021452d4:
bl func_ov15_0214651c
mov r1, r0
mov r0, r4
blx func_ov09_0211ca20
blx GiveShipPart
b _02145334
_02145300:
cmp r5, #0x30
@@ -44538,12 +44538,12 @@ _0214531c:
ldr r0, _0214581c ; =gItemManager
mov r1, r5
ldr r0, [r0]
blx _ZN11ItemManager8GiveItemEjjj
blx _ZN11ItemManager8GiveItemEi
_02145334:
ldr r0, _0214581c ; =gItemManager
mov r1, r5
ldr r0, [r0]
blx _ZN11ItemManager15LoadFanfareItemEj
blx _ZN11ItemManager15LoadFanfareItemEi
mov r0, r6
mov r1, #1
bl func_ov15_0216e168
@@ -44561,7 +44561,7 @@ _02145370:
mov r4, r0
bl func_ov03_020fc10c
mov r0, r4
blx _ZN11ItemManager18func_ov00_020ae648Ejjj
blx _ZN11ItemManager18PlayItemFanfareSfxEi
mov r0, #0x10
strb r0, [r9, #0x34d]
b _02145420
@@ -44602,7 +44602,7 @@ _021453f8:
ldr r0, _0214581c ; =gItemManager
mov r1, #0x26
ldr r0, [r0]
blx _ZN11ItemManager8GiveItemEjjj
blx _ZN11ItemManager8GiveItemEi
_0214541c:
bl func_ov15_021465e8
_02145420:
@@ -54185,7 +54185,7 @@ func_ov15_0214d358: ; 0x0214d358
mov r1, r0
mov r0, r5
mov r2, #0
bl _ZN11ItemManager10GiveRupeesEjj
bl _ZN11ItemManager10GiveRupeesEsb
ldr r1, [r4, #0x158]
ldr r0, _0214d3dc ; =data_ov00_020eec9c
add r1, r1, #0xfa
@@ -61729,7 +61729,7 @@ _02153b28:
bl func_ov15_02153938
ldr r0, [r4, #0x41c]
add r0, r0, #0x46
blx _ZN11ItemManager18func_ov00_020ae648Ejjj
blx _ZN11ItemManager18PlayItemFanfareSfxEi
mov r0, #5
strb r0, [r5, #0x436]
b _02153d74
@@ -62211,7 +62211,7 @@ _02154254:
bl func_ov15_02153938
ldr r0, [r5, #0x41c]
add r0, r0, #0x46
blx _ZN11ItemManager18func_ov00_020ae648Ejjj
blx _ZN11ItemManager18PlayItemFanfareSfxEi
mov r0, #5
strb r0, [r4, #0x436]
b _02154304
@@ -62311,7 +62311,7 @@ _02154374:
bl func_ov00_020d716c
ldr r0, _02154620 ; =data_ov00_020eec68
mov r1, #0xde
bl func_ov00_020d73bc
bl PlaySoundEffect
mov r0, #1
strb r0, [r5, #0x436]
mov r0, #0
@@ -88224,7 +88224,7 @@ _0216a8a8:
bl func_ov15_0214651c
mov r1, r0
mov r0, r6
blx func_ov09_0211ca20
blx GiveShipPart
b _0216a8f8
_0216a8cc:
cmp r4, #0x30
@@ -88238,7 +88238,7 @@ _0216a8e8:
ldr r0, _0216a95c ; =gItemManager
mov r1, r4
ldr r0, [r0]
blx _ZN11ItemManager8GiveItemEjjj
blx _ZN11ItemManager8GiveItemEi
_0216a8f8:
bl func_ov15_02146578
mov r1, r0
@@ -88262,7 +88262,7 @@ _0216a93c:
ldr r0, _0216a95c ; =gItemManager
mov r1, r4
ldr r0, [r0]
blx _ZN11ItemManager15LoadFanfareItemEj
blx _ZN11ItemManager15LoadFanfareItemEi
mov r0, r5
bl func_ov15_0216a968
add sp, sp, #4
@@ -88292,7 +88292,7 @@ _0216a994:
bl func_ov03_020fc10c
ldr r0, _0216aa24 ; =data_ov00_020eec68
mov r1, #0x28
bl func_ov00_020d73bc
bl PlaySoundEffect
mov r1, #0
sub r0, r1, #0x1000
str r0, [sp, #0x18]
@@ -99853,7 +99853,7 @@ func_ov15_02174794: ; 0x02174794
mov r1, r0
mov r0, r5
mov r2, #0
bl _ZN11ItemManager10GiveRupeesEjj
bl _ZN11ItemManager10GiveRupeesEsb
ldr r1, [r4, #0x2c]
ldr r0, _02174878 ; =data_ov00_020eec9c
add r1, r1, #0xfa
+1 -1
View File
@@ -457,7 +457,7 @@
.extern func_ov00_020d1980
.extern func_ov00_020d70a4
.extern func_ov00_020d716c
.extern func_ov00_020d73bc
.extern PlaySoundEffect
.extern func_ov00_020d77e4
.extern func_ov00_020d7a84
.extern func_ov00_020d7b20
+2 -2
View File
@@ -1892,14 +1892,14 @@ _0216ee88:
_0216eea4:
ldr r0, _0216eeec ; =data_ov00_020eec68
mov r1, #0xc2
bl func_ov00_020d73bc
bl PlaySoundEffect
add sp, sp, #8
mov r0, #1
ldmia sp!, {r4, r5, r6, pc}
_0216eebc:
ldr r0, _0216eeec ; =data_ov00_020eec68
mov r1, #0xc4
bl func_ov00_020d73bc
bl PlaySoundEffect
add sp, sp, #8
mov r0, #1
ldmia sp!, {r4, r5, r6, pc}
+21 -21
View File
@@ -2,6 +2,23 @@
.extern Approach_thunk
.extern Divide
.extern FastDivide
.extern PlaySoundEffect
.extern _ZN10MapManager16MapData_vfunc_54Ev
.extern _ZN10MapManager16MapData_vfunc_68Ev
.extern _ZN10MapManager16MapData_vfunc_b4Ev
.extern _ZN10MapManager18func_ov00_020823d4Ei
.extern _ZN10MapManager18func_ov00_020823e4Ei
.extern _ZN10MapManager18func_ov00_02082614Eii
.extern _ZN10MapManager18func_ov00_02082680Eii
.extern _ZN10MapManager18func_ov00_020826a0Eiii
.extern _ZN10MapManager18func_ov00_020836dcEii
.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p
.extern _ZN10MapManager18func_ov00_02083e34Ecci
.extern _ZN10MapManager18func_ov00_02084164Ev
.extern _ZN10MapManager18func_ov00_02084740Ev
.extern _ZN10MapManager18func_ov00_02084a50Ev
.extern _ZN10MapManager18func_ov00_02084cb0Ei
.extern _ZN10MapManager18func_ov00_02084cc8Ei
.extern _ZN10PlayerBase10SetVisibleEb
.extern _ZN11ItemManager7AddItemEi
.extern _ZN12ActorManager13FindActorByIdEj
@@ -69,6 +86,8 @@
.extern _ZN5Actor9GetHitboxEP8Cylinder
.extern _ZN5ActorC2Ev
.extern _ZN5ActorD2Ev
.extern _ZN9ActorTypeC1EjPFP5ActorvEPv
.extern _ZN9ActorTypeD1Ev
.extern _ZN9SysObjectdlEPv
.extern _ZN9SysObjectnwEmPjj
.extern _ZNK11ItemManager18IsTreasureSalvagedEj
@@ -94,7 +113,6 @@
.extern data_027e0d3c
.extern data_027e0d78
.extern data_027e0e58
.extern gMapManager
.extern data_027e0f64
.extern data_027e0f68
.extern data_027e0f6c
@@ -104,7 +122,6 @@
.extern data_027e0f94
.extern data_027e0fa0
.extern data_027e0fac
.extern data_027e0fbc
.extern data_027e0fc8
.extern data_027e0fd4
.extern data_027e0fe0
@@ -196,8 +213,6 @@
.extern func_020352d8
.extern func_02035370
.extern func_020370d0
.extern _ZN9ActorTypeC1EjPFP5ActorvEPv
.extern _ZN9ActorTypeD1Ev
.extern func_0203eba8
.extern func_0203ebc8
.extern func_0203fe60
@@ -218,22 +233,6 @@
.extern func_ov00_0207c1f8
.extern func_ov00_0207c444
.extern func_ov00_02081f4c
.extern _ZN10MapManager18func_ov00_020823d4Ei
.extern _ZN10MapManager18func_ov00_020823e4Ei
.extern _ZN10MapManager16MapData_vfunc_b4Ev
.extern _ZN10MapManager18func_ov00_02082614Eii
.extern _ZN10MapManager18func_ov00_02082680Eii
.extern _ZN10MapManager18func_ov00_020826a0Eiii
.extern _ZN10MapManager18func_ov00_020836dcEii
.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p
.extern _ZN10MapManager18func_ov00_02083e34Ecci
.extern _ZN10MapManager16MapData_vfunc_68Ev
.extern _ZN10MapManager16MapData_vfunc_54Ev
.extern _ZN10MapManager18func_ov00_02084164Ev
.extern _ZN10MapManager18func_ov00_02084740Ev
.extern _ZN10MapManager18func_ov00_02084a50Ev
.extern _ZN10MapManager18func_ov00_02084cb0Ei
.extern _ZN10MapManager18func_ov00_02084cc8Ei
.extern func_ov00_020875f8
.extern func_ov00_02087d34
.extern func_ov00_02087e8c
@@ -406,7 +405,6 @@
.extern func_ov00_020d70a4
.extern func_ov00_020d716c
.extern func_ov00_020d7180
.extern func_ov00_020d73bc
.extern func_ov00_020d73f0
.extern func_ov00_020d77e4
.extern func_ov00_020d7c8c
@@ -536,6 +534,8 @@
.extern func_ov30_02183f84
.extern func_ov30_02183fd4
.extern gAdventureFlags
.extern gHealthManager
.extern gItemManager
.extern gMapManager
.extern strcmp
.extern strncpy
+7 -7
View File
@@ -1707,7 +1707,7 @@ func_ov26_0216e8b8: ; 0x0216e8b8
ldrb r0, [r0]
cmp r0, #0
beq _0216e98e
ldr r0, _0216e9c0 ; =data_027e0fbc
ldr r0, _0216e9c0 ; =gHealthManager
ldr r0, [r0]
ldrh r1, [r0, #0xa]
mov r0, #2
@@ -1762,7 +1762,7 @@ _0216e9b0:
thumb_func_end func_ov26_0216e8b8
_0216e9b8: .word gItemManager
_0216e9bc: .word data_027e0d38
_0216e9c0: .word data_027e0fbc
_0216e9c0: .word gHealthManager
.global func_ov26_0216e9c4
thumb_func_start func_ov26_0216e9c4
@@ -2101,7 +2101,7 @@ _0216edf8:
mov r1, #0x3c
add r0, r0, #0x3b
bl func_01ff9b4c
ldr r1, _0216ee38 ; =data_027e0fbc
ldr r1, _0216ee38 ; =gHealthManager
mov r2, #1
ldr r3, [r1]
mov r0, r0, lsl #0x10
@@ -2115,7 +2115,7 @@ _0216edf8:
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov26_0216edb4
_0216ee38: .word data_027e0fbc
_0216ee38: .word gHealthManager
.global func_ov26_0216ee3c
arm_func_start func_ov26_0216ee3c
@@ -8276,7 +8276,7 @@ _02173dac:
str r0, [r4, #0x78]
ldr r0, _02173de8 ; =data_ov00_020eec68
mov r1, #0x4c
blx func_ov00_020d73bc
blx PlaySoundEffect
pop {r3, r4, r5, pc}
nop
thumb_func_end func_ov26_02173cec
@@ -8769,7 +8769,7 @@ _02174196:
ldrb r1, [r1]
cmp r1, #0
beq _02174204
ldr r1, _02174250 ; =data_027e0fbc
ldr r1, _02174250 ; =gHealthManager
ldr r1, [r1]
ldrh r2, [r1, #0xa]
mov r1, #2
@@ -8867,7 +8867,7 @@ _0217424e:
pop {r3, pc}
.align 2, 0
thumb_func_end func_ov26_02174170
_02174250: .word data_027e0fbc
_02174250: .word gHealthManager
_02174254: .word gItemManager
.global func_ov26_02174258
+1 -1
View File
@@ -322,7 +322,7 @@
.extern func_ov09_0211c45c
.extern func_ov09_0211c724
.extern func_ov09_0211c808
.extern func_ov09_0211ca20
.extern GiveShipPart
.extern func_ov09_0211cac0
.extern func_ov14_02120ac4
.extern func_ov14_021231d4
+1 -1
View File
@@ -2701,7 +2701,7 @@ _0216faf8:
blx func_ov09_0211c724
ldr r0, [sp, #4]
ldr r1, [sp]
blx func_ov09_0211ca20
blx GiveShipPart
_0216fb20:
mov r0, r4
add sp, sp, #0xc
+1 -1
View File
@@ -10,7 +10,7 @@
.extern _ZN10MapManager18func_ov00_02083938Ei
.extern _ZN10MapManager18func_ov00_020846a4Ev
.extern _ZN10MapManager18func_ov00_02084d24Ecci
.extern _ZN11ItemManager18func_ov00_020ae4dcEj
.extern _ZN11ItemManager18func_ov00_020ae4dcEi
.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList
.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j
.extern _ZN12ActorManager18func_ov00_020c3b2cEPi
+1 -1
View File
@@ -755,7 +755,7 @@ _0216df70:
ldr r0, _0216e008 ; =gItemManager
mvn r1, #0
ldr r0, [r0]
bl _ZN11ItemManager18func_ov00_020ae4dcEj
bl _ZN11ItemManager18func_ov00_020ae4dcEi
add r0, r6, r4
add r1, r7, r5
ldr r3, _0216e000 ; =data_027e0fc8
+2 -2
View File
@@ -1,7 +1,8 @@
#pragma once
.extern Divide
.extern GiveShipPart
.extern LoadTreasureItemFanfare
.extern _ZN11ItemManager10GiveRupeesEjj
.extern _ZN11ItemManager10GiveRupeesEsb
.extern _ZN11ItemManager8GiveAmmoEit
.extern _ZN12ActorManager8GetActorEP8ActorRef
.extern _ZN14AdventureFlags3GetEj
@@ -183,7 +184,6 @@
.extern func_ov09_0211c1a8
.extern func_ov09_0211c980
.extern func_ov09_0211c9a0
.extern func_ov09_0211ca20
.extern func_ov09_0211cac0
.extern func_ov09_0211cca4
.extern func_ov09_0211ccb4
+2 -2
View File
@@ -1049,7 +1049,7 @@ _0217cae4:
ldr r0, [r0]
rsb r1, r1, #0
mov r2, #1
bl _ZN11ItemManager10GiveRupeesEjj
bl _ZN11ItemManager10GiveRupeesEsb
bl func_ov31_0217cf1c
ldr r0, [r0, #0x470]
cmp r0, #0
@@ -5443,7 +5443,7 @@ func_ov31_0217ff08: ; 0x0217ff08
bl func_ov31_02180260
mov r1, r0
mov r0, r4
blx func_ov09_0211ca20
blx GiveShipPart
bl func_ov31_0217bdb8
bl func_ov31_0217bd80
cmp r0, #0
+1 -1
View File
@@ -75,7 +75,6 @@
.extern data_027e0f94
.extern data_027e0fa0
.extern data_027e0fac
.extern data_027e0fbc
.extern data_027e0fc8
.extern data_027e0fe0
.extern data_027e0fe4
@@ -249,4 +248,5 @@
.extern func_ov14_02145f0c
.extern func_ov18_02160a54
.extern func_ov18_02160a64
.extern gHealthManager
.extern strncpy
+5 -5
View File
@@ -1755,7 +1755,7 @@ _0217d3b0:
mov r0, #1
ldmia sp!, {r4, pc}
_0217d3d0:
ldr r0, _0217d3f4 ; =data_027e0fbc
ldr r0, _0217d3f4 ; =gHealthManager
mov r2, #5
ldr r1, [r0]
mov r0, #1
@@ -1767,7 +1767,7 @@ _0217d3e8:
.align 2, 0
arm_func_end func_ov33_0217d394
_0217d3f0: .word data_027e0e28
_0217d3f4: .word data_027e0fbc
_0217d3f4: .word gHealthManager
.global func_ov33_0217d3f8
arm_func_start func_ov33_0217d3f8
@@ -1780,7 +1780,7 @@ func_ov33_0217d3f8: ; 0x0217d3f8
beq _0217d444
cmp r1, #0x1f
bne _0217d484
ldr r1, _0217d48c ; =data_027e0fbc
ldr r1, _0217d48c ; =gHealthManager
ldr r1, [r1]
ldrsh r1, [r1, #8]
mov r1, r1, lsl #0x18
@@ -1793,7 +1793,7 @@ _0217d43c:
mov r0, r4
ldmia sp!, {r4, pc}
_0217d444:
ldr r0, _0217d48c ; =data_027e0fbc
ldr r0, _0217d48c ; =gHealthManager
ldr r0, [r0]
ldrsh r0, [r0, #4]
sub r1, r0, #0x10
@@ -1815,7 +1815,7 @@ _0217d484:
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov33_0217d3f8
_0217d48c: .word data_027e0fbc
_0217d48c: .word gHealthManager
.global func_ov33_0217d490
arm_func_start func_ov33_0217d490
+1 -1
View File
@@ -1,6 +1,7 @@
#pragma once
.extern Approach_thunk
.extern Divide
.extern PlaySoundEffect
.extern _ZN10MapManager18func_ov00_02084b38Eiii
.extern _ZN10MapManager18func_ov00_02084be0Eii
.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j
@@ -217,7 +218,6 @@
.extern func_ov00_020d5f98
.extern func_ov00_020d70a4
.extern func_ov00_020d716c
.extern func_ov00_020d73bc
.extern func_ov00_020d73f0
.extern func_ov00_020d7c8c
.extern func_ov00_020d7d18
+1 -1
View File
@@ -208,7 +208,7 @@ func_ov38_0217bf48: ; 0x0217bf48
bl func_ov00_020d8388
ldr r0, _0217c048 ; =data_ov00_020eec68
mov r1, #0xcf
bl func_ov00_020d73bc
bl PlaySoundEffect
ldr r0, _0217c04c ; =data_ov38_021891e0
ldr r0, [r0, #0x58]
bl func_ov38_02184a18
+1 -1
View File
@@ -230,7 +230,7 @@
.extern func_ov00_020d18f4
.extern func_ov00_020d1980
.extern func_ov00_020d716c
.extern func_ov00_020d73bc
.extern PlaySoundEffect
.extern func_ov00_020d73f0
.extern func_ov00_020d77e4
.extern func_ov00_020d7ad4
+1 -1
View File
@@ -112,7 +112,7 @@ _0217bed4:
bl func_ov00_0207c5d4
ldr r0, _0217bf2c ; =data_ov00_020eec68
mov r1, #0xd2
bl func_ov00_020d73bc
bl PlaySoundEffect
ldr r1, [r4, #8]
ldr r0, [r1, #0x158]
bic r0, r0, #0x4000000
+1 -1
View File
@@ -2,7 +2,7 @@
.extern Divide
.extern FastDivide
.extern _ZN11ItemManager7AddItemEi
.extern _ZN11ItemManager8GiveItemEjjj
.extern _ZN11ItemManager8GiveItemEi
.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j
.extern _ZN12ActorManager8GetActorEP8ActorRef
.extern _ZN14AdventureFlags15Get_FlagsUnk_18EiP9FlagsUnk2
+1 -1
View File
@@ -4428,7 +4428,7 @@ _0217f5a4:
mov r1, r1, lsl #0x8
ldr r0, [r0]
mov r1, r1, lsr #0x10
blx _ZN11ItemManager8GiveItemEjjj
blx _ZN11ItemManager8GiveItemEi
add sp, sp, #8
ldmia sp!, {r3, pc}
_0217f5c4:
+1 -1
View File
@@ -1,6 +1,6 @@
#pragma once
.extern _ZN10MapManager18func_ov00_02083918EiPi
.extern _ZN11ItemManager13ForceEquipItemEi
.extern _ZN11ItemManager14ForceEquipItemEi
.extern _ZN11ItemManager20ClearForcedEquipItemEv
.extern _ZN12ActorManager8GetActorEP8ActorRef
.extern _ZN14AdventureFlags3GetEj
+1 -1
View File
@@ -326,7 +326,7 @@ _02189918:
ldr r0, _02189afc ; =gItemManager
mov r1, #5
ldr r0, [r0]
blx _ZN11ItemManager13ForceEquipItemEi
blx _ZN11ItemManager14ForceEquipItemEi
ldr r1, _02189b00 ; =data_027e0fc8
mov r0, r7
ldr r4, [r1]
+3 -3
View File
@@ -1,7 +1,7 @@
#pragma once
.extern _ZN11ItemManager16SetShipPartCountEjjc
.extern _ZN11ItemManager16SetTreasureCountEjc
.extern _ZN11ItemManager19SetTreasureSalvagedEjj
.extern _ZN11ItemManager21AddShipPartPriceShownEjj
.extern _ZN11ItemManager21AddTreasurePriceShownEj
.extern _ZN14AdventureFlags3GetEj
.extern _ZN5Actor10SetUnk_11bEv
@@ -46,7 +46,7 @@
.extern _ZN9SysObjectnwEmPjj
.extern _ZNK11ItemManager16GetShipPartCountEjj
.extern _ZNK11ItemManager16GetTreasureCountEj
.extern _ZNK11ItemManager18IsTreasureSalvagedEjj
.extern _ZNK11ItemManager21HasShipPartPriceShownEjj
.extern _ZNK11ItemManager21HasTreasurePriceShownEj
.extern __register_global_object
.extern data_020691a0
@@ -239,7 +239,7 @@
.extern func_ov09_0211c9a0
.extern func_ov09_0211c9a8
.extern func_ov09_0211c9e8
.extern func_ov09_0211ca20
.extern GiveShipPart
.extern func_ov09_0211cac0
.extern func_ov09_0211cb3c
.extern func_ov09_0211cb5c
+3 -3
View File
@@ -1976,7 +1976,7 @@ func_ov45_0218ad80: ; 0x0218ad80
add r0, ip, r0, asr #1
sub r1, lr, r1
mov r4, #0x2b
blx func_ov09_0211ca20
blx GiveShipPart
b _0218ae0c
_0218ae00:
sub r0, lr, #0x48
@@ -5128,7 +5128,7 @@ func_ov45_0218d4d4: ; 0x0218d4d4
mov r1, r0
ldr r2, [r5, #0x1c]
mov r0, r4
blx _ZN11ItemManager19SetTreasureSalvagedEjj
blx _ZN11ItemManager21AddShipPartPriceShownEjj
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov45_0218d4d4
@@ -6012,7 +6012,7 @@ _0218de84:
mov r1, r0
ldr r2, [r5, #0x1c]
mov r0, r6
blx _ZNK11ItemManager18IsTreasureSalvagedEjj
blx _ZNK11ItemManager21HasShipPartPriceShownEjj
cmp r0, #0
beq _0218df54
add ip, sp, #0x28
+1 -1
View File
@@ -3,7 +3,7 @@
.extern _ZN10MapManager16MapData_vfunc_78Ev
.extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p
.extern _ZN10MapManager18func_ov00_02083fb0EiPS_i
.extern _ZN11ItemManager10GiveRupeesEjj
.extern _ZN11ItemManager10GiveRupeesEsb
.extern _ZN11ItemManager16SetTreasureCountEjc
.extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j
.extern _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p
+1 -1
View File
@@ -3035,7 +3035,7 @@ _02192754:
strb r2, [r5, #0x48b]
ldr r0, [r0]
mov r2, #1
bl _ZN11ItemManager10GiveRupeesEjj
bl _ZN11ItemManager10GiveRupeesEsb
ldrb r2, [r5, #0x48a]
ldr r0, _021927d0 ; =gItemManager
sub r1, r4, #1
+59 -59
View File
@@ -1,5 +1,64 @@
#pragma once
.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder
.extern _ZN5Actor10SetUnk_11bEv
.extern _ZN5Actor11SetVelocityEP5Vec3p
.extern _ZN5Actor12ApplyGravityEv
.extern _ZN5Actor12CollidesWithEPKS_
.extern _ZN5Actor12GetOffsetPosEP5Vec3p
.extern _ZN5Actor12KillInBoundsEv
.extern _ZN5Actor12SetTransformEP9Transform
.extern _ZN5Actor12XzDistanceToEP5Vec3p
.extern _ZN5Actor15IsHitboxTouchedEb
.extern _ZN5Actor15TrySetTransformEP9Transform
.extern _ZN5Actor16CollidesWithLinkEv
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor18CollidesWithShieldEP8Cylinder
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor18func_ov00_020c1cf8Ev
.extern _ZN5Actor18func_ov00_020c1da0EiP5Vec3p
.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
.extern _ZN5Actor18func_ov00_020c313cEj
.extern _ZN5Actor18func_ov00_020c3200Ei
.extern _ZN5Actor20IncreaseActiveFramesEv
.extern _ZN5Actor4KillEv
.extern _ZN5Actor6GetPosEv
.extern _ZN5Actor8vfunc_08Ev
.extern _ZN5Actor8vfunc_0cEv
.extern _ZN5Actor8vfunc_10Ej
.extern _ZN5Actor8vfunc_18Ej
.extern _ZN5Actor8vfunc_1cEt
.extern _ZN5Actor8vfunc_20Ei
.extern _ZN5Actor8vfunc_24Ev
.extern _ZN5Actor8vfunc_28Ev
.extern _ZN5Actor8vfunc_2cEv
.extern _ZN5Actor8vfunc_30Ev
.extern _ZN5Actor8vfunc_38Ev
.extern _ZN5Actor8vfunc_48Ei
.extern _ZN5Actor8vfunc_4cEPi
.extern _ZN5Actor8vfunc_54Ev
.extern _ZN5Actor8vfunc_60Ev
.extern _ZN5Actor8vfunc_64Ev
.extern _ZN5Actor8vfunc_68Ev
.extern _ZN5Actor8vfunc_6cEv
.extern _ZN5Actor8vfunc_70Ev
.extern _ZN5Actor8vfunc_74Ev
.extern _ZN5Actor8vfunc_78Ev
.extern _ZN5Actor8vfunc_7cEv
.extern _ZN5Actor8vfunc_80Ev
.extern _ZN5Actor8vfunc_84Ev
.extern _ZN5Actor8vfunc_88Ev
.extern _ZN5Actor8vfunc_8cEv
.extern _ZN5Actor8vfunc_90Ev
.extern _ZN5Actor8vfunc_94Ev
.extern _ZN5Actor8vfunc_98Ev
.extern _ZN5Actor8vfunc_9cEv
.extern _ZN5Actor8vfunc_a8Ev
.extern _ZN5Actor8vfunc_acEv
.extern _ZN5Actor8vfunc_b0Ev
.extern _ZN5Actor9GetHitboxEP8Cylinder
.extern _ZN5ActorC2Ev
.extern _ZN5ActorD2Ev
.extern _ZN9SysObjectdlEPv
.extern _ZN9SysObjectnwEmPjj
.extern _ZNK11ItemManager19GetActiveFairyLevelEi
@@ -86,65 +145,6 @@
.extern func_ov00_020c070c
.extern func_ov00_020c0c08
.extern func_ov00_020c1500
.extern _ZN5ActorC2Ev
.extern _ZN5ActorD2Ev
.extern _ZN5Actor8vfunc_08Ev
.extern _ZN5Actor8vfunc_0cEv
.extern _ZN5Actor8vfunc_10Ej
.extern _ZN5Actor8vfunc_24Ev
.extern _ZN5Actor8vfunc_28Ev
.extern _ZN5Actor12GetOffsetPosEP5Vec3p
.extern _ZN5Actor8vfunc_38Ev
.extern _ZN5Actor8vfunc_2cEv
.extern _ZN5Actor8vfunc_30Ev
.extern _ZN5Actor8vfunc_18Ej
.extern _ZN5Actor8vfunc_1cEt
.extern _ZN5Actor8vfunc_20Ei
.extern _ZN5Actor10SetUnk_11bEv
.extern _ZN5Actor11SetVelocityEP5Vec3p
.extern _ZN5Actor8vfunc_60Ev
.extern _ZN5Actor8vfunc_64Ev
.extern _ZN5Actor8vfunc_68Ev
.extern _ZN5Actor8vfunc_6cEv
.extern _ZN5Actor8vfunc_70Ev
.extern _ZN5Actor8vfunc_74Ev
.extern _ZN5Actor8vfunc_7cEv
.extern _ZN5Actor8vfunc_78Ev
.extern _ZN5Actor8vfunc_80Ev
.extern _ZN5Actor8vfunc_84Ev
.extern _ZN5Actor8vfunc_88Ev
.extern _ZN5Actor8vfunc_8cEv
.extern _ZN5Actor8vfunc_90Ev
.extern _ZN5Actor8vfunc_94Ev
.extern _ZN5Actor8vfunc_98Ev
.extern _ZN5Actor8vfunc_9cEv
.extern _ZN5Actor15TrySetTransformEP9Transform
.extern _ZN5Actor12SetTransformEP9Transform
.extern _ZN5Actor8vfunc_a8Ev
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c1c20Eiii
.extern _ZN5Actor8vfunc_48Ei
.extern _ZN5Actor8vfunc_4cEPi
.extern _ZN5Actor18func_ov00_020c1cf8Ev
.extern _ZN5Actor18func_ov00_020c1da0EiP5Vec3p
.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
.extern _ZN5Actor18CollidesWithShieldEP8Cylinder
.extern _ZN5Actor12CollidesWithEPKS_
.extern _ZN5Actor16CollidesWithLinkEv
.extern _ZN5Actor12XzDistanceToEP5Vec3p
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor9GetHitboxEP8Cylinder
.extern _ZN5Actor20IncreaseActiveFramesEv
.extern _ZN5Actor15IsHitboxTouchedEb
.extern _ZN5Actor12ApplyGravityEv
.extern _ZN5Actor6GetPosEv
.extern _ZN5Actor8vfunc_54Ev
.extern _ZN5Actor18func_ov00_020c313cEj
.extern _ZN5Actor4KillEv
.extern _ZN5Actor12KillInBoundsEv
.extern _ZN5Actor8vfunc_acEv
.extern _ZN5Actor18func_ov00_020c3200Ei
.extern _ZN5Actor8vfunc_b0Ev
.extern func_ov00_020c3348
.extern func_ov00_020c4048
.extern func_ov00_020c4588
+60
View File
@@ -63,6 +63,66 @@
.extern _ZN5Actor9GetHitboxEP8Cylinder
.extern _ZN5ActorC2Ev
.extern _ZN5ActorD2Ev
.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList
.extern _ZN12ActorManager8GetActorEP8ActorRef
.extern _ZN5Actor10SetUnk_11bEv
.extern _ZN5Actor11SetVelocityEP5Vec3p
.extern _ZN5Actor12ApplyGravityEv
.extern _ZN5Actor12CollidesWithEPKS_
.extern _ZN5Actor12GetOffsetPosEP5Vec3p
.extern _ZN5Actor12SetTransformEP9Transform
.extern _ZN5Actor12XzDistanceToEP5Vec3p
.extern _ZN5Actor14GetAngleToLinkEv
.extern _ZN5Actor15IsHitboxTouchedEb
.extern _ZN5Actor15TrySetTransformEP9Transform
.extern _ZN5Actor16CollidesWithLinkEv
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor18CollidesWithShieldEP8Cylinder
.extern _ZN5Actor18func_ov00_020c1cf8Ev
.extern _ZN5Actor18func_ov00_020c1d58Ev
.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii
.extern _ZN5Actor18func_ov00_020c1fc8Ej
.extern _ZN5Actor18func_ov00_020c243cEiPi
.extern _ZN5Actor18func_ov00_020c313cEj
.extern _ZN5Actor18func_ov00_020c3200Ei
.extern _ZN5Actor20IncreaseActiveFramesEv
.extern _ZN5Actor4KillEv
.extern _ZN5Actor6GetPosEv
.extern _ZN5Actor8vfunc_08Ev
.extern _ZN5Actor8vfunc_0cEv
.extern _ZN5Actor8vfunc_10Ej
.extern _ZN5Actor8vfunc_18Ej
.extern _ZN5Actor8vfunc_1cEt
.extern _ZN5Actor8vfunc_20Ei
.extern _ZN5Actor8vfunc_24Ev
.extern _ZN5Actor8vfunc_28Ev
.extern _ZN5Actor8vfunc_2cEv
.extern _ZN5Actor8vfunc_30Ev
.extern _ZN5Actor8vfunc_38Ev
.extern _ZN5Actor8vfunc_4cEPi
.extern _ZN5Actor8vfunc_54Ev
.extern _ZN5Actor8vfunc_60Ev
.extern _ZN5Actor8vfunc_64Ev
.extern _ZN5Actor8vfunc_68Ev
.extern _ZN5Actor8vfunc_6cEv
.extern _ZN5Actor8vfunc_70Ev
.extern _ZN5Actor8vfunc_74Ev
.extern _ZN5Actor8vfunc_78Ev
.extern _ZN5Actor8vfunc_7cEv
.extern _ZN5Actor8vfunc_80Ev
.extern _ZN5Actor8vfunc_84Ev
.extern _ZN5Actor8vfunc_88Ev
.extern _ZN5Actor8vfunc_8cEv
.extern _ZN5Actor8vfunc_90Ev
.extern _ZN5Actor8vfunc_94Ev
.extern _ZN5Actor8vfunc_98Ev
.extern _ZN5Actor8vfunc_9cEv
.extern _ZN5Actor8vfunc_a8Ev
.extern _ZN5Actor8vfunc_acEv
.extern _ZN5Actor8vfunc_b0Ev
.extern _ZN5Actor9GetHitboxEP8Cylinder
.extern _ZN5ActorC2Ev
.extern _ZN5ActorD2Ev
.extern _ZN9SysObjectdlEPv
.extern _ZN9SysObjectnwEmPjj
.extern _ZNK11ItemManager19GetActiveFairyLevelEi
+1 -1
View File
@@ -2,7 +2,7 @@
.extern Divide
.extern _ZN10ActorRupee18func_ov14_0213b5f4EjiP5Vec3pb
.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder
.extern _ZN11ItemManager10GiveRupeesEjj
.extern _ZN11ItemManager10GiveRupeesEsb
.extern _ZN11ItemManager10RemoveItemEi
.extern _ZN11ItemManager12GetItemModelEj
.extern _ZN14AdventureFlags18func_Ov00_02097810Ei
+1 -1
View File
@@ -894,7 +894,7 @@ _02196068:
mov r0, r5
rsb r1, r1, #0
mov r2, #0
bl _ZN11ItemManager10GiveRupeesEjj
bl _ZN11ItemManager10GiveRupeesEsb
ldrb r1, [r4, #0x5c9]
ldr r0, _021960f0 ; =gItemManager
add r1, r1, #1
+1 -1
View File
@@ -77,7 +77,6 @@
.extern data_027e0194
.extern data_027e0764
.extern data_027e0e58
.extern gMapManager
.extern data_027e0f64
.extern data_027e0f6c
.extern data_027e0f90
@@ -191,3 +190,4 @@
.extern func_ov14_02148334
.extern func_ov14_02148364
.extern gAdventureFlags
.extern gMapManager
+56 -56
View File
@@ -1,5 +1,61 @@
#pragma once
.extern _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi
.extern _ZN12ActorManager8GetActorEP8ActorRef
.extern _ZN5Actor10SetUnk_11bEv
.extern _ZN5Actor11SetVelocityEP5Vec3p
.extern _ZN5Actor12CollidesWithEPKS_
.extern _ZN5Actor12GetOffsetPosEP5Vec3p
.extern _ZN5Actor12SetTransformEP9Transform
.extern _ZN5Actor15IsHitboxTouchedEb
.extern _ZN5Actor15TrySetTransformEP9Transform
.extern _ZN5Actor16CollidesWithLinkEv
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor18func_ov00_020c1cf8Ev
.extern _ZN5Actor18func_ov00_020c1da0EiP5Vec3p
.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
.extern _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii
.extern _ZN5Actor18func_ov00_020c1fc8Ej
.extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_
.extern _ZN5Actor18func_ov00_020c243cEiPi
.extern _ZN5Actor18func_ov00_020c313cEj
.extern _ZN5Actor18func_ov00_020c3200Ei
.extern _ZN5Actor20IncreaseActiveFramesEv
.extern _ZN5Actor4KillEv
.extern _ZN5Actor6GetPosEv
.extern _ZN5Actor8vfunc_0cEv
.extern _ZN5Actor8vfunc_10Ej
.extern _ZN5Actor8vfunc_18Ej
.extern _ZN5Actor8vfunc_1cEt
.extern _ZN5Actor8vfunc_24Ev
.extern _ZN5Actor8vfunc_28Ev
.extern _ZN5Actor8vfunc_2cEv
.extern _ZN5Actor8vfunc_30Ev
.extern _ZN5Actor8vfunc_38Ev
.extern _ZN5Actor8vfunc_48Ei
.extern _ZN5Actor8vfunc_4cEPi
.extern _ZN5Actor8vfunc_54Ev
.extern _ZN5Actor8vfunc_60Ev
.extern _ZN5Actor8vfunc_64Ev
.extern _ZN5Actor8vfunc_68Ev
.extern _ZN5Actor8vfunc_6cEv
.extern _ZN5Actor8vfunc_70Ev
.extern _ZN5Actor8vfunc_74Ev
.extern _ZN5Actor8vfunc_78Ev
.extern _ZN5Actor8vfunc_7cEv
.extern _ZN5Actor8vfunc_80Ev
.extern _ZN5Actor8vfunc_84Ev
.extern _ZN5Actor8vfunc_88Ev
.extern _ZN5Actor8vfunc_8cEv
.extern _ZN5Actor8vfunc_90Ev
.extern _ZN5Actor8vfunc_94Ev
.extern _ZN5Actor8vfunc_98Ev
.extern _ZN5Actor8vfunc_9cEv
.extern _ZN5Actor8vfunc_a8Ev
.extern _ZN5Actor8vfunc_acEv
.extern _ZN5Actor8vfunc_b0Ev
.extern _ZN5ActorC2Ev
.extern _ZN5ActorD2Ev
.extern _ZN9SysObjectdlEPv
.extern _ZN9SysObjectnwEmPjj
.extern data_02050f54
@@ -73,63 +129,7 @@
.extern func_ov00_020c0cc8
.extern func_ov00_020c0e04
.extern func_ov00_020c1500
.extern _ZN5ActorC2Ev
.extern _ZN5ActorD2Ev
.extern _ZN5Actor8vfunc_0cEv
.extern _ZN5Actor8vfunc_10Ej
.extern _ZN5Actor8vfunc_24Ev
.extern _ZN5Actor8vfunc_28Ev
.extern _ZN5Actor12GetOffsetPosEP5Vec3p
.extern _ZN5Actor8vfunc_38Ev
.extern _ZN5Actor8vfunc_2cEv
.extern _ZN5Actor8vfunc_30Ev
.extern _ZN5Actor8vfunc_18Ej
.extern _ZN5Actor8vfunc_1cEt
.extern _ZN5Actor10SetUnk_11bEv
.extern _ZN5Actor11SetVelocityEP5Vec3p
.extern _ZN5Actor8vfunc_60Ev
.extern _ZN5Actor8vfunc_64Ev
.extern _ZN5Actor8vfunc_68Ev
.extern _ZN5Actor8vfunc_6cEv
.extern _ZN5Actor8vfunc_70Ev
.extern _ZN5Actor8vfunc_74Ev
.extern _ZN5Actor8vfunc_7cEv
.extern _ZN5Actor8vfunc_78Ev
.extern _ZN5Actor8vfunc_80Ev
.extern _ZN5Actor8vfunc_84Ev
.extern _ZN5Actor8vfunc_88Ev
.extern _ZN5Actor8vfunc_8cEv
.extern _ZN5Actor8vfunc_90Ev
.extern _ZN5Actor8vfunc_94Ev
.extern _ZN5Actor8vfunc_98Ev
.extern _ZN5Actor8vfunc_9cEv
.extern _ZN5Actor15TrySetTransformEP9Transform
.extern _ZN5Actor12SetTransformEP9Transform
.extern _ZN5Actor8vfunc_a8Ev
.extern _ZN5Actor18func_Ov00_020c1bfcEi
.extern _ZN5Actor8vfunc_48Ei
.extern _ZN5Actor8vfunc_4cEPi
.extern _ZN5Actor18func_ov00_020c1cf8Ev
.extern _ZN5Actor18func_ov00_020c1da0EiP5Vec3p
.extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p
.extern _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii
.extern _ZN5Actor18func_ov00_020c1fc8Ej
.extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_
.extern _ZN5Actor18func_ov00_020c243cEiPi
.extern _ZN5Actor12CollidesWithEPKS_
.extern _ZN5Actor16CollidesWithLinkEv
.extern _ZN5Actor16XzDistanceToLinkEv
.extern _ZN5Actor20IncreaseActiveFramesEv
.extern _ZN5Actor15IsHitboxTouchedEb
.extern _ZN5Actor6GetPosEv
.extern _ZN5Actor8vfunc_54Ev
.extern _ZN5Actor18func_ov00_020c313cEj
.extern _ZN5Actor4KillEv
.extern _ZN5Actor8vfunc_acEv
.extern _ZN5Actor18func_ov00_020c3200Ei
.extern _ZN5Actor8vfunc_b0Ev
.extern func_ov00_020c3348
.extern _ZN12ActorManager8GetActorEP8ActorRef
.extern func_ov00_020c4048
.extern func_ov00_020c4588
.extern func_ov00_020c57fc
+1 -1
View File
@@ -167,7 +167,7 @@
.extern func_ov05_021082e4
.extern func_ov09_0211c724
.extern func_ov09_0211c808
.extern func_ov09_0211ca20
.extern GiveShipPart
.extern func_ov09_0211cac0
.extern func_ov14_021448f4
.extern func_ov14_02144a90
+1 -1
View File
@@ -1159,7 +1159,7 @@ _021963c4:
blx func_ov09_0211c724
ldr r0, [sp, #4]
ldr r1, [sp]
blx func_ov09_0211ca20
blx GiveShipPart
_021963ec:
mov r0, r4
add sp, sp, #0xc
+1 -1
View File
@@ -1,7 +1,7 @@
#pragma once
.extern _ZN11ItemManager12GetItemModelEj
.extern _ZN11ItemManager17EquipPreviousItemEv
.extern _ZN11ItemManager9SetPotionEjj
.extern _ZN11ItemManager9SetPotionEjh
.extern _ZN12ActorManager8GetActorEP8ActorRef
.extern _ZN13LinkStateBase12GetGrabActorEv
.extern _ZN13LinkStateBase12GetPlayerPosEv
+1 -1
View File
@@ -432,7 +432,7 @@ _02199244:
ldr r1, [r4, #0xc]
ldr r0, [r0]
mov r2, #0
bl _ZN11ItemManager9SetPotionEjj
bl _ZN11ItemManager9SetPotionEjh
ldr r0, _0219926c ; =gItemManager
ldr r0, [r0]
bl _ZN11ItemManager17EquipPreviousItemEv
+1 -1
View File
@@ -2,6 +2,7 @@
.extern Divide
.extern _ZN11ItemManager12GetEquipItemEi
.extern _ZN11ItemManager12GetItemModelEj
.extern _ZN12ActorManager13FindActorByIdEj
.extern _ZN13LinkStateBase14GetPlayerAngleEv
.extern _ZN13LinkStateBase15ChangeLinkStateEi
.extern _ZN13LinkStateBase15GetGrabActorRefEv
@@ -107,7 +108,6 @@
.extern func_ov00_020c0e5c
.extern func_ov00_020c1500
.extern func_ov00_020c3348
.extern _ZN12ActorManager13FindActorByIdEj
.extern func_ov00_020c4048
.extern func_ov00_020cf01c
.extern func_ov00_020d00c4
+15
View File
@@ -0,0 +1,15 @@
#pragma once
#include "global.h"
#include "types.h"
struct UnkStruct_027e0f78 {
/* 00 */ unk8 mUnk_00[0x18];
/* 18 */ u16 mUnk_18;
/* 1a */ u16 mUnk_1a;
/* 1c */ u16 mUnk_1c;
/* 1e */ u16 mUnk_1e;
/* 20 */
};
extern UnkStruct_027e0f78 *data_027e0f78;
+86 -40
View File
@@ -5,77 +5,121 @@
typedef s32 ItemFlag;
enum ItemFlag_ {
ItemFlag_None = -1,
ItemFlag_OshusSword = 0,
ItemFlag_WoodenShield = 1,
ItemFlag_Boomerang = 2,
ItemFlag_Shovel = 3,
ItemFlag_BombBag = 4,
ItemFlag_Bow = 5,
ItemFlag_GrapplingHook = 6,
ItemFlag_BombchuBag = 7,
ItemFlag_Hammer = 8,
ItemFlag_PotionA = 9,
ItemFlag_PotionB = 10,
/* 0x00 */ ItemFlag_OshusSword = 0,
/* 0x01 */ ItemFlag_WoodenShield = 1,
/* 0x02 */ ItemFlag_Boomerang = 2,
/* 0x03 */ ItemFlag_Shovel = 3,
/* 0x04 */ ItemFlag_BombBag = 4,
/* 0x05 */ ItemFlag_Bow = 5,
/* 0x06 */ ItemFlag_GrapplingHook = 6,
/* 0x07 */ ItemFlag_BombchuBag = 7,
/* 0x08 */ ItemFlag_Hammer = 8,
/* 0x09 */ ItemFlag_PotionA = 9,
/* 0x0a */ ItemFlag_PotionB = 10,
ItemFlag_EQUIP_START = ItemFlag_OshusSword,
ItemFlag_EQUIP_END = ItemFlag_PotionB + 1,
ItemFlag_EQUIP_COUNT = ItemFlag_EQUIP_END - ItemFlag_EQUIP_START,
ItemFlag_SpiritOfCourage = 20,
ItemFlag_SpiritOfPower = 21,
ItemFlag_SpiritOfWisdom = 22,
ItemFlag_CourageLv1 = 23,
ItemFlag_PowerLv1 = 24,
ItemFlag_WisdomLv1 = 25,
/* 0x14 */ ItemFlag_SpiritOfCourage = 20,
/* 0x15 */ ItemFlag_SpiritOfPower = 21,
/* 0x16 */ ItemFlag_SpiritOfWisdom = 22,
/* 0x17 */ ItemFlag_CourageLv1 = 23,
/* 0x18 */ ItemFlag_PowerLv1 = 24,
/* 0x19 */ ItemFlag_WisdomLv1 = 25,
ItemFlag_FAIRY_LV1 = ItemFlag_CourageLv1,
ItemFlag_CourageLv2 = 26,
ItemFlag_PowerLv2 = 27,
ItemFlag_WisdomLv2 = 28,
/* 0x1a */ ItemFlag_CourageLv2 = 26,
/* 0x1b */ ItemFlag_PowerLv2 = 27,
/* 0x1c */ ItemFlag_WisdomLv2 = 28,
ItemFlag_FAIRY_LV2 = ItemFlag_CourageLv2,
ItemFlag_Hourglass = 32,
ItemFlag_SeaChartSW = 33,
ItemFlag_SeaChartNW = 34,
ItemFlag_SeaChartSE = 35,
ItemFlag_SeaChartNE = 36,
ItemFlag_PhantomSword = 37,
ItemFlag_SunKey = 38,
/* 0x20 */ ItemFlag_Hourglass = 32,
/* 0x21 */ ItemFlag_SeaChartSW = 33,
/* 0x22 */ ItemFlag_SeaChartNW = 34,
/* 0x23 */ ItemFlag_SeaChartSE = 35,
/* 0x24 */ ItemFlag_SeaChartNE = 36,
/* 0x25 */ ItemFlag_PhantomSword = 37,
/* 0x26 */ ItemFlag_SunKey = 38,
/* 0x27 */ ItemFlag_Unk_39 = 39,
/* 0x28 */ ItemFlag_FishingRod = 40,
/* 0x29 */ ItemFlag_Cannon = 41,
/* 0x2a */ ItemFlag_KingsKey = 42,
/* 0x2b */ ItemFlag_GhostKey = 43,
/* 0x2c */ ItemFlag_SalvageArm = 44,
ItemFlag_KingsKey = 42,
ItemFlag_GhostKey = 43,
/* 0x2d */ ItemFlag_SwordsmansScroll = 45,
/* 0x2e */ ItemFlag_CycloneSlate = 46,
/* 0x2f */ ItemFlag_Unk_47 = 47,
ItemFlag_SwordsmansScroll = 45,
/* 0x60 */ ItemFlag_TreasureChart1 = 96,
/* 0x61 */ ItemFlag_TreasureChart2 = 97,
/* 0x62 */ ItemFlag_TreasureChart3 = 98,
/* 0x63 */ ItemFlag_TreasureChart4 = 99,
/* 0x64 */ ItemFlag_TreasureChart5 = 100,
/* 0x65 */ ItemFlag_TreasureChart6 = 101,
/* 0x66 */ ItemFlag_TreasureChart7 = 102,
/* 0x67 */ ItemFlag_TreasureChart8 = 103,
/* 0x68 */ ItemFlag_TreasureChart9 = 104,
/* 0x69 */ ItemFlag_TreasureChart10 = 105,
/* 0x6a */ ItemFlag_TreasureChart11 = 106,
/* 0x6b */ ItemFlag_TreasureChart12 = 107,
/* 0x6c */ ItemFlag_TreasureChart13 = 108,
/* 0x6d */ ItemFlag_TreasureChart14 = 109,
/* 0x6e */ ItemFlag_TreasureChart15 = 110,
/* 0x6f */ ItemFlag_TreasureChart16 = 111,
/* 0x70 */ ItemFlag_TreasureChart17 = 112,
/* 0x71 */ ItemFlag_TreasureChart18 = 113,
/* 0x72 */ ItemFlag_TreasureChart19 = 114,
/* 0x73 */ ItemFlag_TreasureChart20 = 115,
/* 0x74 */ ItemFlag_TreasureChart21 = 116,
/* 0x75 */ ItemFlag_TreasureChart22 = 117,
/* 0x76 */ ItemFlag_TreasureChart23 = 118,
/* 0x77 */ ItemFlag_TreasureChart24 = 119,
/* 0x78 */ ItemFlag_TreasureChart25 = 120,
/* 0x79 */ ItemFlag_TreasureChart26 = 121,
/* 0x7a */ ItemFlag_TreasureChart27 = 122,
/* 0x7b */ ItemFlag_TreasureChart28 = 123,
/* 0x7c */ ItemFlag_TreasureChart29 = 124,
/* 0x7d */ ItemFlag_TreasureChart30 = 125,
/* 0x7e */ ItemFlag_TreasureChart31 = 126,
/* 0x7f */ ItemFlag_TreasureChart32 = 127,
ItemFlag_TREASURE_CHART_START = ItemFlag_TreasureChart1,
ItemFlag_COUNT = 128,
ItemFlag_COUNT = 128,
};
typedef s32 ItemId;
enum ItemId_ {
/* 0x00 */ ItemId_None = 0,
/* 0x01 */ ItemId_SmallKey = 1,
/* 0x02 */ ItemId_GreenRupee = 2,
/* 0x03 */ ItemId_OshusSword = 3,
/* 0x04 */ ItemId_WoodenShield = 4,
/* 0x05 */ ItemId_Unk_5 = 5,
/* 0x06 */ ItemId_Unk_6 = 6,
/* 0x07 */ ItemId_BombBag = 7,
/* 0x08 */ ItemId_Bow = 8,
/* 0x09 */ ItemId_BigGreenRupee = 9,
/* 0x0a */ ItemId_HeartContainer = 10,
/* 0x0b */ ItemId_Unk_11 = 11,
/* 0x0c */ ItemId_Boomerang = 12,
/* 0x0d */ ItemId_Scoop = 13,
/* 0x0e */ ItemId_BombchuBag = 14,
/* 0x0f */ ItemId_BossKey = 15,
/* 0x10 */ ItemId_Unk_16 = 16,
/* 0x11 */ ItemId_Unk_17 = 17,
/* 0x12 */ ItemId_PhantomHourglass = 18,
/* 0x13 */ ItemId_SWSeaChart = 19,
/* 0x14 */ ItemId_NWSeaChart = 20,
/* 0x15 */ ItemId_SESeaChart = 21,
/* 0x16 */ ItemId_NESeaChart = 22,
/* 0x17 */ ItemId_Unk_23 = 23,
/* 0x18 */ ItemId_BlueRupee = 24,
/* 0x19 */ ItemId_RedRupee = 25,
/* 0x1a */ ItemId_BigRedRupee = 26,
/* 0x1b */ ItemId_GoldRupee = 27,
/* 0x1c */ ItemId_Unk_28 = 28,
/* 0x1d */ ItemId_Unk_29 = 29,
/* 0x1e */ ItemId_Unk_30 = 30,
/* 0x1f */ ItemId_Hammer = 31,
/* 0x20 */ ItemId_Rope = 32,
/* 0x21 */ ItemId_SquareCrystal = 33,
@@ -84,7 +128,7 @@ enum ItemId_ {
/* 0x24 */ ItemId_FishingRod = 36,
/* 0x25 */ ItemId_Cannon = 37,
/* 0x26 */ ItemId_SunKey = 38,
/* 0x27 */ ItemId_Unk_39 = 39,
/* 0x28 */ ItemId_Quiver = 40,
/* 0x29 */ ItemId_BigBombBag = 41,
/* 0x2a */ ItemId_BigBombchuBag = 42,
@@ -177,12 +221,14 @@ enum ItemId_ {
/* 0x7d */ ItemId_Unk_125 = 125,
/* 0x7e */ ItemId_Unk_126 = 126,
/* 0x7f */ ItemId_CycloneSlate = 127,
/* 0x80 */ ItemId_Unk_128 = 128,
/* 0x81 */ ItemId_Rupoor10 = 129,
/* 0x82 */ ItemId_Rupoor50 = 130,
/* 0x83 */ ItemId_Unk_131 = 131,
/* 0x84 */ ItemId_Unk_132 = 132,
/* 0x85 */ ItemId_Unk_133 = 133,
/* 0x86 */ ItemId_Unk_134 = 134,
/* 0x87 */ ItemId_Unk_135 = 135,
/* 0x88 */ ItemId_Unk_136 = 136,
};
+26 -13
View File
@@ -1,18 +1,29 @@
#pragma once
extern "C" {
#include <string.h>
}
#include "global.h"
#include "types.h"
#include "lib/math.h"
#include "Actor/ActorNavi.hpp"
#include "DTCM/UnkStruct_027e0f78.hpp"
#include "Save/AdventureFlags.hpp"
#include "Item/Item.hpp"
#include "Map/MapManager.hpp"
#include "Player/EquipItem.hpp"
#include "Player/HealthManager.hpp"
#include "Sound/Sfx.hpp"
#include "System/SysNew.hpp"
#include "System/OverlayManager.hpp"
#include "Render/ModelRender.hpp"
#define MAX_HOURGLASS_SECONDS 1500 // 25 minutes
#define MAX_AMMO_UPGRADE 2
#define MAX_UNK_0BA 9
#define MAX_POTIONS 2
typedef s32 FairyId;
enum FairyId_ {
@@ -80,7 +91,7 @@ typedef u8 Potion;
enum Potion_ {
Potion_None,
Potion_Red,
Potion_Blue,
Potion_Purple,
Potion_Yellow,
Potion_COUNT,
};
@@ -198,23 +209,23 @@ private:
/* 0b4 */ u16 mQuiverSize;
/* 0b6 */ u16 mBombBagSize;
/* 0b8 */ u16 mBombchuBagSize;
/* 0ba */ unk16 mUnk_0ba; // only between 0 and 9
/* 0bc */ Potion mPotions[2];
/* 0ba */ u16 mUnk_0ba; // only between 0 and 9
/* 0bc */ Potion mPotions[MAX_POTIONS];
/* 0be */ unk8 mUnk_0be[2]; // padding?
/* 0c0 */ ItemModel *mItemModels[ItemModelId_COUNT];
/* 100 */ ItemModel *mDungeonItemModels[DungeonItemModelId_COUNT]; // non-null in dungeons/caves
/* 114 */ ModelRender *mUnk_114;
/* 118 */ ItemId mFanfareItem;
/* 11c */ unk32 mUnk_11c;
/* 11c */ SfxId mFanfareSfx;
/* 120 */ void *mFanfareItemModel;
/* 124 */ void *mUnk_124;
/* 128 */ ItemFlags mItemFlags;
/* 138 */ u32 mSalvagedTreasureFlags;
/* 13c */ ShipPartPricesShown mShipPartPricesShown;
/* 148 */ u32 mTreasurePriceShownFlags[CEIL_DIV(Treasure_COUNT, 32)];
/* 14c */ unk8 mUnk_14c;
/* 14c */ bool mMuteNextFanfare;
/* 14d */ u8 mUnk_14d;
/* 14e */ unk8 mUnk_14e[0x2];
/* 14e */ unk8 mUnk_14e[0x2]; // padding?
/* 150 */
public:
@@ -268,6 +279,7 @@ public:
void LoadFanfareItem(ItemId id);
bool GetFanfareItemScale(Vec3p *pScale) const;
void LoadDungeonItemModels();
static void PlayItemFanfareSfx(ItemId item);
// Ship
ShipType GetEquippedShipPart(ShipPart part) const;
@@ -297,12 +309,12 @@ public:
bool HasItem(ItemFlag item) const;
void AddItem(ItemFlag item);
void RemoveItem(ItemFlag item);
void GiveItem(ItemId id, unk32 param2, unk32 param3);
void GiveItem(ItemId id);
void GiveEquipItem(ItemFlag item, u16 ammo);
// Rupees
u32 GetMaxRupees() const;
void GiveRupees(u16 amount, unk32 param2);
s32 GetMaxRupees() const;
void GiveRupees(s16 amount, bool param2);
// Potion
void SetPotion(u32 index, Potion potion);
@@ -311,11 +323,12 @@ public:
bool HasPurplePotion() const;
void UnequipPotion();
// Unknown
void func_ov00_020ae350() const;
// Keys
unk32 GetNumKeys() const;
void GiveKeys(u32 amount);
void func_ov00_020ae4dc(unk32 param1); // sets mUnk_0ba
void func_ov00_020ae648(unk32 param1, unk32 param2, unk32 param3);
// Unknown
void func_ov00_020ae4dc(s32 param1);
};
extern ItemManager *gItemManager;
+2
View File
@@ -8,6 +8,8 @@
#include "Physics/AABB.hpp"
#include "System/SysNew.hpp"
#define MAX_KEYS 8
typedef unk32 CourseType;
enum CourseType_ {
CourseType_Normal = 0,
+22
View File
@@ -0,0 +1,22 @@
#pragma once
#include "global.h"
#include "types.h"
#include "System/SysNew.hpp"
class HealthManager : public SysObject {
public:
/* 00 */ u16 mMaxHealth;
/* 02 */ u16 mHealth;
/* 04 */ s16 mMaxShipHealth;
/* 06 */ s16 mShipHealth;
/* 08 */ u16 mSalvageArmHealth;
/* 0a */ s16 mFlags;
/* 0c */ unk16 mUnk_0c;
/* 0e */ unk8 mUnk_0e;
/* 0f */ unk8 mUnk_0f;
/* 10 */
};
extern HealthManager *gHealthManager;
+28 -1
View File
@@ -9,7 +9,33 @@
typedef u32 AdventureFlag;
enum AdventureFlag_ {
AdventureFlag_COUNT = 391,
/* 0x09 */ AdventureFlag_SWSeaChart = 9,
/* 0x0a */ AdventureFlag_NWSeaChart = 10,
/* 0x0b */ AdventureFlag_SESeaChart = 11,
/* 0x0c */ AdventureFlag_NESeaChart = 12,
/* 0x13 */ AdventureFlag_Hourglass = 19,
/* 0x16 */ AdventureFlag_SunKey = 22,
/* 0x17 */ AdventureFlag_Unk_23 = 23,
/* 0x2b */ AdventureFlag_FishingRod = 43,
/* 0x30 */ AdventureFlag_Cannon = 48,
/* 0x7d */ AdventureFlag_Azurine = 125,
/* 0x7e */ AdventureFlag_Crimsonine = 126,
/* 0x7f */ AdventureFlag_Aquanine = 127,
/* 0x80 */ AdventureFlag_Unk_128 = 128,
/* 0x8c */ AdventureFlag_SalvageArm = 140,
/* 0x126 */ AdventureFlag_ReceivedGoldenChimney = 294,
/* 0x127 */ AdventureFlag_ReceivedGoldenHandrail = 295,
/* 0x128 */ AdventureFlag_ReceivedGoldenCannon = 296,
/* 0x129 */ AdventureFlag_ReceivedGoldenHull = 297,
/* 0x187 */ AdventureFlag_COUNT = 391,
};
struct FlagsUnk2 {
@@ -46,6 +72,7 @@ struct FlagsUnk {
};
class AdventureFlags : public SysObject {
public:
/* 00 */ unk32 mFlags[16];
/* 40 */ CutsceneHandler *mCutsceneHandler;
/* 44 */ void *mUnk_44;
+221
View File
@@ -0,0 +1,221 @@
#pragma once
#include "global.h"
#include "types.h"
typedef u32 SfxId;
enum SfxId_ {
SfxId_None = 0x0,
SfxId_Music_StoryIntro = 0x2,
SfxId_Music_StoryOutsetIsland = 0x3,
SfxId_Music_StoryZeldasLullaby = 0x4,
SfxId_Music_DarkKingGanon = 0x5,
SfxId_Music_TheHeroOfTheWinds = 0x6,
SfxId_Music_OffToTheSeas = 0x7,
SfxId_Music_ThePirateShip_1 = 0x8,
SfxId_Music_TheKingOfTheOceans = 0x9,
SfxId_Music_InTheDarkDungeon_1 = 0xa,
SfxId_Music_LinebecksTheme = 0xb,
SfxId_Fanfare_KeyDizzy = 0xc,
SfxId_Music_MagicInTheAir_1 = 0xd,
SfxId_Music_TheSandsOfTime_1 = 0xe,
SfxId_Fanfare_Discovery_1 = 0xf,
SfxId_Music_MagicInTheAir_2 = 0x10,
SfxId_Music_TheSandsOfTime_2 = 0x11,
SfxId_Fanfare_Discovery_2 = 0x12,
SfxId_Music_MagicInTheAir_3 = 0x13,
SfxId_Music_MagicInTheAir_4 = 0x15,
SfxId_Music_Credits = 0x16,
SfxId_Music_DarkMemories = 0x18,
SfxId_Music_TheSandsOfTime_3 = 0x19,
SfxId_Fanfare_Discovery_3 = 0x1a,
SfxId_Fanfare_Nothing_1 = 0x1c,
SfxId_Music_TheSandsOfTime_4 = 0x1d,
SfxId_Music_ZeldasLullaby = 0x1e,
SfxId_Music_BellumLoop = 0x21,
SfxId_Music_ThePirateShip_2 = 0x25,
SfxId_Music_FairyFountain = 0x27,
SfxId_Fanfare_Treasure = 0x28,
SfxId_Fanfare_Rupee = 0x29,
SfxId_Fanfare_GoldRupee = 0x2a,
SfxId_Fanfare_Rupoor = 0x2b,
SfxId_Fanfare_Nothing_2 = 0x2c,
SfxId_Fanfare_HeartContainer = 0x2d,
SfxId_Fanfare_Gem = 0x2e,
SfxId_Fanfare_Discovery_4 = 0x2f,
SfxId_Music_Indoors_1 = 0x30,
SfxId_Music_Indoors_2 = 0x31,
SfxId_Music_Lithoroves = 0x32,
SfxId_Music_Indoors_3 = 0x33,
SfxId_Music_AstridsTheme = 0x34,
SfxId_Music_Indoors_4 = 0x38,
SfxId_Music_Indoors_5 = 0x39,
SfxId_Music_Indoors_6 = 0x3a,
SfxId_Music_Indoors_7 = 0x3b,
SfxId_Music_Indoors_8 = 0x3c,
SfxId_Music_ThePirateShip_3 = 0x3e,
SfxId_Music_BeedlesShopShip_1 = 0x3f,
SfxId_Music_BeedlesShopShip_2 = 0x40,
SfxId_Music_Indoors_9 = 0x42,
SfxId_Music_Indoors_10 = 0x43,
SfxId_Music_Indoors_11 = 0x44,
SfxId_Music_Indoors_12 = 0x45,
SfxId_Music_Indoors_13 = 0x46,
SfxId_Music_DangerInTheGreatBlueSea_1 = 0x47,
SfxId_Music_DangerInTheGreatBlueSea_2 = 0x48,
SfxId_Music_TheDarkCaves_1 = 0x49,
SfxId_Fanfare_OhNo = 0x4a,
SfxId_Music_GameOver = 0x4b,
SfxId_Fanfare_TempleOfTheOceanKing = 0x4c,
SfxId_Music_EnemyBattle_1 = 0x4d,
SfxId_Music_MercayIsland_1 = 0x4e,
SfxId_Music_UnchartedTerritory_1 = 0x4f,
SfxId_Music_MercayIsland_2 = 0x50,
SfxId_Music_UnchartedTerritory_2 = 0x51,
SfxId_Music_MercayIsland_3 = 0x52,
SfxId_Music_UnchartedTerritory_3 = 0x53,
SfxId_Music_UnchartedTerritory_4 = 0x54,
SfxId_Music_UnchartedTerritory_5 = 0x55,
SfxId_Music_MercayIsland_4 = 0x56,
SfxId_Music_UnchartedTerritory_6 = 0x57,
SfxId_Music_TheGorons = 0x58,
SfxId_Music_UnchartedTerritory_7 = 0x59,
SfxId_Music_UnchartedTerritory_8 = 0x5a,
SfxId_Music_UnchartedTerritory_9 = 0x5b,
SfxId_Music_UnchartedTerritory_10 = 0x5c,
SfxId_Music_MercayIsland_5 = 0x5d,
SfxId_Music_UnchartedTerritory_11 = 0x5e,
SfxId_Music_UnchartedTerritory_12 = 0x5f,
SfxId_Music_MercayIsland_6 = 0x61,
SfxId_Music_MercayIsland_7 = 0x62,
SfxId_Music_MercayIsland_8 = 0x63,
SfxId_Music_UnchartedTerritory_13 = 0x64,
SfxId_Music_GhostShip = 0x66,
SfxId_Music_ChasingTheGhostShip = 0x67,
SfxId_Music_EnemyBattle_2 = 0x68,
SfxId_Music_JoleneAppears = 0x69,
SfxId_Music_JoleneAppearsLoop = 0x6a,
SfxId_Music_JoleneVsLink_1 = 0x6b,
SfxId_Music_JoleneVsLink_2 = 0x6c,
SfxId_Music_JoleneVsLinkEnd = 0x6d,
SfxId_Music_InTheDarkDungeon_2 = 0x6e,
SfxId_Music_InTheDarkDungeon_3 = 0x6f,
SfxId_Music_InTheDarkDungeon_4 = 0x72,
SfxId_Music_InTheDarkDungeon_5 = 0x75,
SfxId_Music_InTheDarkDungeon_6 = 0x78,
SfxId_Music_InTheDarkDungeon_7 = 0x79,
SfxId_Music_InTheDarkDungeon_8 = 0x7a,
SfxId_Music_InTheDarkDungeon_9 = 0x7b,
SfxId_Music_TheDarkCaves_2 = 0x7c,
SfxId_Music_InTheDarkDungeon_10 = 0x7f,
SfxId_Music_TheDarkCaves_3 = 0x80,
SfxId_Music_InTheDarkDungeon_11 = 0x83,
SfxId_Music_TheDarkCaves_4 = 0x84,
SfxId_Music_InTheDarkDungeon_12 = 0x87,
SfxId_Music_TheDarkCaves_5 = 0x88,
SfxId_Music_InTheDarkDungeon_13 = 0x89,
SfxId_Music_InTheDarkDungeon_14 = 0x8b,
SfxId_Music_InTheDarkDungeon_15 = 0x8c,
SfxId_Music_InTheDarkDungeon_16 = 0x8d,
SfxId_Music_InTheDarkDungeon_17 = 0x8e,
SfxId_Music_InTheDarkDungeon_18 = 0x8f,
SfxId_Music_InTheDarkDungeon_19 = 0x90,
SfxId_Music_InTheDarkDungeon_20 = 0x91,
SfxId_Music_InTheDarkDungeon_21 = 0x92,
SfxId_Music_InTheDarkDungeon_22 = 0x93,
SfxId_Music_InTheDarkDungeon_23 = 0x94,
SfxId_Music_InTheDarkDungeon_24 = 0x95,
SfxId_Music_InTheDarkDungeon_25 = 0x96,
SfxId_Music_TheDarkCaves_6 = 0x97,
SfxId_Music_TheDarkCaves_7 = 0x98,
SfxId_Music_TheDarkCaves_8 = 0x99,
SfxId_Music_TheDarkCaves_9 = 0x9a,
SfxId_Music_TheDarkCaves_10 = 0x9b,
SfxId_Music_InTheDarkDungeon_26 = 0x9e,
SfxId_Music_InTheDarkDungeon_27 = 0x9f,
SfxId_Music_InTheDarkDungeon_28 = 0xa0,
SfxId_Music_TheDarkCaves_11 = 0xa1,
SfxId_Music_TheDarkCaves_12 = 0xa2,
SfxId_Music_InTheDarkDungeon_29 = 0xa3,
SfxId_Music_TheDarkCaves_13 = 0xa4,
SfxId_Music_TheDarkCaves_14 = 0xa5,
SfxId_Music_PhantomChase_1 = 0xa7,
SfxId_Music_FencingPractice_1 = 0xa8,
SfxId_Music_FencingPractice_2 = 0xa9,
SfxId_Music_FencingPractice_3 = 0xaa,
SfxId_Music_FencingPractice_4 = 0xab,
SfxId_Music_FencingPractice_5 = 0xac,
SfxId_Music_FencingPractice_6 = 0xad,
SfxId_Music_FencingPractice_7 = 0xae,
SfxId_Music_FencingPractice_8 = 0xaf,
SfxId_Music_FencingPractice_9 = 0xb0,
SfxId_Music_FencingPractice_10 = 0xb1,
SfxId_Music_FencingPractice_11 = 0xb2,
SfxId_Music_FencingPractice_12 = 0xb3,
SfxId_Mandolin_Chord_1 = 0xb4,
SfxId_Mandolin_Chord_2 = 0xb5,
SfxId_Mandolin_Chord_3 = 0xb6,
SfxId_Mandolin_Chord_4 = 0xb7,
SfxId_Mandolin_Chord_5 = 0xb8,
SfxId_Mandolin_Chord_6 = 0xb9,
SfxId_Mandolin_Chord_7 = 0xba,
SfxId_Mandolin_Chord_8 = 0xbb,
SfxId_Music_BeginContactMode = 0xbc,
SfxId_Fanfare_Checkpoint_1 = 0xbd,
SfxId_Fanfare_Checkpoint_2 = 0xbe,
SfxId_Fanfare_Checkpoint_3 = 0xbf,
SfxId_Fanfare_Checkpoint_4 = 0xc0,
SfxId_Fanfare_Checkpoint_5 = 0xc1,
SfxId_Fanfare_Victory = 0xc2,
SfxId_Drumroll = 0xc3,
SfxId_Fanfare_Stumble = 0xc4,
SfxId_Music_BossBattle_1 = 0xc5,
SfxId_Music_BossBattle_2 = 0xc6,
SfxId_Music_BossBattle_3 = 0xc7,
SfxId_Music_BossBattle_4 = 0xc8,
SfxId_Music_BossBattle_5 = 0xc9,
SfxId_Music_BossBattle_6 = 0xca,
SfxId_Music_BossBattle_7 = 0xcb,
SfxId_Music_SpinSpinSpin_1 = 0xcf,
SfxId_Music_SpinSpinSpin_2 = 0xd2,
SfxId_Music_FencingPractice_13 = 0xd3,
SfxId_Music_FencingPracticeStart = 0xd4,
SfxId_Music_BattleStageSelection_1 = 0xd5,
SfxId_Music_FencingPractice_14 = 0xd6,
SfxId_Music_FencingPractice_15 = 0xd7,
SfxId_Music_FencingPractice_16 = 0xd8,
SfxId_Music_FencingPractice_17 = 0xd9,
SfxId_Music_IntoTheCrystalBall = 0xe0,
SfxId_Music_PhantomChase_2 = 0xe2,
SfxId_Fanfare_GreatLoss = 0xe3,
SfxId_Fanfare_Incoming = 0xe4,
SfxId_Fanfare_GoalReached = 0xe5,
SfxId_Fanfare_LostGame_1 = 0xe6,
SfxId_Fanfare_LostGame_2 = 0xe7,
SfxId_Fanfare_BattleStart = 0xe8,
SfxId_Music_BattleEnd = 0xe9,
SfxId_Music_BattleStageSelection_2 = 0xea,
};
+702 -1
View File
@@ -1,7 +1,8 @@
#include "Item/ItemManager.hpp"
extern u32 *data_027e0ce0[];
static const char *sShipPartTypes[] = { "anc", "bow", "hul", "can", "dco", "pdl", "fnl", "brg" };
extern u32 *data_027e0ce0[];
THUMB ItemManager* ItemManager::Create() {
gItemManager = new(data_027e0ce0[1], 4) ItemManager();
return gItemManager;
@@ -379,3 +380,703 @@ THUMB void ItemManager::RemoveItem(ItemFlag item) {
(*mAmmo)[item] = 0;
}
}
extern ItemModel **data_027e1058;
extern ItemModel **data_027e105c;
extern "C" ItemModel* func_ov00_02079ffc(void*, const char *modelName, const char *textureName, unk32 param4, unk8 param5, unk8 param6, bool param7);
extern "C" ItemModel* LoadTreasureItemFanfare(ItemModel**, s32 treasureType, bool, bool);
static char *sDefaultItemModel = "key";
static char *sItemModelNames[70] = {
[ItemId_None] = "key",
[ItemId_SmallKey] = "key",
[ItemId_GreenRupee] = "rupee_g",
[ItemId_OshusSword] = "swA",
[ItemId_WoodenShield] = "shA",
[ItemId_Unk_5] = NULL,
[ItemId_Unk_6] = "force_y",
[ItemId_BombBag] = "bomb\0\0\0",
[ItemId_Bow] = "bow",
[ItemId_BigGreenRupee] = "rupee_g",
[ItemId_HeartContainer] = "heart_utu\0\0",
[ItemId_Unk_11] = NULL,
[ItemId_Boomerang] = "boomerang\0\0",
[ItemId_Scoop] = "scp",
[ItemId_BombchuBag] = "bomchu\0",
[ItemId_BossKey] = "bosskey",
[ItemId_Unk_16] = "rev_bin",
[ItemId_Unk_17] = NULL,
[ItemId_PhantomHourglass] = NULL,
[ItemId_SWSeaChart] = "mapSea\0",
[ItemId_NWSeaChart] = "mapSea\0",
[ItemId_SESeaChart] = "mapSea\0",
[ItemId_NESeaChart] = "mapSea\0",
[ItemId_Unk_23] = NULL,
[ItemId_BlueRupee] = "rupee_b",
[ItemId_RedRupee] = "rupee_r",
[ItemId_BigRedRupee] = "rupee_r",
[ItemId_GoldRupee] = "rupee_go\0\0\0",
[ItemId_Unk_28] = "force_y",
[ItemId_Unk_29] = "force_r",
[ItemId_Unk_30] = "force_b",
[ItemId_Hammer] = "ham",
[ItemId_Rope] = "rope\0\0\0",
[ItemId_SquareCrystal] = "cstl_c\0",
[ItemId_RoundCrystal] = "cstl_s\0",
[ItemId_TriangleCrystal] = "cstl_t\0",
[ItemId_FishingRod] = "fp\0",
[ItemId_Cannon] = NULL,
[ItemId_SunKey] = "key_su\0",
[ItemId_Unk_39] = NULL,
[ItemId_Quiver] = "arrowpod\0\0\0",
[ItemId_BigBombBag] = "bmbagM\0",
[ItemId_BigBombchuBag] = "bcbagM\0",
[ItemId_Unk_43] = NULL,
[ItemId_KingsKey] = "key_ki\0",
[ItemId_PowerGem] = "minaP\0\0",
[ItemId_WisdomGem] = "minaC\0\0",
[ItemId_CourageGem] = "minaY\0\0",
[ItemId_PinkCoral] = NULL,
[ItemId_WhitePearlLoop] = NULL,
[ItemId_DarkPearlLoop] = NULL,
[ItemId_ZoraScale] = NULL,
[ItemId_GoronAmber] = NULL,
[ItemId_RutoCrown] = NULL,
[ItemId_HelmarocPlume] = NULL,
[ItemId_RegalRing] = NULL,
[ItemId_GhostKey] = "key_gh\0",
[ItemId_FreebieCard] = "tic_tada\0\0\0",
[ItemId_ComplimentCard] = "tic_ohome\0\0",
[ItemId_ComplimentaryCard] = "tic_rare\0\0\0",
[ItemId_RegalNecklace] = "neckl\0\0",
[ItemId_SalvageArm] = "slvarm\0",
[ItemId_HerosNewClothes] = NULL,
[ItemId_Kaleidoscope] = "telescope\0\0",
[ItemId_GuardNotebook] = "notebook\0\0\0",
[ItemId_JolenesLetter] = "letter\0",
[ItemId_PrizePostcard] = "card\0\0\0",
[ItemId_WoodHeart] = "marron\0",
[ItemId_PhantomSwordBlade] = "swBedge",
[ItemId_PhantomSword] = NULL,
};
static char *sItemModelNames2[8] = {
[ItemId_SwordsmanScroll - ItemId_SwordsmanScroll] = "makimono\0\0\0",
[ItemId_Crimsonine - ItemId_SwordsmanScroll] = "hagaH\0\0",
[ItemId_Azurine - ItemId_SwordsmanScroll] = "hagaK\0\0",
[ItemId_Aquanine - ItemId_SwordsmanScroll] = "hagaS\0\0",
[ItemId_RedPotion - ItemId_SwordsmanScroll] = "rev_bin",
[ItemId_PurplePotion - ItemId_SwordsmanScroll] = "rev_binP\0\0\0",
[ItemId_YellowPotion - ItemId_SwordsmanScroll] = "rev_binY\0\0\0",
[ItemId_SandOfHours - ItemId_SwordsmanScroll] = "sand_m\0",
};
static char *sItemModelNames3[9] = {
[ItemId_CycloneSlate - ItemId_CycloneSlate] = "compass",
[ItemId_Unk_128 - ItemId_CycloneSlate] = "lure\0\0\0",
[ItemId_Rupoor10 - ItemId_CycloneSlate] = "rupee_bb\0\0\0",
[ItemId_Rupoor50 - ItemId_CycloneSlate] = "rupee_bb\0\0\0",
[ItemId_Unk_131 - ItemId_CycloneSlate] = NULL,
[ItemId_Unk_132 - ItemId_CycloneSlate] = NULL,
[ItemId_Unk_133 - ItemId_CycloneSlate] = NULL,
[ItemId_Unk_134 - ItemId_CycloneSlate] = NULL,
[ItemId_Unk_135 - ItemId_CycloneSlate] = NULL,
};
char *sSpecialItemModelNames[7] = {
"mapTakara\0\0",
"arrowpodL\0\0",
"bmbagL\0",
"bcbagL\0",
"Player/get/gd_\0",
".nsbmd\0",
".nsbtx\0",
};
THUMB void ItemManager::LoadFanfareItem(ItemId id) {
mFanfareItem = id;
ItemModel *model;
if (
id == ItemId_Unk_43 ||
id == ItemId_Cannon ||
(id >= ItemId_GOLDEN_SHIP_START && id <= ItemId_GOLDEN_SHIP_END) ||
id == ItemId_Unk_126 ||
id == ItemId_Unk_133
) {
model = *data_027e1058;
} else if (
id >= ItemId_TREASURE_START &&
id <= ItemId_TREASURE_END
) {
model = LoadTreasureItemFanfare(data_027e105c, id - ItemId_TREASURE_START, true, false);
} else if (id == ItemId_Unk_125) {
model = *data_027e105c;
} else {
char modelName[0x80] = {};
char textureName[0x80] = {};
const char *itemName = NULL;
if (id == ItemId_Quiver && (s32) mQuiverSize >= 1) {
itemName = sSpecialItemModelNames[1];
} else if (id == ItemId_BigBombBag && (s32) mBombBagSize >= 1) {
itemName = sSpecialItemModelNames[2];
} else if (id == ItemId_BigBombchuBag && (s32) mBombchuBagSize >= 1) {
itemName = sSpecialItemModelNames[3];
} else if (id == ItemId_HerosNewClothes) {
itemName = sShipPartTypes[11];
} else if (id < ItemId_Unk_70) {
itemName = sItemModelNames[id];
} else if (id >= ItemId_SwordsmanScroll && id < ItemId_GoldenChimney) {
itemName = sItemModelNames2[id - ItemId_SwordsmanScroll];
} else if (id >= ItemId_CycloneSlate && id < ItemId_Unk_136) {
itemName = sItemModelNames3[id - ItemId_CycloneSlate];
} else if (id >= ItemId_TREASURE_CHART_START && id <= ItemId_TREASURE_CHART_END) {
itemName = sSpecialItemModelNames[0];
}
if (!itemName) {
itemName = sDefaultItemModel;
}
strcat(modelName, sSpecialItemModelNames[4]);
strcat(modelName, itemName);
strcat(modelName, sSpecialItemModelNames[5]);
strcat(textureName, sSpecialItemModelNames[4]);
strcat(textureName, itemName);
strcat(textureName, sSpecialItemModelNames[6]);
model = func_ov00_02079ffc(mFanfareItemModel, modelName, textureName, 0, 0, 0, true);
}
mUnk_114->vfunc_0c(model);
}
THUMB bool ItemManager::GetFanfareItemScale(Vec3p *scale) const {
switch (mFanfareItem) {
case ItemId_BigGreenRupee:
case ItemId_BigRedRupee:
case ItemId_GoldRupee:
case ItemId_Rupoor50:
scale->x = FLOAT_TO_Q20(1.4);
scale->y = FLOAT_TO_Q20(1.4);
scale->z = FLOAT_TO_Q20(1.4);
return true;
}
return false;
}
extern "C" void GiveShipPart(ShipPart part, ShipType type);
extern "C" void EquipLinebeckCannon();
THUMB void ItemManager::GiveItem(ItemId id) {
switch (id) {
case ItemId_SmallKey: {
this->GiveKeys(1);
} break;
case ItemId_GreenRupee: {
this->GiveRupees(1, true);
} break;
case ItemId_BlueRupee: {
this->GiveRupees(5, true);
} break;
case ItemId_RedRupee: {
this->GiveRupees(20, true);
} break;
case ItemId_BigGreenRupee: {
this->GiveRupees(100, true);
} break;
case ItemId_BigRedRupee: {
this->GiveRupees(200, true);
} break;
case ItemId_GoldRupee: {
this->GiveRupees(300, true);
} break;
case ItemId_OshusSword: {
SET_FLAG(mItemFlags.flags, ItemFlag_OshusSword);
this->GetEquipItem(ItemFlag_OshusSword)->GiveAmmo(1);
} break;
case ItemId_WoodenShield: {
SET_FLAG(mItemFlags.flags, ItemFlag_WoodenShield);
this->GetEquipItem(ItemFlag_WoodenShield)->GiveAmmo(1);
} break;
case ItemId_BombBag: {
this->GiveEquipItem(ItemFlag_BombBag, 10);
} break;
case ItemId_BombchuBag: {
this->GiveEquipItem(ItemFlag_BombchuBag, 10);
} break;
case ItemId_Bow: {
this->GiveEquipItem(ItemFlag_Bow, 20);
} break;
case ItemId_Boomerang: {
this->GiveEquipItem(ItemFlag_Boomerang, 1);
} break;
case ItemId_Scoop: {
this->GiveEquipItem(ItemFlag_Shovel, 1);
} break;
case ItemId_Hammer: {
this->GiveEquipItem(ItemFlag_Hammer, 1);
} break;
case ItemId_Rope: {
this->GiveEquipItem(ItemFlag_GrapplingHook, 1);
} break;
case ItemId_PhantomHourglass: {
SET_FLAG(mItemFlags.flags, ItemFlag_Hourglass);
gAdventureFlags->Set(AdventureFlag_Hourglass, true);
} break;
case ItemId_SWSeaChart: {
SET_FLAG(mItemFlags.flags, ItemFlag_SeaChartSW);
gAdventureFlags->Set(AdventureFlag_SWSeaChart, true);
} break;
case ItemId_NWSeaChart: {
SET_FLAG(mItemFlags.flags, ItemFlag_SeaChartNW);
gAdventureFlags->Set(AdventureFlag_NWSeaChart, true);
} break;
case ItemId_SESeaChart: {
SET_FLAG(mItemFlags.flags, ItemFlag_SeaChartSE);
gAdventureFlags->Set(AdventureFlag_SESeaChart, true);
} break;
case ItemId_NESeaChart: {
SET_FLAG(mItemFlags.flags, ItemFlag_SeaChartNE);
gAdventureFlags->Set(AdventureFlag_NESeaChart, true);
} break;
case ItemId_FishingRod: {
SET_FLAG(mItemFlags.flags, ItemFlag_FishingRod);
gAdventureFlags->Set(AdventureFlag_FishingRod, true);
} break;
case ItemId_Cannon: {
SET_FLAG(mItemFlags.flags, ItemFlag_Cannon);
gAdventureFlags->Set(AdventureFlag_Cannon, true);
GiveShipPart(ShipPart_Cannon, ShipType_Linebeck);
EquipLinebeckCannon();
} break;
case ItemId_SunKey: {
SET_FLAG(mItemFlags.flags, ItemFlag_SunKey);
gAdventureFlags->Set(AdventureFlag_SunKey, true);
} break;
case ItemId_Unk_39: {
SET_FLAG(mItemFlags.flags, ItemFlag_Unk_39);
gAdventureFlags->Set(AdventureFlag_Unk_23, true);
} break;
case ItemId_Quiver: {
this->UpgradeQuiver();
} break;
case ItemId_BigBombBag: {
this->UpgradeBombBag();
} break;
case ItemId_BigBombchuBag: {
this->UpgradeBombchuBag();
} break;
case ItemId_KingsKey: {
SET_FLAG(mItemFlags.flags, ItemFlag_KingsKey);
} break;
case ItemId_GhostKey: {
SET_FLAG(mItemFlags.flags, ItemFlag_GhostKey);
} break;
case ItemId_PowerGem: {
mNumGems[Gem_Power] += 1;
} break;
case ItemId_WisdomGem: {
mNumGems[Gem_Wisdom] += 1;
} break;
case ItemId_CourageGem: {
mNumGems[Gem_Courage] += 1;
} break;
case ItemId_SalvageArm: {
SET_FLAG(mItemFlags.flags, ItemFlag_SalvageArm);
gAdventureFlags->Set(AdventureFlag_SalvageArm, true);
gHealthManager->mSalvageArmHealth = 5;
} break;
case ItemId_SwordsmanScroll: {
SET_FLAG(mItemFlags.flags, ItemFlag_SwordsmansScroll);
} break;
case ItemId_Crimsonine: {
gAdventureFlags->Set(AdventureFlag_Crimsonine, true);
} break;
case ItemId_Azurine: {
gAdventureFlags->Set(AdventureFlag_Azurine, true);
} break;
case ItemId_Aquanine: {
gAdventureFlags->Set(AdventureFlag_Aquanine, true);
} break;
case ItemId_SpiritOfPowerUpgradeLvl1: {
SET_FLAG(mItemFlags.flags, ItemFlag_PowerLv1);
} break;
case ItemId_SpiritOfWisdomUpgradeLvl1: {
SET_FLAG(mItemFlags.flags, ItemFlag_WisdomLv1);
} break;
case ItemId_SpiritOfCourageUpgradeLvl1: {
SET_FLAG(mItemFlags.flags, ItemFlag_CourageLv1);
} break;
case ItemId_SpiritOfPowerUpgradeLvl2: {
SET_FLAG(mItemFlags.flags, ItemFlag_PowerLv2);
} break;
case ItemId_SpiritOfWisdomUpgradeLvl2: {
SET_FLAG(mItemFlags.flags, ItemFlag_WisdomLv2);
} break;
case ItemId_SpiritOfCourageUpgradeLvl2: {
SET_FLAG(mItemFlags.flags, ItemFlag_CourageLv2);
} break;
case ItemId_RedPotion: {
for (s32 i = 0; i < MAX_POTIONS; ++i) {
if (mPotions[i] != Potion_None) continue;
this->SetPotion(i, Potion_Red);
break;
}
} break;
case ItemId_PurplePotion: {
for (s32 i = 0; i < MAX_POTIONS; ++i) {
if (mPotions[i] != Potion_None) continue;
this->SetPotion(i, Potion_Purple);
break;
}
} break;
case ItemId_YellowPotion: {
for (s32 i = 0; i < MAX_POTIONS; ++i) {
if (mPotions[i] != Potion_None) continue;
this->SetPotion(i, Potion_Yellow);
break;
}
} break;
case ItemId_SandOfHours: {
mHourglassSandFrames += 3600;
} break;
case ItemId_GoldenChimney: {
gAdventureFlags->Set(AdventureFlag_ReceivedGoldenChimney, true);
GiveShipPart(ShipPart_Chimney, ShipType_Golden);
} break;
case ItemId_GoldenHandrail: {
gAdventureFlags->Set(AdventureFlag_ReceivedGoldenHandrail, true);
GiveShipPart(ShipPart_Handrail, ShipType_Golden);
} break;
case ItemId_GoldenCannon: {
gAdventureFlags->Set(AdventureFlag_ReceivedGoldenCannon, true);
GiveShipPart(ShipPart_Cannon, ShipType_Golden);
} break;
case ItemId_GoldenHull: {
gAdventureFlags->Set(AdventureFlag_ReceivedGoldenHull, true);
GiveShipPart(ShipPart_Hull, ShipType_Golden);
} break;
case ItemId_CycloneSlate: {
SET_FLAG(mItemFlags.flags, ItemFlag_CycloneSlate);
} break;
case ItemId_Unk_128: {
SET_FLAG(mItemFlags.flags, ItemFlag_Unk_47);
} break;
case ItemId_Rupoor10: {
this->GiveRupees(-10, true);
} break;
case ItemId_Rupoor50: {
this->GiveRupees(-50, true);
} break;
case ItemId_None: break;
case ItemId_Unk_5: break;
case ItemId_Unk_16: break;
case ItemId_Unk_131: break;
case ItemId_Unk_132: break;
default: {
if (ItemId_TREASURE_CHART_START <= id && id <= ItemId_TREASURE_CHART_END) {
SET_FLAG(mItemFlags.flags, id + ItemFlag_TREASURE_CHART_START - ItemId_TREASURE_CHART_START);
}
} break;
}
if (
gAdventureFlags->Get(AdventureFlag_Azurine) &&
gAdventureFlags->Get(AdventureFlag_Crimsonine) &&
gAdventureFlags->Get(AdventureFlag_Aquanine)
) {
gAdventureFlags->Set(AdventureFlag_Unk_128, true);
}
}
THUMB void ItemManager::GiveEquipItem(ItemFlag item, u16 ammo) {
u16 flag = item;
SET_FLAG(mItemFlags.flags, flag);
this->GetEquipItem(item)->GiveAmmo(ammo);
if (mEquippedItem == ItemFlag_None) {
this->mEquippedItem = item;
this->mEquipLoadTimer = 1;
}
}
THUMB void ItemManager::UnequipPotion() {
switch (mEquippedItem) {
case ItemFlag_PotionA:
case ItemFlag_PotionB: {
this->EquipPreviousItem();
} break;
}
}
ARM s32 ItemManager::GetMaxRupees() const {
return 9999;
}
extern void *data_027e103c;
extern "C" s32 func_ov00_020cf374(void *param1, bool param2);
extern "C" void func_ov05_02104004(void *param1);
ARM void ItemManager::GiveRupees(s16 amount, bool param2) {
s32 newRupees = mNumRupees + amount;
if (newRupees > this->GetMaxRupees()) {
newRupees = this->GetMaxRupees();
} else if (newRupees < 0) {
newRupees = 0;
}
s32 currRupees = func_ov00_020cf374(data_027e103c, true);
if (param2) {
currRupees = mNumRupees;
if (currRupees != newRupees) {
func_ov05_02104004(data_027e103c);
}
}
mNumRupees = newRupees;
}
ARM unk32 ItemManager::GetNumKeys() const {
return gMapManager->GetNumKeys();
}
THUMB void ItemManager::GiveKeys(u32 amount) {
s32 keys = amount + gMapManager->GetNumKeys();
if (keys >= MAX_KEYS) keys = MAX_KEYS;
if (keys <= 0) keys = 0;
gMapManager->SetNumKeys(keys);
}
ARM ItemFlag ItemManager::GetEquippedItem() const {
if (mForcedItem != ItemFlag_None) return mForcedItem;
return mEquippedItem;
}
ARM bool ItemManager::SetEquippedItem(ItemFlag equipId) {
mPrevEquippedItem = mEquippedItem;
mEquippedItem = equipId;
mEquipLoadTimer = 2;
return true;
}
ARM void ItemManager::EquipPreviousItem() {
this->SetEquippedItem(mPrevEquippedItem);
}
THUMB void ItemManager::ForceEquipItem(ItemFlag equipId) {
for (ItemFlag i = ItemFlag_EQUIP_START; i < ItemFlag_EQUIP_END; ++i) {
if (i == equipId) continue;
(*mEquipItems)[i - ItemFlag_EQUIP_START]->UpdateInUse(0);
}
mForcedItem = equipId;
mEquipLoadTimer = 1;
}
THUMB bool ItemManager::ClearForcedEquipItem() {
mForcedItem = ItemFlag_None;
if (mEquippedItem != ItemFlag_None) return this->SetEquippedItem(mEquippedItem);
return false;
}
ARM void ItemManager::UpdateSwordShieldInUse() {
this->GetEquipItem(ItemFlag_OshusSword)->UpdateInUse(1);
this->GetEquipItem(ItemFlag_WoodenShield)->UpdateInUse(1);
}
THUMB void ItemManager::UpgradeQuiver() {
if (mQuiverSize < MAX_AMMO_UPGRADE) mQuiverSize += 1;
(*mAmmo)[ItemFlag_Bow] = this->GetMaxAmmo(ItemFlag_Bow);
}
THUMB void ItemManager::UpgradeBombBag() {
if (mBombBagSize < MAX_AMMO_UPGRADE) mBombBagSize += 1;
(*mAmmo)[ItemFlag_BombBag] = this->GetMaxAmmo(ItemFlag_BombBag);
}
THUMB void ItemManager::UpgradeBombchuBag() {
if (mBombchuBagSize < MAX_AMMO_UPGRADE) mBombchuBagSize += 1;
(*mAmmo)[ItemFlag_BombchuBag] = this->GetMaxAmmo(ItemFlag_BombchuBag);
}
ARM void ItemManager::func_ov00_020ae4dc(s32 param1) {
s32 newValue = mUnk_0ba + param1;
if (newValue > MAX_UNK_0BA) {
mUnk_0ba = MAX_UNK_0BA;
} else if (mUnk_0ba < -param1) {
mUnk_0ba = 0;
} else {
mUnk_0ba = newValue;
}
}
ARM void ItemManager::SetPotion(u32 index, Potion potion) {
mPotions[index] = potion;
if (potion == Potion_None) {
RESET_FLAG(mItemFlags.flags, index + ItemFlag_PotionA);
} else {
SET_FLAG(mItemFlags.flags, index + ItemFlag_PotionA);
}
}
ARM bool ItemManager::HasPotion(u32 index) const {
switch (mPotions[index]) {
case Potion_Red:
case Potion_Purple:
case Potion_Yellow:
return true;
case Potion_None:
default:
return false;
}
}
ARM bool ItemManager::HasAllPotions() const {
for (s32 i = 0; i < MAX_POTIONS; ++i) {
if (!this->HasPotion(i)) return false;
}
return true;
}
ARM bool ItemManager::HasPurplePotion() const {
for (s32 i = 0; i < MAX_POTIONS; ++i) {
if (mPotions[i] == Potion_Purple) return true;
}
return false;
}
extern "C" void func_020196bc(ItemModel *param1, unk32 param2);
extern "C" void func_020196fc(ItemModel *param1, unk32 param2);
THUMB void ItemManager::LoadDungeonItemModels() {
for (s32 i = 0; i < DungeonItemModelId_COUNT; ++i) {
if (mDungeonItemModels[i] == NULL) continue;
u16 unk1, unk2;
switch (i) {
case DungeonItemModelId_RoundCrystal:
case DungeonItemModelId_SquareCrystal:
case DungeonItemModelId_TriangleCrystal: {
unk1 = data_027e0f78->mUnk_1e;
unk2 = data_027e0f78->mUnk_1c;
} break;
default: {
unk1 = data_027e0f78->mUnk_1a;
unk2 = data_027e0f78->mUnk_18;
} break;
}
func_020196bc(mDungeonItemModels[i], unk1);
func_020196fc(mDungeonItemModels[i], unk2);
}
}
extern unk32 data_ov00_020eec68;
extern "C" void PlaySoundEffect(void *param1, SfxId sfx);
THUMB void ItemManager::PlayItemFanfareSfx(ItemId item) {
if (gItemManager->mMuteNextFanfare == true) {
gItemManager->mMuteNextFanfare = false;
return;
}
SfxId sfx;
switch (item) {
case ItemId_PowerGem:
case ItemId_WisdomGem:
case ItemId_CourageGem: {
sfx = SfxId_Fanfare_Gem;
} break;
case ItemId_GoldRupee: {
sfx = SfxId_Fanfare_GoldRupee;
} break;
case ItemId_SmallKey:
case ItemId_GreenRupee:
case ItemId_BlueRupee:
case ItemId_RedRupee: {
sfx = SfxId_Fanfare_Rupee;
} break;
case ItemId_Rupoor10:
case ItemId_Rupoor50: {
sfx = SfxId_Fanfare_Rupoor;
} break;
case ItemId_None:
case ItemId_HerosNewClothes: {
sfx = SfxId_Fanfare_Nothing_2;
} break;
case ItemId_HeartContainer: {
sfx = SfxId_Fanfare_HeartContainer;
} break;
default: {
sfx = SfxId_Fanfare_Treasure;
} break;
}
if (gItemManager->mFanfareSfx != SfxId_None) {
sfx = gItemManager->mFanfareSfx;
gItemManager->mFanfareSfx = SfxId_None;
}
PlaySoundEffect(&data_ov00_020eec68, sfx);
}
THUMB bool ItemManager::HasShipPartPriceShown(ShipPart part, ShipType type) const {
return GET_FLAG(mShipPartPricesShown.flags, part * ShipType_COUNT + type);
}
THUMB void ItemManager::AddShipPartPriceShown(ShipPart part, ShipType type) {
SET_FLAG(mShipPartPricesShown.flags, part * ShipType_COUNT + type);
}
THUMB bool ItemManager::HasTreasurePriceShown(Treasure treasure) const {
return GET_FLAG(mTreasurePriceShownFlags, treasure);
}
THUMB void ItemManager::AddTreasurePriceShown(Treasure treasure) {
SET_FLAG(mTreasurePriceShownFlags, treasure);
}
-1
View File
@@ -78,7 +78,6 @@ ov00 = Overlay(name='ov00', after='ARM9', objects=[
'src/00_Core/Item/Item.cpp',
'asm/ov00/Item/Item.s',
'src/00_Core/Item/ItemManager.cpp',
'asm/ov00/Item/ItemManager.s',
'src/00_Core/Player/LinkStateRoll.cpp',
'asm/ov00/Player/LinkStateRoll.s',
'src/00_Core/Player/PlayerControl.cpp',
+2 -1
View File
@@ -18,7 +18,8 @@ args = parser.parse_args()
CXX_FLAGS = [
'-nostdinc',
'-Iinclude',
'-Ilibs/c/include'
'-Ilibs/c/include',
'-Ilibs/cpp/include'
]
script_dir = Path(os.path.dirname(os.path.realpath(__file__)))