diff --git a/asm/include/ov02.inc b/asm/include/ov02.inc index 812cbc56..e55e2b50 100644 --- a/asm/include/ov02.inc +++ b/asm/include/ov02.inc @@ -179,7 +179,7 @@ .extern func_02034698 .extern func_ov09_02113f40 .extern gItemManager -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj +.extern _ZNK11ItemManager18func_ov00_020ada48Ei .extern func_ov09_02113ce4 .extern func_02034698 .extern func_ov09_02113cb0 @@ -234,7 +234,7 @@ .extern func_ov09_02113cb0 .extern func_01ffbe34 .extern func_02034b0c -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj +.extern _ZNK11ItemManager18func_ov00_020ada48Ei .extern func_020349cc .extern gItemManager .extern _ZNK11ItemManager7HasItemEj diff --git a/asm/include/ov20.inc b/asm/include/ov20.inc index f91696be..11c9d7c0 100644 --- a/asm/include/ov20.inc +++ b/asm/include/ov20.inc @@ -624,11 +624,11 @@ .extern func_ov00_020c28d4 .extern func_ov00_020cb60c .extern func_ov00_020cadb0 -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj +.extern _ZNK11ItemManager18func_ov00_020ad9e8Ei .extern func_ov00_02083ee0 .extern func_01ff9bf8 .extern func_ov00_020c2238 -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj +.extern _ZNK11ItemManager18func_ov00_020ad9e8Ei .extern func_ov00_020c1e2c .extern func_01ff9bf8 .extern func_ov00_020c1ef8 diff --git a/asm/include/ov24.inc b/asm/include/ov24.inc index 49172dc5..803522bb 100644 --- a/asm/include/ov24.inc +++ b/asm/include/ov24.inc @@ -748,7 +748,7 @@ .extern func_ov00_020c1e2c .extern func_ov00_020a7ce4 .extern func_ov00_020bf008 -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj +.extern _ZNK11ItemManager18func_ov00_020ad9e8Ei .extern func_ov00_020c2238 .extern func_ov00_020cbd28 .extern func_ov00_020ceacc diff --git a/asm/include/ov25.inc b/asm/include/ov25.inc index 8058a95e..a936e74e 100644 --- a/asm/include/ov25.inc +++ b/asm/include/ov25.inc @@ -883,7 +883,7 @@ .extern func_ov00_020c2bf4 .extern func_ov00_02083ee0 .extern func_ov00_020c1fc8 -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj +.extern _ZNK11ItemManager18func_ov00_020ad9e8Ei .extern func_ov00_020c070c .extern func_ov00_020c1e2c .extern func_01fffd04 diff --git a/asm/include/ov26.inc b/asm/include/ov26.inc index afda72af..c9959902 100644 --- a/asm/include/ov26.inc +++ b/asm/include/ov26.inc @@ -336,7 +336,7 @@ .extern func_ov00_020cadb0 .extern func_ov00_020cadb0 .extern _ZNK11ItemManager7HasItemEj -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj +.extern _ZNK11ItemManager18func_ov00_020ad9e8Ei .extern func_ov00_020cb60c .extern func_ov00_020cadb0 .extern func_ov00_020cb60c diff --git a/asm/include/ov28.inc b/asm/include/ov28.inc index 7e0122a9..b0936edb 100644 --- a/asm/include/ov28.inc +++ b/asm/include/ov28.inc @@ -562,17 +562,17 @@ .extern func_ov14_021449e4 .extern _ZN9SysObjectdlEPv .extern func_ov14_02144a2c -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj +.extern _ZNK11ItemManager18func_ov00_020ada48Ei +.extern _ZNK11ItemManager18func_ov00_020ada48Ei +.extern _ZNK11ItemManager18func_ov00_020ada48Ei .extern func_ov14_02144d70 .extern gItemManager .extern func_ov00_020bb0ac .extern func_ov00_020bb0e0 -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj +.extern _ZNK11ItemManager18func_ov00_020ada48Ei +.extern _ZNK11ItemManager18func_ov00_020ada48Ei .extern gItemManager -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj +.extern _ZNK11ItemManager18func_ov00_020ada48Ei .extern gItemManager .extern gItemManager .extern func_ov00_020836dc diff --git a/asm/include/ov30.inc b/asm/include/ov30.inc index bd547f28..1cc5d5cf 100644 --- a/asm/include/ov30.inc +++ b/asm/include/ov30.inc @@ -577,7 +577,7 @@ .extern func_ov00_020cadb0 .extern func_ov00_020cadb0 .extern func_ov00_020c51d0 -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj +.extern _ZNK11ItemManager18func_ov00_020ad9e8Ei .extern func_ov00_020cb60c .extern func_ov00_020cadb0 .extern func_ov00_020cb60c diff --git a/asm/include/ov44.inc b/asm/include/ov44.inc index 525c6e54..221f5784 100644 --- a/asm/include/ov44.inc +++ b/asm/include/ov44.inc @@ -406,7 +406,7 @@ .extern data_027e0764 .extern func_ov00_020cb60c .extern func_ov00_020cadb0 -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj +.extern _ZNK11ItemManager18func_ov00_020ad9e8Ei .extern func_ov00_020cb60c .extern func_ov00_020cadb0 .extern func_ov00_020cb60c diff --git a/asm/include/ov47.inc b/asm/include/ov47.inc index 52ed552d..303734ed 100644 --- a/asm/include/ov47.inc +++ b/asm/include/ov47.inc @@ -357,7 +357,7 @@ .extern func_ov00_020c313c .extern func_ov00_020c2bf4 .extern func_ov00_020c2a0c -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj +.extern _ZNK11ItemManager18func_ov00_020ad9e8Ei .extern func_ov00_020c2238 .extern func_ov00_020c070c .extern func_ov00_020a7c1c diff --git a/asm/include/ov48.inc b/asm/include/ov48.inc index f2eccfe2..f4feda55 100644 --- a/asm/include/ov48.inc +++ b/asm/include/ov48.inc @@ -42,7 +42,7 @@ .extern func_ov00_020c5d74 .extern func_ov00_020cb60c .extern func_ov00_020cadb0 -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj +.extern _ZNK11ItemManager18func_ov00_020ad9e8Ei .extern func_ov00_020cb60c .extern func_ov00_020cadb0 .extern func_ov00_020cb60c @@ -153,7 +153,7 @@ .extern func_0204f8d4 .extern func_01ffbf5c .extern func_ov00_020c288c -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj +.extern _ZNK11ItemManager18func_ov00_020ad9e8Ei .extern func_01ff9e64 .extern func_ov00_020a7c60 .extern func_ov00_020c2974 @@ -230,7 +230,7 @@ .extern func_01ff9bf8 .extern func_01ff9bf8 .extern func_02002c14 -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj +.extern _ZNK11ItemManager18func_ov00_020ad9e8Ei .extern func_ov00_020c2a0c .extern func_ov00_020c2238 .extern func_ov00_020c070c diff --git a/asm/ov00/ItemManager/ItemManager.s b/asm/ov00/ItemManager/ItemManager.s index 49f07520..cb9f25d8 100644 --- a/asm/ov00/ItemManager/ItemManager.s +++ b/asm/ov00/ItemManager/ItemManager.s @@ -3,39 +3,9 @@ .text - .global _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj - arm_func_start _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj -_ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj: ; 0x020ad9e8 - stmdb sp!, {r3, r4, r5, lr} - mov r5, r0 - ldr r3, [r5, #0x10] - mvn r2, #0 - cmp r3, r2 - mov r4, r1 - moveq r0, #0 - ldmeqia sp!, {r3, r4, r5, pc} - bl _ZNK11ItemManager16GetEquippedFairyEv - cmp r0, #0 - bne _020ada24 - ldrb r0, [r5, #0x14d] - cmp r0, #0 - movne r0, #0 - ldmneia sp!, {r3, r4, r5, pc} -_020ada24: - mov r0, r5 - bl _ZNK11ItemManager16GetEquippedFairyEv - cmp r4, r0 - movne r0, #0 - ldmneia sp!, {r3, r4, r5, pc} - mov r0, r5 - mov r1, r4 - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj - ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj - - .global _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj - arm_func_start _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj -_ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj: ; 0x020ada48 + .global _ZNK11ItemManager18func_ov00_020ada48Ei + arm_func_start _ZNK11ItemManager18func_ov00_020ada48Ei +_ZNK11ItemManager18func_ov00_020ada48Ei: ; 0x020ada48 stmdb sp!, {r3, r4, r5, lr} mov r4, r1 add r1, r4, #0x1a @@ -48,7 +18,7 @@ _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj: ; 0x020ada48 add r1, r4, #0x17 bl _ZNK11ItemManager7HasItemEj ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj + arm_func_end _ZNK11ItemManager18func_ov00_020ada48Ei .global _ZNK11ItemManager7HasItemEj arm_func_start _ZNK11ItemManager7HasItemEj diff --git a/asm/ov00/include/ov00_020b4940.inc b/asm/ov00/include/ov00_020b4940.inc index dc537cf2..3f4368aa 100644 --- a/asm/ov00/include/ov00_020b4940.inc +++ b/asm/ov00/include/ov00_020b4940.inc @@ -469,7 +469,7 @@ .extern data_027e0fd4 .extern data_027e0fe4 .extern data_027e0fd0 -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj +.extern _ZNK11ItemManager18func_ov00_020ad9e8Ei .extern func_ov00_020acb6c .extern func_020385b8 .extern func_ov00_020ab614 @@ -481,7 +481,7 @@ .extern func_01fffcd8 .extern gItemManager .extern func_ov00_02097bbc -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj +.extern _ZNK11ItemManager18func_ov00_020ad9e8Ei .extern func_02002c14 .extern func_ov00_020acb6c .extern func_020385b8 @@ -756,7 +756,7 @@ .extern func_ov00_0207c1f8 .extern data_027e0e58 .extern data_027e0d0c -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj +.extern _ZNK11ItemManager18func_ov00_020ad9e8Ei .extern gItemManager .extern func_0202af4c .extern func_01ff9bc4 @@ -783,7 +783,7 @@ .extern func_ov14_0213dfbc .extern func_ov14_0213e144 .extern func_ov00_02081f4c -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj +.extern _ZNK11ItemManager18func_ov00_020ad9e8Ei .extern data_ov00_020eec9c .extern gItemManager .extern data_027e0e60 @@ -817,14 +817,14 @@ .extern data_02050f54 .extern data_027e0e58 .extern func_ov00_0207c444 -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj +.extern _ZNK11ItemManager18func_ov00_020ad9e8Ei .extern gItemManager .extern func_ov00_02081f4c .extern _ZN9SysObjectdlEPv .extern data_027e0fb8 .extern func_ov00_020ceacc .extern data_027e0ffc -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj +.extern _ZNK11ItemManager18func_ov00_020ad9e8Ei .extern gItemManager .extern func_0202e58c .extern _ZNK11ItemManager7HasItemEj @@ -922,7 +922,7 @@ .extern func_ov00_02097738 .extern func_01ff9bf8 .extern func_ov00_020a7cfc -.extern _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj +.extern _ZNK11ItemManager18func_ov00_020ad9e8Ei .extern func_ov00_020a7cfc .extern data_027e0f74 .extern data_027e0f94 diff --git a/asm/ov00/ov00_020b4940.s b/asm/ov00/ov00_020b4940.s index 012a8cb5..8787ad79 100644 --- a/asm/ov00/ov00_020b4940.s +++ b/asm/ov00/ov00_020b4940.s @@ -9307,7 +9307,7 @@ func_ov00_020bbed4: ; 0x020bbed4 movgt r7, #0 bl func_ov00_020bc098 mov r1, #2 - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj + bl _ZNK11ItemManager18func_ov00_020ad9e8Ei cmp r0, #0 ble _020bbf34 cmp r7, r0 @@ -9450,7 +9450,7 @@ func_ov00_020bc0a8: ; 0x020bc0a8 ldmneia sp!, {r4, r5, r6, r7, r8, pc} bl func_ov00_020bc098 mov r1, #2 - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj + bl _ZNK11ItemManager18func_ov00_020ad9e8Ei mov r4, r0 cmp r4, #0 ble _020bc114 @@ -13551,7 +13551,7 @@ func_ov00_020bf270: ; 0x020bf270 ldr r0, _020bf2d4 ; =gItemManager mov r1, #0 ldr r0, [r0] - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj + bl _ZNK11ItemManager18func_ov00_020ad9e8Ei strh r0, [r4, #0x54] ldrsh r0, [r4, #0x54] cmp r0, #0 @@ -14286,7 +14286,7 @@ _020bfd18: ldr r0, _020bff38 ; =gItemManager mov r1, #1 ldr r0, [r0] - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj + bl _ZNK11ItemManager18func_ov00_020ad9e8Ei _020bfd40: str r0, [r4, #0x50] ldr r0, [r4, #0x1c] @@ -14973,7 +14973,7 @@ func_ov00_020c0674: ; 0x020c0674 mov r4, r0 ldr r0, [r1] mov r1, #1 - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj + bl _ZNK11ItemManager18func_ov00_020ad9e8Ei ldr r2, [r4, #0x40] mov r1, #0x18 mul r3, r2, r1 @@ -15087,7 +15087,7 @@ func_ov00_020c0770: ; 0x020c0770 ldr r0, _020c07f4 ; =gItemManager mov r1, #2 ldr r0, [r0] - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj + bl _ZNK11ItemManager18func_ov00_020ad9e8Ei cmp r0, #1 movge r1, #1 ldrb r0, [r4, #0xc] @@ -17270,7 +17270,7 @@ _020c208c: str ip, [sp, #0x34] str r3, [sp, #0x38] str r2, [sp, #0x3c] - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj + bl _ZNK11ItemManager18func_ov00_020ad9e8Ei cmp r0, #1 movge r0, #3 strge r0, [sp, #0x40] diff --git a/asm/ov02.s b/asm/ov02.s index 8e9e20ee..89e304f2 100644 --- a/asm/ov02.s +++ b/asm/ov02.s @@ -1992,7 +1992,7 @@ _020f0928: bl func_ov02_020eed40 mov r1, r0 mov r0, r6 - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj + bl _ZNK11ItemManager18func_ov00_020ada48Ei cmp r0, #1 blt _020f0968 cmp r4, #2 @@ -2592,7 +2592,7 @@ func_ov02_020f0ffc: ; 0x020f0ffc bl func_ov02_020eed40 mov r1, r0 mov r0, r7 - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj + bl _ZNK11ItemManager18func_ov00_020ada48Ei cmp r0, #0 addle sp, sp, #0x28 ldmleia sp!, {r3, r4, r5, r6, r7, pc} diff --git a/asm/ov20.s b/asm/ov20.s index 57e639b4..e6ddbb7e 100644 --- a/asm/ov20.s +++ b/asm/ov20.s @@ -8638,7 +8638,7 @@ func_ov20_021749dc: ; 0x021749dc mov r6, r0 ldr r0, [r1] mov r1, #2 - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj + bl _ZNK11ItemManager18func_ov00_020ad9e8Ei cmp r0, #1 movge r5, #1 ldrb r0, [r6, #0x446] @@ -8703,7 +8703,7 @@ _02174a20: str r4, [sp, #0x20] str r3, [sp, #0x24] str r2, [sp, #0x28] - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj + bl _ZNK11ItemManager18func_ov00_020ad9e8Ei cmp r0, #1 movge r0, #3 strge r0, [sp, #0x2c] diff --git a/asm/ov24.s b/asm/ov24.s index 8986219b..11c7d1ec 100644 --- a/asm/ov24.s +++ b/asm/ov24.s @@ -9737,7 +9737,7 @@ _02175624: ldr r0, _02175ed0 ; =gItemManager mov r1, #2 ldr r0, [r0] - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj + bl _ZNK11ItemManager18func_ov00_020ad9e8Ei cmp r0, #1 blt _021756e8 add r1, r4, #0x2a8 diff --git a/asm/ov25.s b/asm/ov25.s index 8649037d..df52f1eb 100644 --- a/asm/ov25.s +++ b/asm/ov25.s @@ -12901,7 +12901,7 @@ _021783b0: ldr r0, _02178504 ; =gItemManager mov r1, #2 ldr r0, [r0] - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj + bl _ZNK11ItemManager18func_ov00_020ad9e8Ei cmp r0, #1 blt _02178404 bl func_ov25_0217850c diff --git a/asm/ov26.s b/asm/ov26.s index a86b335c..b55f1062 100644 --- a/asm/ov26.s +++ b/asm/ov26.s @@ -4157,7 +4157,7 @@ func_ov26_02170894: ; 0x02170894 ldr r0, _02170934 ; =gItemManager mov r1, #1 ldr r0, [r0] - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj + bl _ZNK11ItemManager18func_ov00_020ad9e8Ei cmp r0, #1 blt _021708e4 _021708dc: diff --git a/asm/ov28.s b/asm/ov28.s index b346390a..18a4aa35 100644 --- a/asm/ov28.s +++ b/asm/ov28.s @@ -6309,7 +6309,7 @@ func_ov28_0217280c: ; 0x0217280c mov r1, #1 mov r8, r2 str r3, [sl, #0x20c] - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj + bl _ZNK11ItemManager18func_ov00_020ada48Ei cmp r0, #0 beq _02172870 cmp r0, #1 @@ -6322,7 +6322,7 @@ _02172870: _02172878: mov r0, r7 mov r1, #2 - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj + bl _ZNK11ItemManager18func_ov00_020ada48Ei cmp r0, #0 beq _0217289c cmp r0, #1 @@ -6335,7 +6335,7 @@ _0217289c: _021728a4: mov r0, r7 mov r1, #0 - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj + bl _ZNK11ItemManager18func_ov00_020ada48Ei cmp r0, #0 beq _021728c8 cmp r0, #1 @@ -6422,7 +6422,7 @@ _02172998: ldr r0, [r0] add r2, r0, r1 ldrb r4, [r2, #0x24] - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj + bl _ZNK11ItemManager18func_ov00_020ada48Ei cmp r0, #0 beq _021729d0 cmp r0, #1 @@ -6451,7 +6451,7 @@ _021729f4: ldrb r2, [r2, #0x24] cmp r2, #0x14 bne _02172a2c - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj + bl _ZNK11ItemManager18func_ov00_020ada48Ei cmp r0, #0 moveq r0, #2 movne r0, #1 @@ -6479,7 +6479,7 @@ func_ov28_02172a44: ; 0x02172a44 ldr r1, _02172a84 ; =data_ov28_021782e0 ldr r0, [r0] ldr r1, [r1, r2, lsl #2] - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9a48EjEj + bl _ZNK11ItemManager18func_ov00_020ada48Ei cmp r0, #2 movge r0, #1 ldmgeia sp!, {r3, pc} diff --git a/asm/ov30.s b/asm/ov30.s index 237b79b7..d4e0bc8a 100644 --- a/asm/ov30.s +++ b/asm/ov30.s @@ -7002,7 +7002,7 @@ _0218146c: ldr r0, _02181804 ; =gItemManager mov r1, #1 ldr r0, [r0] - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj + bl _ZNK11ItemManager18func_ov00_020ad9e8Ei cmp r0, #1 blt _021814b4 mov r2, #5 diff --git a/asm/ov44.s b/asm/ov44.s index ec59a3a3..93a2441d 100644 --- a/asm/ov44.s +++ b/asm/ov44.s @@ -4886,7 +4886,7 @@ _0218d008: ldr r0, _0218d078 ; =gItemManager mov r1, #1 ldr r0, [r0] - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj + bl _ZNK11ItemManager18func_ov00_020ad9e8Ei cmp r0, #1 blt _0218d048 mov r0, r5 diff --git a/asm/ov47.s b/asm/ov47.s index 94c7f013..e47dd42d 100644 --- a/asm/ov47.s +++ b/asm/ov47.s @@ -4794,7 +4794,7 @@ func_ov47_02193f78: ; 0x02193f78 ldr r0, [r0] mov r1, #2 str r2, [sp, #4] - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj + bl _ZNK11ItemManager18func_ov00_020ad9e8Ei cmp r0, #1 blt _02194028 add r1, sp, #0 diff --git a/asm/ov48.s b/asm/ov48.s index 0efae10f..552f1dfb 100644 --- a/asm/ov48.s +++ b/asm/ov48.s @@ -726,7 +726,7 @@ _02190838: ldr r0, _021908a8 ; =gItemManager mov r1, #1 ldr r0, [r0] - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj + bl _ZNK11ItemManager18func_ov00_020ad9e8Ei cmp r0, #1 blt _02190878 mov r0, r5 @@ -2058,7 +2058,7 @@ _021918a4: mov r1, #2 ldr r0, [r0] mov r5, #0 - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj + bl _ZNK11ItemManager18func_ov00_020ad9e8Ei cmp r0, #1 blt _02191964 bl func_ov48_02191c50 @@ -3227,7 +3227,7 @@ _0219266c: ldr r0, _02193160 ; =gItemManager mov r1, #2 ldr r0, [r0] - bl _ZNK11ItemManager18_ZNK11ItemManager18func_ov00_020ad9e8EjEj + bl _ZNK11ItemManager18func_ov00_020ad9e8Ei cmp r0, #1 blt _02192714 mov r6, r5 diff --git a/include/ItemManager.hpp b/include/ItemManager.hpp index c4e62630..fd12b7a0 100644 --- a/include/ItemManager.hpp +++ b/include/ItemManager.hpp @@ -221,7 +221,9 @@ private: /* 138 */ u32 mSalvagedTreasureFlags; /* 13c */ ShipPartPricesShown mShipPartPricesShown; /* 148 */ u32 mTreasurePriceShownFlags[CEIL_DIV(Treasure_COUNT, 32)]; - /* 14c */ unk8 mUnk_14c[0x4]; + /* 14c */ unk8 mUnk_14c; + /* 14d */ unk8 mUnk_14d; + /* 14e */ unk8 mUnk_14e[0x2]; /* 150 */ public: @@ -237,7 +239,8 @@ public: // Fairy FairyId GetEquippedFairy() const; Navi* GetFairy(FairyId id) const; - unk32 _ZNK11ItemManager18func_ov00_020ad9e8Ej(FairyId id) const; + unk32 func_ov00_020ad9e8(FairyId id) const; + unk32 func_ov00_020ada48(FairyId id) const; // Equip item void ClearPrevEquippedItem(); @@ -300,7 +303,6 @@ public: void SetUnk_09e(u32 index, u16 value); // also increments the corresponding mUnk_098 value // Item - unk32 func_ov00_020ad9a48(ItemFlag item) const; bool HasItem(ItemFlag item) const; void AddItem(ItemFlag item); void RemoveItem(ItemFlag item); diff --git a/src/ItemManager.cpp b/src/ItemManager.cpp index f6109c79..d9106486 100644 --- a/src/ItemManager.cpp +++ b/src/ItemManager.cpp @@ -342,3 +342,12 @@ THUMB u8 ItemManager::GetMaxShipPartCount() const { THUMB u8 ItemManager::GetMaxTreasureCount() const { return 99; } + +ARM unk32 ItemManager::func_ov00_020ad9e8(FairyId id) const { + if (this->mEquippedFairy == FairyId_None) return 0; + FairyId fairy = this->GetEquippedFairy(); + if (fairy == FairyId_Courage && this->mUnk_14d != 0) return 0; + fairy = this->GetEquippedFairy(); + if (id == fairy) return this->func_ov00_020ada48(id); + return 0; +}