summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAetias <aetias@outlook.com>2024-02-18 13:06:41 +0100
committerAetias <aetias@outlook.com>2024-02-18 13:06:41 +0100
commite0271ef65a5917487c49b488f6bcd5902e8f6dfd (patch)
tree7ec50dd87f113fc43bc4321f6d389eaa78bac2ea
parent2a3133f999200a207e09c22d846ff100af485a9c (diff)
Decomp `ItemManager::IsTreasureSalvaged`
-rw-r--r--asm/include/ov02.inc2
-rw-r--r--asm/include/ov05.inc4
-rw-r--r--asm/include/ov15.inc6
-rw-r--r--asm/include/ov26.inc2
-rw-r--r--asm/include/ov45.inc4
-rw-r--r--asm/ov00/ItemManager/ItemManager.s39
-rw-r--r--asm/ov02.s2
-rw-r--r--asm/ov05.s4
-rw-r--r--asm/ov15.s6
-rw-r--r--asm/ov26.s2
-rw-r--r--asm/ov45.s4
-rw-r--r--include/ItemManager.hpp4
-rw-r--r--src/ItemManager.cpp4
13 files changed, 37 insertions, 46 deletions
diff --git a/asm/include/ov02.inc b/asm/include/ov02.inc
index 8c247a69..cd7d52d9 100644
--- a/asm/include/ov02.inc
+++ b/asm/include/ov02.inc
@@ -266,7 +266,7 @@
.extern func_0203493c
.extern func_02032788
.extern func_ov09_02118028
-.extern _ZNK11ItemManager21HasShipPartPriceShownEjj
+.extern _ZNK11ItemManager18IsTreasureSalvagedEjj
.extern func_0203493c
.extern func_0203493c
.extern func_ov09_02118028
diff --git a/asm/include/ov05.inc b/asm/include/ov05.inc
index ca7f2f94..53217657 100644
--- a/asm/include/ov05.inc
+++ b/asm/include/ov05.inc
@@ -318,7 +318,7 @@
.extern func_ov00_0209d90c
.extern func_02034a1c
.extern _ZNK11ItemManager7HasItemEj
-.extern _ZNK11ItemManager21HasShipPartPriceShownEj
+.extern _ZNK11ItemManager18IsTreasureSalvagedEj
.extern func_ov00_0209d90c
.extern func_ov00_02079680
.extern func_02034984
@@ -336,7 +336,7 @@
.extern func_ov00_02097760
.extern _ZNK11ItemManager7HasItemEj
.extern func_ov00_02097760
-.extern _ZNK11ItemManager21HasShipPartPriceShownEj
+.extern _ZNK11ItemManager18IsTreasureSalvagedEj
.extern func_ov00_0209d90c
.extern func_ov00_02079680
.extern func_02034984
diff --git a/asm/include/ov15.inc b/asm/include/ov15.inc
index bcf5ce73..5a69603d 100644
--- a/asm/include/ov15.inc
+++ b/asm/include/ov15.inc
@@ -3082,7 +3082,7 @@
.extern _ZN11ItemManager18func_ov00_020ae648Ejjj
.extern func_ov00_020d71a0
.extern func_ov00_02097750
-.extern _ZN11ItemManager21AddShipPartPriceShownEj
+.extern _ZN11ItemManager19SetTreasureSalvagedEj
.extern _ZN11ItemManager8GiveItemEjjj
.extern func_01ff9bf8
.extern func_01ffa0f4
@@ -3174,7 +3174,7 @@
.extern func_ov00_020c1734
.extern data_027e0d38
.extern _ZNK11ItemManager7HasItemEj
-.extern _ZNK11ItemManager21HasShipPartPriceShownEj
+.extern _ZNK11ItemManager18IsTreasureSalvagedEj
.extern gItemManager
.extern data_027e0fe4
.extern data_027e0f94
@@ -6122,7 +6122,7 @@
.extern func_ov09_0211ca20
.extern func_ov09_0211cac0
.extern _ZN11ItemManager8GiveItemEjjj
-.extern _ZN11ItemManager21AddShipPartPriceShownEj
+.extern _ZN11ItemManager19SetTreasureSalvagedEj
.extern _ZN11ItemManager15LoadFanfareItemEj
.extern gItemManager
.extern data_027e0fe4
diff --git a/asm/include/ov26.inc b/asm/include/ov26.inc
index 8593a7d9..6a68ba1a 100644
--- a/asm/include/ov26.inc
+++ b/asm/include/ov26.inc
@@ -1068,7 +1068,7 @@
.extern data_027e0e60
.extern data_027e0d3c
.extern identifier,
-.extern _ZNK11ItemManager21HasShipPartPriceShownEj
+.extern _ZNK11ItemManager18IsTreasureSalvagedEj
.extern func_ov00_0209d90c
.extern func_ov00_02097760
.extern func_ov00_02079680
diff --git a/asm/include/ov45.inc b/asm/include/ov45.inc
index 7cfdf065..44691eaa 100644
--- a/asm/include/ov45.inc
+++ b/asm/include/ov45.inc
@@ -435,7 +435,7 @@
.extern func_ov09_02113f40
.extern func_ov09_02118028
.extern identifier,
-.extern _ZN11ItemManager21AddShipPartPriceShownEjj
+.extern _ZN11ItemManager19SetTreasureSalvagedEjj
.extern gItemManager
.extern func_ov09_021181f0
.extern func_ov09_021183dc
@@ -503,7 +503,7 @@
.extern func_02032788
.extern func_ov09_02118028
.extern identifier,
-.extern _ZNK11ItemManager21HasShipPartPriceShownEjj
+.extern _ZNK11ItemManager18IsTreasureSalvagedEjj
.extern func_0203493c
.extern func_0203493c
.extern func_ov09_02118028
diff --git a/asm/ov00/ItemManager/ItemManager.s b/asm/ov00/ItemManager/ItemManager.s
index 40a5381e..bde5809f 100644
--- a/asm/ov00/ItemManager/ItemManager.s
+++ b/asm/ov00/ItemManager/ItemManager.s
@@ -3,22 +3,9 @@
.text
- .global _ZNK11ItemManager21HasShipPartPriceShownEj
- arm_func_start _ZNK11ItemManager21HasShipPartPriceShownEj
-_ZNK11ItemManager21HasShipPartPriceShownEj: ; 0x020adabc
- mov r2, r1, lsr #5
- add r0, r0, r2, lsl #2
- ldr r2, [r0, #0x138]
- and r1, r1, #0x1f
- mov r0, #1
- tst r2, r0, lsl r1
- moveq r0, #0
- bx lr
- arm_func_end _ZNK11ItemManager21HasShipPartPriceShownEj
-
- .global _ZN11ItemManager21AddShipPartPriceShownEj
- thumb_func_start _ZN11ItemManager21AddShipPartPriceShownEj
-_ZN11ItemManager21AddShipPartPriceShownEj: ; 0x020adadc
+ .global _ZN11ItemManager19SetTreasureSalvagedEj
+ thumb_func_start _ZN11ItemManager19SetTreasureSalvagedEj
+_ZN11ItemManager19SetTreasureSalvagedEj: ; 0x020adadc
push {r4, r5}
mov r2, #0x4e
lsl r2, r2, #2
@@ -37,7 +24,7 @@ _ZN11ItemManager21AddShipPartPriceShownEj: ; 0x020adadc
pop {r4, r5}
bx lr
.align 2, 0
- thumb_func_end _ZN11ItemManager21AddShipPartPriceShownEj
+ thumb_func_end _ZN11ItemManager19SetTreasureSalvagedEj
.global _ZN11ItemManager10RemoveItemEj
thumb_func_start _ZN11ItemManager10RemoveItemEj
@@ -1243,7 +1230,7 @@ _ZN11ItemManager17EquipPreviousItemEv: ; 0x020ae3c0
bx ip
.align 2, 0
arm_func_end _ZN11ItemManager17EquipPreviousItemEv
-_020ae3cc: .word _ZN11ItemManager15SetEquippedItemEj
+_020ae3cc: .word _ZN11ItemManager15SetEquippedItemEj - 1
.global _ZN11ItemManager13ForceEquipItemEj
thumb_func_start _ZN11ItemManager13ForceEquipItemEj
@@ -1646,9 +1633,9 @@ _020ae6de:
_020ae6e8: .word gItemManager
_020ae6ec: .word data_ov00_020eec68
- .global _ZNK11ItemManager21HasShipPartPriceShownEjj
- thumb_func_start _ZNK11ItemManager21HasShipPartPriceShownEjj
-_ZNK11ItemManager21HasShipPartPriceShownEjj: ; 0x020ae6f0
+ .global _ZNK11ItemManager18IsTreasureSalvagedEjj
+ thumb_func_start _ZNK11ItemManager18IsTreasureSalvagedEjj
+_ZNK11ItemManager18IsTreasureSalvagedEjj: ; 0x020ae6f0
push {r3, r4}
lsl r3, r1, #3
add r1, r1, r3
@@ -1672,11 +1659,11 @@ _020ae716:
add r0, r2, #0
pop {r3, r4}
bx lr
- thumb_func_end _ZNK11ItemManager21HasShipPartPriceShownEjj
+ thumb_func_end _ZNK11ItemManager18IsTreasureSalvagedEjj
- .global _ZN11ItemManager21AddShipPartPriceShownEjj
- thumb_func_start _ZN11ItemManager21AddShipPartPriceShownEjj
-_ZN11ItemManager21AddShipPartPriceShownEjj: ; 0x020ae71c
+ .global _ZN11ItemManager19SetTreasureSalvagedEjj
+ thumb_func_start _ZN11ItemManager19SetTreasureSalvagedEjj
+_ZN11ItemManager19SetTreasureSalvagedEjj: ; 0x020ae71c
push {r4, r5}
lsl r3, r1, #3
add r1, r1, r3
@@ -1697,7 +1684,7 @@ _ZN11ItemManager21AddShipPartPriceShownEjj: ; 0x020ae71c
str r2, [r1, r0]
pop {r4, r5}
bx lr
- thumb_func_end _ZN11ItemManager21AddShipPartPriceShownEjj
+ thumb_func_end _ZN11ItemManager19SetTreasureSalvagedEjj
.global _ZNK11ItemManager21HasTreasurePriceShownEj
thumb_func_start _ZNK11ItemManager21HasTreasurePriceShownEj
diff --git a/asm/ov02.s b/asm/ov02.s
index a5109989..1ebdeba6 100644
--- a/asm/ov02.s
+++ b/asm/ov02.s
@@ -2883,7 +2883,7 @@ _020f1424:
mov r1, r0
ldr r2, [r5, #0x1c]
mov r0, r6
- blx _ZNK11ItemManager21HasShipPartPriceShownEjj
+ blx _ZNK11ItemManager18IsTreasureSalvagedEjj
cmp r0, #0
beq _020f14f4
add ip, sp, #0x28
diff --git a/asm/ov05.s b/asm/ov05.s
index f48aba9d..a3e54a2c 100644
--- a/asm/ov05.s
+++ b/asm/ov05.s
@@ -4644,7 +4644,7 @@ _02104694:
beq _0210471c
ldr r0, [r6]
and r1, sb, #0xff
- bl _ZNK11ItemManager21HasShipPartPriceShownEj
+ bl _ZNK11ItemManager18IsTreasureSalvagedEj
cmp r0, #0
bne _0210471c
ldr r0, [r5]
@@ -4793,7 +4793,7 @@ _021048a8:
ldr r0, _02104a38 ; =gItemManager
mov r1, #0
ldr r0, [r0]
- bl _ZNK11ItemManager21HasShipPartPriceShownEj
+ bl _ZNK11ItemManager18IsTreasureSalvagedEj
cmp r0, #0
addne sp, sp, #0x34
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
diff --git a/asm/ov15.s b/asm/ov15.s
index a93b221c..96fc9ac7 100644
--- a/asm/ov15.s
+++ b/asm/ov15.s
@@ -44581,7 +44581,7 @@ _02145390:
bhs _021453d4
ldr r0, _0214581c ; =gItemManager
ldr r0, [r0]
- blx _ZN11ItemManager21AddShipPartPriceShownEj
+ blx _ZN11ItemManager19SetTreasureSalvagedEj
b _021453f8
_021453d4:
sub r0, r1, #0x20
@@ -45653,7 +45653,7 @@ func_ov15_021461b0: ; 0x021461b0
ldr r0, _021462c4 ; =gItemManager
ldrh r1, [r5, r4]
ldr r0, [r0]
- bl _ZNK11ItemManager21HasShipPartPriceShownEj
+ bl _ZNK11ItemManager18IsTreasureSalvagedEj
cmp r0, #0
beq _02146244
add sp, sp, #0x18
@@ -88246,7 +88246,7 @@ _0216a8f8:
bhs _0216a918
ldr r0, _0216a95c ; =gItemManager
ldr r0, [r0]
- blx _ZN11ItemManager21AddShipPartPriceShownEj
+ blx _ZN11ItemManager19SetTreasureSalvagedEj
b _0216a93c
_0216a918:
sub r0, r1, #0x20
diff --git a/asm/ov26.s b/asm/ov26.s
index b621a1d0..257c01bb 100644
--- a/asm/ov26.s
+++ b/asm/ov26.s
@@ -13278,7 +13278,7 @@ func_ov26_021778e8: ; 0x021778e8
ldr r0, _021779cc ; =gItemManager
mov r1, #0
ldr r0, [r0]
- bl _ZNK11ItemManager21HasShipPartPriceShownEj
+ bl _ZNK11ItemManager18IsTreasureSalvagedEj
cmp r0, #0
addne sp, sp, #0xc
ldmneia sp!, {r3, r4, r5, r6, pc}
diff --git a/asm/ov45.s b/asm/ov45.s
index 3ad1e404..33fb3ea5 100644
--- a/asm/ov45.s
+++ b/asm/ov45.s
@@ -5128,7 +5128,7 @@ func_ov45_0218d4d4: ; 0x0218d4d4
mov r1, r0
ldr r2, [r5, #0x1c]
mov r0, r4
- blx _ZN11ItemManager21AddShipPartPriceShownEjj
+ blx _ZN11ItemManager19SetTreasureSalvagedEjj
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 _ZNK11ItemManager21HasShipPartPriceShownEjj
+ blx _ZNK11ItemManager18IsTreasureSalvagedEjj
cmp r0, #0
beq _0218df54
add ip, sp, #0x28
diff --git a/include/ItemManager.hpp b/include/ItemManager.hpp
index dd85b7c8..07f726a4 100644
--- a/include/ItemManager.hpp
+++ b/include/ItemManager.hpp
@@ -283,9 +283,7 @@ public:
void EquipShipPart(ShipPart part, ShipType type);
s8 GetShipPartCount(ShipPart part, ShipType type) const;
void SetShipPartCount(ShipPart part, ShipType type, s8 count);
- bool HasShipPartPriceShown(u32 index) const;
bool HasShipPartPriceShown(ShipPart part, ShipType type) const;
- void AddShipPartPriceShown(u32 index);
void AddShipPartPriceShown(ShipPart part, ShipType type);
u8 GetMaxShipPartCount() const;
@@ -294,6 +292,8 @@ public:
void SetTreasureCount(Treasure treasure, s8 count);
bool HasTreasurePriceShown(Treasure treasure) const;
void AddTreasurePriceShown(Treasure treasure);
+ bool IsTreasureSalvaged(u32 index) const;
+ void SetTreasureSalvaged(u32 index);
u8 GetMaxTreasureCount() const;
// mUnk_098, mUnk_09e
diff --git a/src/ItemManager.cpp b/src/ItemManager.cpp
index 39c81fc9..800d245a 100644
--- a/src/ItemManager.cpp
+++ b/src/ItemManager.cpp
@@ -365,3 +365,7 @@ ARM bool ItemManager::HasItem(ItemFlag item) const {
THUMB void ItemManager::AddItem(ItemFlag item) {
SET_FLAG(this->mItemFlags.flags, item);
}
+
+ARM bool ItemManager::IsTreasureSalvaged(u32 index) const {
+ return GET_FLAG(&this->mSalvagedTreasureFlags, index);
+}