diff --git a/asm/include/ov15.inc b/asm/include/ov15.inc index 60fc4c9b..bcf5ce73 100644 --- a/asm/include/ov15.inc +++ b/asm/include/ov15.inc @@ -3314,8 +3314,8 @@ .extern func_01ffa0f4 .extern func_0202b418 .extern data_027e10a4 -.extern _ZN11ItemManager10SetUnk_09eEjj -.extern _ZN11ItemManager10SetUnk_09eEjj +.extern _ZN11ItemManager10SetUnk_09eEjt +.extern _ZN11ItemManager10SetUnk_09eEjt .extern func_ov00_020c5d74 .extern func_ov00_0207c444 .extern func_02002c14 diff --git a/asm/ov00/ItemManager/ItemManager.s b/asm/ov00/ItemManager/ItemManager.s index 09640828..55a6169a 100644 --- a/asm/ov00/ItemManager/ItemManager.s +++ b/asm/ov00/ItemManager/ItemManager.s @@ -3,39 +3,6 @@ .text - .global _ZN11ItemManager10SetUnk_09eEjj - thumb_func_start _ZN11ItemManager10SetUnk_09eEjj -_ZN11ItemManager10SetUnk_09eEjj: ; 0x020ad96c - push {r3, r4} - add r4, r0, #0 - add r4, #0x98 - ldrb r3, [r4, r1] - add r3, r3, #1 - lsl r3, r3, #0x18 - lsr r3, r3, #0x18 - cmp r3, #0x63 - bls _020ad980 - mov r3, #0x63 -_020ad980: - strb r3, [r4, r1] - add r0, #0x9e - lsl r3, r1, #1 - ldrh r1, [r0, r3] - cmp r2, r1 - bls _020ad996 - ldr r1, _020ad99c ; =0x0000270f - cmp r2, r1 - bls _020ad994 - add r2, r1, #0 -_020ad994: - strh r2, [r0, r3] -_020ad996: - pop {r3, r4} - bx lr - nop - thumb_func_end _ZN11ItemManager10SetUnk_09eEjj -_020ad99c: .word 0x0000270f - .global _ZNK11ItemManager10GetMaxAmmoEj thumb_func_start _ZNK11ItemManager10GetMaxAmmoEj _ZNK11ItemManager10GetMaxAmmoEj: ; 0x020ad9a0 diff --git a/asm/ov15.s b/asm/ov15.s index f6db9da1..a93b221c 100644 --- a/asm/ov15.s +++ b/asm/ov15.s @@ -48309,7 +48309,7 @@ _02148540: ldr r0, [r0] ldr r1, [r4, #0x41c] mov r2, r2, lsr #0x10 - blx _ZN11ItemManager10SetUnk_09eEjj + blx _ZN11ItemManager10SetUnk_09eEjt ldrb r0, [r4, #0x43d] cmp r0, #0 beq _021485cc @@ -48337,7 +48337,7 @@ _02148540: mov r2, r1, lsr #0x10 mov r1, #5 str r3, [ip, #4] - blx _ZN11ItemManager10SetUnk_09eEjj + blx _ZN11ItemManager10SetUnk_09eEjt _021485cc: mov r1, #0 str r1, [r4, #0x3fc] diff --git a/src/ItemManager.cpp b/src/ItemManager.cpp index 32f6dc59..59793b50 100644 --- a/src/ItemManager.cpp +++ b/src/ItemManager.cpp @@ -312,3 +312,13 @@ THUMB s32 ItemManager::GetUnk_09e_Divided(u32 index) const { if (result < 1) result = 1; return result; } + +THUMB void ItemManager::SetUnk_09e(u32 index, u16 value) { + u8 count = this->mUnk_098[index] + 1; + if (count > 99) count = 99; + this->mUnk_098[index] = count; + if (value > this->mUnk_09e[index]) { + if (value > 9999) value = 9999; + this->mUnk_09e[index] = value; + } +}