summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAetias <aetias@outlook.com>2024-04-30 17:54:09 +0200
committerAetias <aetias@outlook.com>2024-04-30 17:54:09 +0200
commita173f0596d2b7bb94bce3cb86ab9c376cb9fc23b (patch)
treebcf129f12a8ac86c2e8ebaf611003be6b1c6d8d0
parent82e7265776ac599d309ff4918de80a59a7f9ee7e (diff)
Decomp `ItemManager::SetEquippedItem`
-rw-r--r--asm/ov00/Item/ItemManager.inc16
-rw-r--r--asm/ov00/Item/ItemManager.s11
-rw-r--r--src/00_Core/Item/ItemManager.cpp11
3 files changed, 10 insertions, 28 deletions
diff --git a/asm/ov00/Item/ItemManager.inc b/asm/ov00/Item/ItemManager.inc
index a7050c86..96d69948 100644
--- a/asm/ov00/Item/ItemManager.inc
+++ b/asm/ov00/Item/ItemManager.inc
@@ -1,24 +1,10 @@
#pragma once
-.extern LoadTreasureItemFanfare
-.extern _ZN10MapManager10GetNumKeysEv
-.extern _ZN10MapManager10SetNumKeysEi
.extern _ZN11ItemManager12GetEquipItemEi
-.extern _ZN14AdventureFlags3GetEj
-.extern _ZN14AdventureFlags3SetEjb
+.extern _ZN11ItemManager15SetEquippedItemEi
.extern _ZNK11ItemManager10GetMaxAmmoEi
-.extern _ZNK11ItemManager12GetMaxRupeesEv
-.extern gMapManager
.extern data_027e0f78
-.extern data_027e103c
.extern data_ov00_020eec68
.extern func_020196bc
.extern func_020196fc
-.extern func_ov00_020cf374
.extern func_ov00_020d73bc
-.extern func_ov05_02104004
-.extern func_ov00_02079ffc
-.extern func_ov09_0211c700
-.extern func_ov09_0211ca20
-.extern gAdventureFlags
.extern gItemManager
-.extern strcat
diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s
index eef1c36f..302226a6 100644
--- a/asm/ov00/Item/ItemManager.s
+++ b/asm/ov00/Item/ItemManager.s
@@ -3,17 +3,6 @@
.text
- .global _ZN11ItemManager15SetEquippedItemEi
- arm_func_start _ZN11ItemManager15SetEquippedItemEi
-_ZN11ItemManager15SetEquippedItemEi: ; 0x020ae3a8
- ldr r3, [r0]
- mov r2, #2
- stmia r0, {r1, r3}
- strh r2, [r0, #0x20]
- mov r0, #1
- bx lr
- arm_func_end _ZN11ItemManager15SetEquippedItemEi
-
.global _ZN11ItemManager17EquipPreviousItemEv
arm_func_start _ZN11ItemManager17EquipPreviousItemEv
_ZN11ItemManager17EquipPreviousItemEv: ; 0x020ae3c0
diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp
index 892478c3..7c5c64b2 100644
--- a/src/00_Core/Item/ItemManager.cpp
+++ b/src/00_Core/Item/ItemManager.cpp
@@ -793,6 +793,13 @@ THUMB void ItemManager::GiveKeys(u32 amount) {
}
ARM ItemFlag ItemManager::GetEquippedItem() const {
- if (this->mForcedItem != ItemFlag_None) return this->mForcedItem;
- return this->mEquippedItem;
+ if (mForcedItem != ItemFlag_None) return mForcedItem;
+ return mEquippedItem;
+}
+
+ARM bool ItemManager::SetEquippedItem(ItemFlag equipId) {
+ mPrevEquippedItem = mEquippedItem;
+ mEquippedItem = equipId;
+ mEquipLoadTimer = 2;
+ return true;
}