mirror of
https://github.com/zeldaret/ph
synced 2026-05-29 16:44:43 -04:00
Decomp ItemManager::ForceEquipItem
This commit is contained in:
@@ -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
@@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
.extern _ZN10MapManager18func_ov00_02083918EiPi
|
||||
.extern _ZN11ItemManager13ForceEquipItemEi
|
||||
.extern _ZN11ItemManager14ForceEquipItemEi
|
||||
.extern _ZN11ItemManager20ClearForcedEquipItemEv
|
||||
.extern _ZN12ActorManager8GetActorEP8ActorRef
|
||||
.extern _ZN14AdventureFlags3GetEj
|
||||
|
||||
+1
-1
@@ -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]
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user