mirror of
https://github.com/zeldaret/ph
synced 2026-05-25 07:22:58 -04:00
Decomp ItemManager::GiveKeys
This commit is contained in:
@@ -2,31 +2,6 @@
|
||||
.include "ov00/Item/ItemManager.inc"
|
||||
|
||||
.text
|
||||
.global _ZN11ItemManager8GiveKeysEj
|
||||
thumb_func_start _ZN11ItemManager8GiveKeysEj
|
||||
_ZN11ItemManager8GiveKeysEj: ; 0x020ae368
|
||||
push {r4, lr}
|
||||
ldr r0, _020ae38c ; =gMapManager
|
||||
add r4, r1, #0
|
||||
ldr r0, [r0]
|
||||
blx _ZN10MapManager10GetNumKeysEv
|
||||
add r1, r4, r0
|
||||
cmp r1, #8
|
||||
blt _020ae37c
|
||||
mov r1, #8
|
||||
_020ae37c:
|
||||
cmp r1, #0
|
||||
bgt _020ae382
|
||||
mov r1, #0
|
||||
_020ae382:
|
||||
ldr r0, _020ae38c ; =gMapManager
|
||||
ldr r0, [r0]
|
||||
blx _ZN10MapManager10SetNumKeysEi
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
thumb_func_end _ZN11ItemManager8GiveKeysEj
|
||||
_020ae38c: .word gMapManager
|
||||
|
||||
.global _ZNK11ItemManager15GetEquippedItemEv
|
||||
arm_func_start _ZNK11ItemManager15GetEquippedItemEv
|
||||
_ZNK11ItemManager15GetEquippedItemEv: ; 0x020ae390
|
||||
@@ -57,7 +32,7 @@ _ZN11ItemManager17EquipPreviousItemEv: ; 0x020ae3c0
|
||||
bx ip
|
||||
.align 2, 0
|
||||
arm_func_end _ZN11ItemManager17EquipPreviousItemEv
|
||||
_020ae3cc: .word _ZN11ItemManager15SetEquippedItemEi - 1
|
||||
_020ae3cc: .word _ZN11ItemManager15SetEquippedItemEi
|
||||
|
||||
.global _ZN11ItemManager13ForceEquipItemEi
|
||||
thumb_func_start _ZN11ItemManager13ForceEquipItemEi
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
#include "Physics/AABB.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
#define MAX_KEYS 8
|
||||
|
||||
typedef unk32 CourseType;
|
||||
enum CourseType_ {
|
||||
CourseType_Normal = 0,
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#include "Item/ItemManager.hpp"
|
||||
#include "Map/MapManager.hpp"
|
||||
|
||||
extern u32 *data_027e0ce0[];
|
||||
|
||||
@@ -785,3 +784,10 @@ ARM void ItemManager::GiveRupees(s16 amount, bool param2) {
|
||||
ARM unk32 ItemManager::GetNumKeys() const {
|
||||
return gMapManager->GetNumKeys();
|
||||
}
|
||||
|
||||
THUMB void ItemManager::GiveKeys(u32 amount) {
|
||||
s32 keys = amount + gMapManager->GetNumKeys();
|
||||
if (keys >= MAX_KEYS) keys = MAX_KEYS;
|
||||
if (keys <= 0) keys = 0;
|
||||
gMapManager->SetNumKeys(keys);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user