diff --git a/asm/include/ov03.inc b/asm/include/ov03.inc index 3e94acbd..51f668e4 100644 --- a/asm/include/ov03.inc +++ b/asm/include/ov03.inc @@ -759,9 +759,9 @@ .extern data_027e0f90 .extern func_ov00_020cf8fc .extern func_ov00_020cefbc -.extern _ZN11ItemManager18func_ov00_020ad790Ej +.extern _ZN11ItemManager18func_ov00_020ad790Ei .extern func_ov00_020cefbc -.extern _ZN11ItemManager18func_ov00_020ad790Ej +.extern _ZN11ItemManager18func_ov00_020ad790Ei .extern func_ov00_020d77e4 .extern _ZNK11ItemManager15GetEquippedItemEv .extern _ZN11ItemManager12GetEquipItemEi @@ -827,7 +827,7 @@ .extern data_027e0c38 .extern gItemManager .extern func_ov00_020cf444 -.extern _ZN11ItemManager18func_ov00_020ad790Ej +.extern _ZN11ItemManager18func_ov00_020ad790Ei .extern data_027e103c .extern gItemManager .extern data_027e0fb8 @@ -846,7 +846,7 @@ .extern func_ov14_02153678 .extern func_ov14_0215364c .extern func_ov14_02153924 -.extern _ZN11ItemManager18func_ov00_020ad790Ej +.extern _ZN11ItemManager18func_ov00_020ad790Ei .extern func_02034984 .extern data_027e0c38 .extern gItemManager @@ -861,10 +861,10 @@ .extern data_027e0e28 .extern func_ov00_020d0a14 .extern func_ov00_020d0a14 -.extern _ZN11ItemManager18func_ov00_020ad790Ej +.extern _ZN11ItemManager18func_ov00_020ad790Ei .extern func_020349cc .extern gItemManager -.extern _ZN11ItemManager18func_ov00_020ad790Ej +.extern _ZN11ItemManager18func_ov00_020ad790Ei .extern func_020349cc .extern func_0203493c .extern gItemManager diff --git a/asm/include/ov04.inc b/asm/include/ov04.inc index ec55f877..03e6303a 100644 --- a/asm/include/ov04.inc +++ b/asm/include/ov04.inc @@ -1161,7 +1161,7 @@ .extern gItemManager .extern func_ov00_020b7d74 .extern data_02057200 -.extern _ZNK11ItemManager18func_ov00_020ad538Ej +.extern _ZNK11ItemManager18func_ov00_020ad538Ei .extern func_ov00_020c0c44 .extern func_ov00_020c0e5c .extern func_ov00_020a9960 @@ -1696,7 +1696,7 @@ .extern _ZN11ItemManager12GetItemModelEj .extern _ZN9SysObjectnwEmPjj .extern func_ov00_020a9588 -.extern _ZNK11ItemManager18func_ov00_020ad538Ej +.extern _ZNK11ItemManager18func_ov00_020ad538Ei .extern _ZN9SysObjectnwEmPjj .extern func_ov00_020c0e5c .extern func_ov00_020bb3f4 diff --git a/asm/include/ov12.inc b/asm/include/ov12.inc index 5cd54c52..fa9630be 100644 --- a/asm/include/ov12.inc +++ b/asm/include/ov12.inc @@ -700,8 +700,8 @@ .extern data_02050f54 .extern func_ov00_020a9bec .extern func_ov00_020b4944 -.extern _ZN11ItemManager15Shield_vfunc_38Ej -.extern _ZN11ItemManager18EquipItem_vfunc_38Ej +.extern _ZN11ItemManager15Shield_vfunc_38Ei +.extern _ZN11ItemManager18EquipItem_vfunc_38Ei .extern gItemManager .extern func_ov00_020d7b20 .extern data_ov00_020dc878 @@ -1766,7 +1766,7 @@ .extern data_027e0e60 .extern data_027e0d0c .extern func_ov00_020d4494 -.extern _ZNK11ItemManager18func_ov00_020ad594Ej +.extern _ZNK11ItemManager18func_ov00_020ad594Ei .extern func_ov00_020bb378 .extern func_ov00_020c0cc8 .extern gItemManager diff --git a/asm/include/ov14.inc b/asm/include/ov14.inc index cda25c4c..46f1452e 100644 --- a/asm/include/ov14.inc +++ b/asm/include/ov14.inc @@ -259,7 +259,7 @@ .extern func_ov00_020c1730 .extern _ZN9SysObjectdlEPv .extern _ZN11ItemManager12GetItemModelEj -.extern _ZNK11ItemManager18func_ov00_020ad560Ej +.extern _ZNK11ItemManager18func_ov00_020ad560Ei .extern func_ov00_020a9588 .extern func_ov00_0208ccdc .extern func_ov00_0208cd0c @@ -3271,7 +3271,7 @@ .extern func_ov00_02083ee0 .extern data_027e0e60 .extern func_ov00_020b4944 -.extern _ZN11ItemManager18EquipItem_vfunc_38Ej +.extern _ZN11ItemManager18EquipItem_vfunc_38Ei .extern gItemManager .extern func_ov05_02102c2c .extern data_ov00_020e9370 diff --git a/asm/include/ov17.inc b/asm/include/ov17.inc index ec519ecf..1f95bc86 100644 --- a/asm/include/ov17.inc +++ b/asm/include/ov17.inc @@ -294,7 +294,7 @@ .extern data_027e0ffc .extern data_027e0e58 .extern func_ov00_020d4494 -.extern _ZNK11ItemManager18func_ov00_020ad594Ej +.extern _ZNK11ItemManager18func_ov00_020ad594Ei .extern func_ov00_020bb378 .extern func_ov00_020c0cc8 .extern func_ov00_020c0e24 diff --git a/asm/include/ov58.inc b/asm/include/ov58.inc index b9b7e44d..e83ba79c 100644 --- a/asm/include/ov58.inc +++ b/asm/include/ov58.inc @@ -18,7 +18,7 @@ .extern _ZN11ItemManager12GetItemModelEj .extern func_ov00_020a9614 .extern _ZN11ItemManager12GetItemModelEj -.extern _ZNK11ItemManager18func_ov00_020ad538Ej +.extern _ZNK11ItemManager18func_ov00_020ad538Ei .extern func_ov00_020c0c44 .extern func_ov00_020c0e5c .extern func_ov00_020a97e0 diff --git a/asm/include/ov59.inc b/asm/include/ov59.inc index 3dbdb1d6..5e255b0d 100644 --- a/asm/include/ov59.inc +++ b/asm/include/ov59.inc @@ -44,7 +44,7 @@ .extern func_ov00_020b0240 .extern func_01ff9bf8 .extern func_01ffa0f4 -.extern _ZNK11ItemManager18func_ov00_020ad538Ej +.extern _ZNK11ItemManager18func_ov00_020ad538Ei .extern func_ov00_020b0240 .extern func_01ff9bf8 .extern func_01ffa0f4 @@ -106,7 +106,7 @@ .extern data_027e0fe4 .extern data_027e0d38 .extern data_027e1038 -.extern _ZNK11ItemManager18func_ov00_020ad538Ej +.extern _ZNK11ItemManager18func_ov00_020ad538Ei .extern func_0202b2f8 .extern func_01ffbf5c .extern func_0202b2f8 @@ -134,10 +134,10 @@ .extern func_ov00_020b0240 .extern func_01ffbf5c .extern func_ov00_020b853c -.extern _ZNK11ItemManager18func_ov00_020ad538Ej +.extern _ZNK11ItemManager18func_ov00_020ad538Ei .extern func_ov00_020c0c44 .extern func_ov00_020c0e5c -.extern _ZNK11ItemManager18func_ov00_020ad538Ej +.extern _ZNK11ItemManager18func_ov00_020ad538Ei .extern func_ov00_020c0c44 .extern func_ov00_020c0e5c .extern data_027e0fd4 diff --git a/asm/ov00/ItemManager/include/ItemManager.inc b/asm/ov00/ItemManager/include/ItemManager.inc index eff72e42..223e6697 100644 --- a/asm/ov00/ItemManager/include/ItemManager.inc +++ b/asm/ov00/ItemManager/include/ItemManager.inc @@ -80,6 +80,6 @@ .extern gItemManager .extern data_ov00_020eec68 .extern _ZN11ItemManager14Sword_vfunc_38Ej -.extern _ZN11ItemManager15Shield_vfunc_38Ej +.extern _ZN11ItemManager15Shield_vfunc_38Ei .extern _ZN11ItemManager12GetEquipItemEi .extern _ZNK11ItemManager10GetMaxAmmoEi diff --git a/asm/ov00/include/ov00_020ae7a4.inc b/asm/ov00/include/ov00_020ae7a4.inc index 53dd4841..9790631f 100644 --- a/asm/ov00/include/ov00_020ae7a4.inc +++ b/asm/ov00/include/ov00_020ae7a4.inc @@ -84,8 +84,8 @@ .extern _ZNK11ItemManager9HasPotionEj .extern _ZNK11ItemManager9HasPotionEj .extern func_ov00_02078b40 -.extern _ZN11ItemManager18func_ov00_020ad790Ej -.extern _ZN11ItemManager18func_ov00_020ad790Ej +.extern _ZN11ItemManager18func_ov00_020ad790Ei +.extern _ZN11ItemManager18func_ov00_020ad790Ei .extern _ZNK11ItemManager8GetFairyEi .extern data_027e0f74 .extern data_027e0c68 @@ -216,7 +216,7 @@ .extern func_01ffe468 .extern data_027e0f64 .extern data_02050f54 -.extern _ZN11ItemManager18func_ov00_020ad790Ej +.extern _ZN11ItemManager18func_ov00_020ad790Ei .extern _ZNK11ItemManager15GetEquippedItemEv .extern func_ov00_020cf330 .extern func_01ff9cec @@ -2343,7 +2343,7 @@ .extern func_ov03_020f7e0c .extern func_ov03_020f7e18 .extern func_ov09_0211cc8c -.extern _ZN11ItemManager18func_ov00_020ad790Ej +.extern _ZN11ItemManager18func_ov00_020ad790Ei .extern data_027e0fb8 .extern gItemManager .extern func_ov00_020a5e9c diff --git a/asm/ov00/ov00_020ae7a4.s b/asm/ov00/ov00_020ae7a4.s index 56f9bd94..513dcdd9 100644 --- a/asm/ov00/ov00_020ae7a4.s +++ b/asm/ov00/ov00_020ae7a4.s @@ -803,7 +803,7 @@ _020af124: ldr r0, _020af288 ; =gItemManager strb r1, [r6, #0x7b] ldr r0, [r0] - bl _ZN11ItemManager18func_ov00_020ad790Ej + bl _ZN11ItemManager18func_ov00_020ad790Ei ldrb r1, [r6, #0x7b] tst r1, r0 movne r0, #1 @@ -854,7 +854,7 @@ _020af1f8: ldr r0, _020af288 ; =gItemManager mov r1, #1 ldr r0, [r0] - bl _ZN11ItemManager18func_ov00_020ad790Ej + bl _ZN11ItemManager18func_ov00_020ad790Ei ldrb r1, [r6, #0x7b] tst r1, r0 movne r0, #1 @@ -2720,7 +2720,7 @@ func_ov00_020b0b0c: ; 0x020b0b0c ldr r0, _020b0de0 ; =gItemManager mov r1, #1 ldr r0, [r0] - bl _ZN11ItemManager18func_ov00_020ad790Ej + bl _ZN11ItemManager18func_ov00_020ad790Ei cmp r0, #0 beq _020b0b80 ldr r0, _020b0de0 ; =gItemManager @@ -41816,7 +41816,7 @@ func_ov00_020cf444: ; 0x020cf444 ldr r0, _020cf484 ; =gItemManager mov r1, #1 ldr r0, [r0] - bl _ZN11ItemManager18func_ov00_020ad790Ej + bl _ZN11ItemManager18func_ov00_020ad790Ei cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} diff --git a/asm/ov03.s b/asm/ov03.s index 95ad9071..86769eda 100644 --- a/asm/ov03.s +++ b/asm/ov03.s @@ -12993,7 +12993,7 @@ _020f680c: ldr r0, _020f69c8 ; =gItemManager mov r1, #1 ldr r0, [r0] - bl _ZN11ItemManager18func_ov00_020ad790Ej + bl _ZN11ItemManager18func_ov00_020ad790Ei cmp r0, #0 beq _020f68d8 ldr r0, _020f69b8 ; =data_027e0c68 @@ -13061,7 +13061,7 @@ _020f68d8: ldr r0, _020f69c8 ; =gItemManager mov r1, #0 ldr r0, [r0] - bl _ZN11ItemManager18func_ov00_020ad790Ej + bl _ZN11ItemManager18func_ov00_020ad790Ei cmp r0, #0 bne _020f693c ldr r0, _020f69d0 ; =data_ov00_020eec9c @@ -13612,7 +13612,7 @@ _020f7068: ldr r0, _020f70bc ; =gItemManager mov r1, #1 ldr r0, [r0] - bl _ZN11ItemManager18func_ov00_020ad790Ej + bl _ZN11ItemManager18func_ov00_020ad790Ei cmp r0, #0 beq _020f70ac ldr r0, _020f70c0 ; =data_027e0fb8 @@ -13751,7 +13751,7 @@ _020f7240: ldr r0, _020f72ac ; =gItemManager mov r1, #0 ldr r0, [r0] - bl _ZN11ItemManager18func_ov00_020ad790Ej + bl _ZN11ItemManager18func_ov00_020ad790Ei cmp r0, #0 addne sp, sp, #0x4c ldmneia sp!, {r4, r5, r6, r7, r8, sb, pc} @@ -13865,7 +13865,7 @@ func_ov03_020f7398: ; 0x020f7398 ldr r0, _020f7410 ; =gItemManager mov r1, #0 ldr r0, [r0] - bl _ZN11ItemManager18func_ov00_020ad790Ej + bl _ZN11ItemManager18func_ov00_020ad790Ei cmp r0, #0 beq _020f7404 mov r3, r5 @@ -13904,7 +13904,7 @@ func_ov03_020f7414: ; 0x020f7414 ldr r0, _020f74b4 ; =gItemManager mov r1, r6 ldr r0, [r0] - bl _ZN11ItemManager18func_ov00_020ad790Ej + bl _ZN11ItemManager18func_ov00_020ad790Ei cmp r0, #0 beq _020f747c mov ip, r6 diff --git a/asm/ov04.s b/asm/ov04.s index bd8a3dfe..cec38c32 100644 --- a/asm/ov04.s +++ b/asm/ov04.s @@ -14471,7 +14471,7 @@ func_ov04_02107b64: ; 0x02107b64 ldr r0, _02107bf4 ; =gItemManager ldr r1, _02107bf8 ; =data_ov00_020dc7d0 ldr r0, [r0] - blx _ZNK11ItemManager18func_ov00_020ad538Ej + blx _ZNK11ItemManager18func_ov00_020ad538Ei add r1, r0, #0 mov r0, #0x2f lsl r0, r0, #4 @@ -22725,7 +22725,7 @@ _0210bad0: ldr r0, _0210bc08 ; =gItemManager ldr r1, _0210bc10 ; =data_ov04_0210f940 ldr r0, [r0] - blx _ZNK11ItemManager18func_ov00_020ad538Ej + blx _ZNK11ItemManager18func_ov00_020ad538Ei add r6, r0, #0 ldr r0, _0210bc0c ; =data_027e0ce0 mov r2, #4 diff --git a/asm/ov12.s b/asm/ov12.s index 5a60d3d2..475b19d1 100644 --- a/asm/ov12.s +++ b/asm/ov12.s @@ -10798,12 +10798,12 @@ func_ov12_0211b8bc: ; 0x0211b8bc ldr r0, _0211b994 ; =gItemManager mov r1, r4 ldr r0, [r0] - bl _ZN11ItemManager15Shield_vfunc_38Ej + bl _ZN11ItemManager15Shield_vfunc_38Ei _0211b96c: ldr r0, _0211b994 ; =gItemManager mov r1, r4 ldr r0, [r0] - bl _ZN11ItemManager18EquipItem_vfunc_38Ej + bl _ZN11ItemManager18EquipItem_vfunc_38Ei _0211b97c: ldr r0, [r5, #0x230] mov r1, #0 @@ -28695,7 +28695,7 @@ func_ov12_0212a2cc: ; 0x0212a2cc ldr r0, _0212a458 ; =gItemManager ldr r1, _0212a45c ; =data_ov12_02134914 ldr r0, [r0] - bl _ZNK11ItemManager18func_ov00_020ad594Ej + bl _ZNK11ItemManager18func_ov00_020ad594Ei ldr r1, _0212a460 ; =data_027e0fc4 mov r5, r0 ldr r0, [r1] diff --git a/asm/ov14.s b/asm/ov14.s index 9c70677b..0d86891e 100644 --- a/asm/ov14.s +++ b/asm/ov14.s @@ -3029,7 +3029,7 @@ _02121da8: mov r5, r0 ldr r0, [r1] ldr r1, _02121ea0 ; =data_ov14_02153b84 - bl _ZNK11ItemManager18func_ov00_020ad560Ej + bl _ZNK11ItemManager18func_ov00_020ad560Ei mov r6, r0 adds r0, r4, #0x15c beq _02121de0 @@ -42847,7 +42847,7 @@ func_ov14_021419d8: ; 0x021419d8 ldr r0, _02141a70 ; =gItemManager ldrb r1, [r4, #0x4c0] ldr r0, [r0] - bl _ZN11ItemManager18EquipItem_vfunc_38Ej + bl _ZN11ItemManager18EquipItem_vfunc_38Ei ldrb r0, [r4, #0x4c0] cmp r0, #0 ldmneia sp!, {r4, pc} diff --git a/asm/ov17.s b/asm/ov17.s index 7c81bc72..7a00ffe1 100644 --- a/asm/ov17.s +++ b/asm/ov17.s @@ -4153,7 +4153,7 @@ func_ov17_0215e8f4: ; 0x0215e8f4 ldr r0, _0215e9dc ; =gItemManager ldr r1, _0215e9e0 ; =data_ov17_0216b0ac ldr r0, [r0] - bl _ZNK11ItemManager18func_ov00_020ad594Ej + bl _ZNK11ItemManager18func_ov00_020ad594Ei ldr r1, _0215e9e4 ; =data_027e0fc4 mov r5, r0 ldr r0, [r1] diff --git a/asm/ov58.s b/asm/ov58.s index dbb31a8d..ad99c899 100644 --- a/asm/ov58.s +++ b/asm/ov58.s @@ -236,7 +236,7 @@ func_ov58_02198fc0: ; 0x02198fc0 ldr r0, _02199020 ; =gItemManager ldr r1, _02199030 ; =data_ov58_0219ad68 ldr r0, [r0] - blx _ZNK11ItemManager18func_ov00_020ad538Ej + blx _ZNK11ItemManager18func_ov00_020ad538Ei add r1, r0, #0 ldr r0, _02199034 ; =data_ov58_0219b0a0 blx func_ov00_020c0c44 diff --git a/asm/ov59.s b/asm/ov59.s index 0b69014f..9d9f550f 100644 --- a/asm/ov59.s +++ b/asm/ov59.s @@ -576,7 +576,7 @@ _02199408: ldr r0, _0219a068 ; =gItemManager ldr r1, _0219a06c ; =data_ov59_0219b110 ldr r0, [r0] - bl _ZNK11ItemManager18func_ov00_020ad538Ej + bl _ZNK11ItemManager18func_ov00_020ad538Ei ldr r1, [r4, #0x2f4] mov r5, r0 ldr r0, [r1, #8] @@ -1439,7 +1439,7 @@ func_ov59_0219a0ac: ; 0x0219a0ac ldr r4, [r1, #8] ldr r0, [r0] ldr r1, _0219a9ec ; =data_ov59_0219b110 - bl _ZNK11ItemManager18func_ov00_020ad538Ej + bl _ZNK11ItemManager18func_ov00_020ad538Ei cmp r4, r0 addeq sp, sp, #0x220 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} @@ -2346,7 +2346,7 @@ _0219ae8c: ldr r0, _0219af08 ; =gItemManager ldr r1, _0219af0c ; =data_ov00_020dc7d0 ldr r0, [r0] - bl _ZNK11ItemManager18func_ov00_020ad538Ej + bl _ZNK11ItemManager18func_ov00_020ad538Ei mov r1, r0 add r0, r5, #0x2f0 bl func_ov00_020c0c44 @@ -2361,7 +2361,7 @@ _0219aebc: str r1, [r5, #0x348] ldr r0, [r0] ldr r1, _0219af10 ; =data_ov00_020dc7e4 - bl _ZNK11ItemManager18func_ov00_020ad538Ej + bl _ZNK11ItemManager18func_ov00_020ad538Ei mov r1, r0 add r0, r5, #0x2f0 bl func_ov00_020c0c44 diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index 42445af7..ca0ddad0 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -155,7 +155,7 @@ struct SaveItemManager { /* 74 */ s8 treasure[Treasure_COUNT]; /* 7c */ unk8 unk_7c[4]; /* 80 */ u16 hourglassSeconds; - /* 82 */ unk16 unk_82[6]; + /* 82 */ u16 unk_82[6]; /* 8e */ u16 numRupees; /* 90 */ unk8 unk_90; /* 91 */ unk8 unk_91; @@ -169,7 +169,7 @@ struct SaveItemManager { /* 9c */ u8 quiverSize; /* 9d */ u8 bombBagSize; /* 9e */ u8 bombchuBagSize; - /* 9f */ unk8 unk_9f[6]; + /* 9f */ u8 unk_9f[6]; /* a5 */ u8 equippedFairy; /* a6 */ }; @@ -212,7 +212,7 @@ private: /* 13c */ ShipPartPricesShown mShipPartPricesShown; /* 148 */ u32 mTreasurePriceShownFlags[CEIL_DIV(Treasure_COUNT, 32)]; /* 14c */ unk8 mUnk_14c; - /* 14d */ unk8 mUnk_14d; + /* 14d */ u8 mUnk_14d; /* 14e */ unk8 mUnk_14e[0x2]; /* 150 */ diff --git a/include/lib/math.h b/include/lib/math.h index 67a8b9cc..86c483a0 100644 --- a/include/lib/math.h +++ b/include/lib/math.h @@ -4,7 +4,9 @@ #include "types.h" // Q20.12 fixed point number -typedef u32 q20; +typedef s32 q20; +// Q4.12 fixed point number +typedef s16 q4; #define INT_TO_Q20(n) ((s32)((n) << 12)) #define FLOAT_TO_Q20(n) ((s32)(((n) * 8192 + 1) / 2)) diff --git a/include/types.h b/include/types.h index af5cda8c..baa3fb32 100644 --- a/include/types.h +++ b/include/types.h @@ -9,9 +9,9 @@ typedef int s32; typedef short s16; typedef char s8; -typedef u8 unk8; -typedef u16 unk16; -typedef u32 unk32; +typedef s8 unk8; +typedef s16 unk16; +typedef s32 unk32; #define CEIL_DIV(a, b) (((a) + (b) - 1) / (b))