diff options
| author | Aetias <aetias@outlook.com> | 2024-04-30 18:05:13 +0200 |
|---|---|---|
| committer | Aetias <aetias@outlook.com> | 2024-04-30 18:05:13 +0200 |
| commit | 4f44cc2f9362f72155f4a8c5dafe4de3dafabe9e (patch) | |
| tree | 03e1eb5a189dbe5a26355d8b94692411698c3914 | |
| parent | 458ede60df2dcb919372888e94e4b1fc5d691afb (diff) | |
Decomp `ItemManager::UpgradeQuiver`
| -rw-r--r-- | asm/ov00/Item/ItemManager.s | 27 | ||||
| -rw-r--r-- | include/Item/ItemManager.hpp | 1 | ||||
| -rw-r--r-- | src/00_Core/Item/ItemManager.cpp | 5 |
3 files changed, 6 insertions, 27 deletions
diff --git a/asm/ov00/Item/ItemManager.s b/asm/ov00/Item/ItemManager.s index 84a6b996..a06b1777 100644 --- a/asm/ov00/Item/ItemManager.s +++ b/asm/ov00/Item/ItemManager.s @@ -3,33 +3,6 @@ .text - .global _ZN11ItemManager13UpgradeQuiverEv - thumb_func_start _ZN11ItemManager13UpgradeQuiverEv -_ZN11ItemManager13UpgradeQuiverEv: ; 0x020ae458 - push {r4, lr} - add r4, r0, #0 - add r0, #0xb4 - ldrh r0, [r0] - cmp r0, #2 - bhs _020ae472 - add r0, r4, #0 - add r0, #0xb4 - ldrh r0, [r0] - add r1, r0, #1 - add r0, r4, #0 - add r0, #0xb4 - strh r1, [r0] -_020ae472: - add r0, r4, #0 - mov r1, #5 - bl _ZNK11ItemManager10GetMaxAmmoEi - add r4, #0xb0 - ldr r1, [r4] - strh r0, [r1, #0xa] - pop {r4, pc} - .align 2, 0 - thumb_func_end _ZN11ItemManager13UpgradeQuiverEv - .global _ZN11ItemManager14UpgradeBombBagEv thumb_func_start _ZN11ItemManager14UpgradeBombBagEv _ZN11ItemManager14UpgradeBombBagEv: ; 0x020ae484 diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 61d477f1..bdb75c62 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -19,6 +19,7 @@ extern "C" { #include "Render/ModelRender.hpp"
#define MAX_HOURGLASS_SECONDS 1500 // 25 minutes
+#define MAX_AMMO_UPGRADE 2
typedef s32 FairyId;
enum FairyId_ {
diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index d5c88bb3..d98baa4a 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -827,3 +827,8 @@ 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);
+}
|
