Decomp ItemManager::GiveAmmo

This commit is contained in:
Aetias
2024-02-17 00:53:22 +01:00
parent ef2226c84d
commit 3a25fcc17d
8 changed files with 19 additions and 36 deletions
+2 -1
View File
@@ -2016,7 +2016,7 @@
.extern func_ov00_020c2d54
.extern func_ov00_020c22b8
.extern func_ov00_020cfbf0
.extern _ZN11ItemManager8GiveAmmoEjj
.extern _ZN11ItemManager8GiveAmmoEjt
.extern func_ov00_020d7ad4
.extern func_ov00_020c2c0c
.extern func_ov00_020c2d54
@@ -7950,3 +7950,4 @@
.extern func_ov00_0208ba50
.extern func_ov00_0208c38c
.extern func_ov00_0208c39c
.extern _ZN11ItemManager8GiveAmmoEjt
+4 -3
View File
@@ -285,15 +285,15 @@
.extern func_ov00_0209779c
.extern func_ov00_0209779c
.extern data_027e0f74
.extern _ZN11ItemManager8GiveAmmoEjj
.extern _ZN11ItemManager8GiveAmmoEjt
.extern gItemManager
.extern func_ov00_0209779c
.extern data_027e0f74
.extern _ZN11ItemManager8GiveAmmoEjj
.extern _ZN11ItemManager8GiveAmmoEjt
.extern gItemManager
.extern func_ov00_0209779c
.extern data_027e0f74
.extern _ZN11ItemManager8GiveAmmoEjj
.extern _ZN11ItemManager8GiveAmmoEjt
.extern gItemManager
.extern func_ov00_0209779c
.extern data_027e0f74
@@ -1481,3 +1481,4 @@
.extern func_ov14_021448f4
.extern func_ov14_021458cc
.extern func_ov14_02145900
.extern _ZN11ItemManager8GiveAmmoEjt
-26
View File
@@ -3,32 +3,6 @@
.text
.global _ZN11ItemManager8GiveAmmoEjj
arm_func_start _ZN11ItemManager8GiveAmmoEjj
_ZN11ItemManager8GiveAmmoEjj: ; 0x020ad73c
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r4, r1
ldr lr, [r5, #0xb0]
mov ip, r4, lsl #0x1
ldrh r3, [lr, ip]
add r2, r3, r2
strh r2, [lr, ip]
blx _ZNK11ItemManager10GetMaxAmmoEj
ldr r2, [r5, #0xb0]
mov r1, r4, lsl #0x1
ldrh r1, [r2, r1]
cmp r1, r0
ldmlsia sp!, {r3, r4, r5, pc}
mov r0, r5
mov r1, r4
blx _ZNK11ItemManager10GetMaxAmmoEj
ldr r2, [r5, #0xb0]
mov r1, r4, lsl #0x1
strh r0, [r2, r1]
ldmia sp!, {r3, r4, r5, pc}
arm_func_end _ZN11ItemManager8GiveAmmoEjj
.global _ZN11ItemManager18func_ov00_020ad790Ej
arm_func_start _ZN11ItemManager18func_ov00_020ad790Ej
_ZN11ItemManager18func_ov00_020ad790Ej: ; 0x020ad790
+2 -1
View File
@@ -729,7 +729,7 @@
.extern data_02050f54
.extern _ZNK11ItemManager7GetAmmoEj
.extern gItemManager
.extern _ZN11ItemManager8GiveAmmoEjj
.extern _ZN11ItemManager8GiveAmmoEjt
.extern gItemManager
.extern func_ov00_02093a1c
.extern data_027e0f6c
@@ -1071,3 +1071,4 @@
.extern func_ov04_0210bc28
.extern func_ov04_0210bc94
.extern func_ov04_021079dc
.extern _ZN11ItemManager8GiveAmmoEjt
+1 -1
View File
@@ -12942,7 +12942,7 @@ func_ov00_020beb5c: ; 0x020beb5c
mov r1, r0
mov r0, r4
mov r2, r5
bl _ZN11ItemManager8GiveAmmoEjj
bl _ZN11ItemManager8GiveAmmoEjt
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov00_020beb5c
+1 -1
View File
@@ -26658,7 +26658,7 @@ _021351c4:
mov r1, r0
ldr r2, [r5, #0x158]
mov r0, r6
bl _ZN11ItemManager8GiveAmmoEjj
bl _ZN11ItemManager8GiveAmmoEjt
_021351ec:
ldr r0, _02135360 ; =data_ov00_020eec9c
mov r1, #0x100
+3 -3
View File
@@ -5339,7 +5339,7 @@ func_ov31_0217fe00: ; 0x0217fe00
ldr r0, [r1]
mov r1, #5
mov r2, #0xa
bl _ZN11ItemManager8GiveAmmoEjj
bl _ZN11ItemManager8GiveAmmoEjt
mov r0, r4
bl func_ov31_0217fd54
ldmia sp!, {r4, pc}
@@ -5373,7 +5373,7 @@ func_ov31_0217fe58: ; 0x0217fe58
ldr r0, [r1]
mov r1, #4
mov r2, #0xa
bl _ZN11ItemManager8GiveAmmoEjj
bl _ZN11ItemManager8GiveAmmoEjt
mov r0, r4
bl func_ov31_0217fd54
ldmia sp!, {r4, pc}
@@ -5407,7 +5407,7 @@ func_ov31_0217feb0: ; 0x0217feb0
ldr r0, [r1]
mov r1, #7
mov r2, #0xa
bl _ZN11ItemManager8GiveAmmoEjj
bl _ZN11ItemManager8GiveAmmoEjt
mov r0, r4
bl func_ov31_0217fd54
ldmia sp!, {r4, pc}
+6
View File
@@ -267,3 +267,9 @@ u16 ItemManager::GetAmmo(ItemFlag equipId) const {
return (*this->mAmmo)[equipId];
}
#pragma interworking off
void ItemManager::GiveAmmo(ItemFlag equipId, u16 amount) {
(*this->mAmmo)[equipId] += amount;
if ((*this->mAmmo)[equipId] <= this->GetMaxAmmo(equipId)) return;
(*this->mAmmo)[equipId] = this->GetMaxAmmo(equipId);
}