Decomp ItemManager::ForceEquipItem

This commit is contained in:
Aetias
2024-04-30 17:59:41 +02:00
parent 983495b906
commit 3174f1c334
4 changed files with 11 additions and 33 deletions
-31
View File
@@ -3,37 +3,6 @@
.text
.global _ZN11ItemManager13ForceEquipItemEi
thumb_func_start _ZN11ItemManager13ForceEquipItemEi
_ZN11ItemManager13ForceEquipItemEi: ; 0x020ae3d0
push {r3, r4, r5, r6, r7, lr}
mov r4, #0
add r6, r0, #0
add r7, r1, #0
add r5, r4, #0
_020ae3da:
cmp r4, r7
beq _020ae3ee
add r0, r6, #0
add r0, #0xac
ldr r0, [r0]
mov r1, #0
ldr r0, [r0, r5]
ldr r2, [r0]
ldr r2, [r2, #0x28]
blx r2
_020ae3ee:
add r4, r4, #1
add r5, r5, #4
cmp r4, #0xb
blt _020ae3da
str r7, [r6, #8]
mov r0, #1
strh r0, [r6, #0x20]
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end _ZN11ItemManager13ForceEquipItemEi
.global _ZN11ItemManager20ClearForcedEquipItemEv
thumb_func_start _ZN11ItemManager20ClearForcedEquipItemEv
_ZN11ItemManager20ClearForcedEquipItemEv: ; 0x020ae400
+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]
+9
View File
@@ -807,3 +807,12 @@ ARM bool ItemManager::SetEquippedItem(ItemFlag equipId) {
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;
}