From c1a88eda40185cc776316d1ede45bb4e67953afd Mon Sep 17 00:00:00 2001 From: Ogre Date: Wed, 6 Sep 2023 17:28:28 +0200 Subject: [PATCH] Completed refactor Renamed `43100.c` to `item.c` Build: OK --- include/item.h | 44 ++-- splat.yaml | 4 +- src/{overlays/overlay0 => }/3F1B0.c | 40 ++-- src/3FE70.c | 15 ++ src/{overlays/overlay1 => }/42C30.c | 0 src/4D5C0.c | 228 +++++++++++++++++++++ src/{overlays/overlay1 => }/5C060.c | 0 src/item.c | 307 ++++++++++++++++++++++++++++ src/overlays/overlay0/3FE70.c | 15 -- src/overlays/overlay1/43100.c | 307 ---------------------------- src/overlays/overlay1/4D5C0.c | 228 --------------------- symbol_addrs.txt | 2 + 12 files changed, 595 insertions(+), 595 deletions(-) rename src/{overlays/overlay0 => }/3F1B0.c (70%) create mode 100644 src/3FE70.c rename src/{overlays/overlay1 => }/42C30.c (100%) create mode 100644 src/4D5C0.c rename src/{overlays/overlay1 => }/5C060.c (100%) create mode 100644 src/item.c delete mode 100644 src/overlays/overlay0/3FE70.c delete mode 100644 src/overlays/overlay1/43100.c delete mode 100644 src/overlays/overlay1/4D5C0.c diff --git a/include/item.h b/include/item.h index 124b93b..c2524d9 100644 --- a/include/item.h +++ b/include/item.h @@ -41,28 +41,28 @@ typedef struct { extern ItemData ITEM_DATA[]; -extern u8 item_get_field_0x0(u16 arg0); -extern Element item_get_element(u16 arg0); -extern u8 item_get_field_0x2(u16 arg0); -extern u16 item_get_field_0x4(u16 arg0); -extern s8 item_get_field_0xc(u16 arg0); -extern s8 item_get_strength(u16 arg0); -extern s8 item_get_vitality(u16 arg0); -extern s8 item_get_intelligence(u16 arg0); -extern s8 item_get_mentality(u16 arg0); -extern s8 item_get_agility(u16 arg0); -extern s8 item_get_dexterity(u16 arg0); -extern s8 item_get_resistance_strike(u16 arg0); -extern s8 item_get_resistance_wind(u16 arg0); -extern s8 item_get_resistance_fire(u16 arg0); -extern s8 item_get_resistance_earth(u16 arg0); -extern s8 item_get_resistance_water(u16 arg0); -extern s8 item_get_resistance_holy(u16 arg0); -extern s8 item_get_resistance_dark(u16 arg0); +extern u8 item_get_field_0x0(u16 index); +extern Element item_get_element(u16 index); +extern u8 item_get_field_0x2(u16 index); +extern u16 item_get_field_0x4(u16 index); +extern s8 item_get_field_0xc(u16 index); +extern s8 item_get_strength(u16 index); +extern s8 item_get_vitality(u16 index); +extern s8 item_get_intelligence(u16 index); +extern s8 item_get_mentality(u16 index); +extern s8 item_get_agility(u16 index); +extern s8 item_get_dexterity(u16 index); +extern s8 item_get_resistance_strike(u16 index); +extern s8 item_get_resistance_wind(u16 index); +extern s8 item_get_resistance_fire(u16 index); +extern s8 item_get_resistance_earth(u16 index); +extern s8 item_get_resistance_water(u16 index); +extern s8 item_get_resistance_holy(u16 index); +extern s8 item_get_resistance_dark(u16 index); -extern u32 item_get_field_0x14_b68(u16 arg0); -extern u32 item_get_field_0x14_b46(u16 arg0); -extern u32 item_get_field_0x14_b24(u16 arg0); -extern u32 item_get_field_0x14_b12(u16 arg0); +extern u32 item_get_field_0x14_b68(u16 index); +extern u32 item_get_field_0x14_b46(u16 index); +extern u32 item_get_field_0x14_b24(u16 index); +extern u32 item_get_field_0x14_b12(u16 index); #endif \ No newline at end of file diff --git a/splat.yaml b/splat.yaml index adef821..58ce03c 100644 --- a/splat.yaml +++ b/splat.yaml @@ -343,7 +343,6 @@ segments: - { start: 0x3F1B0, type: bss, vram: 0x800E9C20 } - type: code - dir: overlays/overlay0 start: 0x3F1B0 vram: 0x800E9C20 bss_size: 0x7F690 @@ -364,7 +363,6 @@ segments: - { start: 0x40E80, type: bss, vram: 0x800EB8F0 } - type: code - dir: overlays/overlay1 start: 0x40E80 vram: 0x8016AF80 bss_size: 0x6C60 @@ -373,7 +371,7 @@ segments: - [0x420D0, asm] - [0x42C30, c] - [0x42C90, asm] - - [0x43100, c] + - [0x43100, c, "item"] - [0x45CB0, asm] - [0x46090, asm] - [0x49510, asm] diff --git a/src/overlays/overlay0/3F1B0.c b/src/3F1B0.c similarity index 70% rename from src/overlays/overlay0/3F1B0.c rename to src/3F1B0.c index 88b2a67..3cb051a 100644 --- a/src/overlays/overlay0/3F1B0.c +++ b/src/3F1B0.c @@ -38,13 +38,13 @@ void func_800E9C20(void) } -INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800E9CEC); +INCLUDE_ASM(const s32, "3F1B0", func_800E9CEC); -INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800E9E34); +INCLUDE_ASM(const s32, "3F1B0", func_800E9E34); -INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA0E4); +INCLUDE_ASM(const s32, "3F1B0", func_800EA0E4); -INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA1C8); +INCLUDE_ASM(const s32, "3F1B0", func_800EA1C8); void func_800EA3BC(SomethingMusic* arg0) { s32 temp_a1; @@ -94,9 +94,9 @@ void func_800EA3E4(SomethingMusic* arg0) { } -INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", __load_song); +INCLUDE_ASM(const s32, "3F1B0", __load_song); -// INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA568); +// INCLUDE_ASM(const s32, "3F1B0", func_800EA568); extern s32 func_80081770(s32); extern void func_80081DF0(const void*); @@ -120,9 +120,9 @@ void func_800EA568(SomethingMusic* arg0) { } -INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA604); +INCLUDE_ASM(const s32, "3F1B0", func_800EA604); -// INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA6B0); +// INCLUDE_ASM(const s32, "3F1B0", func_800EA6B0); void func_800EA6B0(SomethingMusic* arg0, s32 arg1, s32 arg2) { arg0->field_0x4 = arg1 + 1; @@ -131,26 +131,26 @@ void func_800EA6B0(SomethingMusic* arg0, s32 arg1, s32 arg2) { } -INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA6C8); +INCLUDE_ASM(const s32, "3F1B0", func_800EA6C8); -INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA714); +INCLUDE_ASM(const s32, "3F1B0", func_800EA714); -INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA76C); +INCLUDE_ASM(const s32, "3F1B0", func_800EA76C); -INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA7AC); +INCLUDE_ASM(const s32, "3F1B0", func_800EA7AC); -INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA7E4); +INCLUDE_ASM(const s32, "3F1B0", func_800EA7E4); -INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA838); +INCLUDE_ASM(const s32, "3F1B0", func_800EA838); -INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA850); +INCLUDE_ASM(const s32, "3F1B0", func_800EA850); -INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA86C); +INCLUDE_ASM(const s32, "3F1B0", func_800EA86C); -INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA884); +INCLUDE_ASM(const s32, "3F1B0", func_800EA884); -INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA89C); +INCLUDE_ASM(const s32, "3F1B0", func_800EA89C); -INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA8B4); +INCLUDE_ASM(const s32, "3F1B0", func_800EA8B4); -INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA8CC); +INCLUDE_ASM(const s32, "3F1B0", func_800EA8CC); diff --git a/src/3FE70.c b/src/3FE70.c new file mode 100644 index 0000000..ced5e7b --- /dev/null +++ b/src/3FE70.c @@ -0,0 +1,15 @@ +#include "common.h" + +INCLUDE_ASM(const s32, "3FE70", func_800EA8E0); + +INCLUDE_ASM(const s32, "3FE70", func_800EA924); + +INCLUDE_ASM(const s32, "3FE70", func_800EA9BC); + +INCLUDE_ASM(const s32, "3FE70", func_800EAB40); + +INCLUDE_ASM(const s32, "3FE70", func_800EAC24); + +INCLUDE_ASM(const s32, "3FE70", func_800EAF1C); + +INCLUDE_ASM(const s32, "3FE70", func_800EB028); diff --git a/src/overlays/overlay1/42C30.c b/src/42C30.c similarity index 100% rename from src/overlays/overlay1/42C30.c rename to src/42C30.c diff --git a/src/4D5C0.c b/src/4D5C0.c new file mode 100644 index 0000000..4d776bc --- /dev/null +++ b/src/4D5C0.c @@ -0,0 +1,228 @@ +#include "common.h" + +/* 4D5C0 801776C0 */ +void** func_801776C0(void) { + return D_8018FAE4; +} + +/* 4D5CC 801776CC */ +void func_801776CC(void) { + func_80198080(-1); + D_800C4C26 = 0x800E; +} + +/* 4D5F4 801776F4 */ +void** func_801776F4(void) { + return D_8018FAF8; +} + +/* 4D600 80177700 */ +void func_80177700(void) { + func_80198080(0x29); + D_800C4C26 = 0x8014; +} + +/* 4D628 80177728 */ +void** func_80177728(void) { + return D_8018FB0C; +} + +INCLUDE_ASM(const s32, "4D5C0", func_80177734); + +/* 4D88C 8017798C */ +void func_8017798C(void) { + func_8007337C(); + func_801C8864(); +} + +/* 4D8B0 801779B0 */ +void func_801779B0(s32 arg0) { + func_8016C814(); + func_801C889C(arg0); +} + +/* 4D8DC 801779DC */ +void func_801779DC(void) { + func_801B00B0(); +} + +/* 4D8F8 801779F8 */ +void** func_801779F8(void) { + func_80173610(); + return __GLOBAL_WITH__inc_menu_timer; +} + +/* 4D91C 80177A1C */ +void func_80177A1C(void) { + func_8019B2E0(); +} + +/* 4D938 80177A38 */ +void __calls_inc_menu_timer(void) { + switch (__inc_menu_timer()) + { + case 1: + func_80172368(); + func_80172394(); + func_8017223C(1); + func_801707F4(); + D_800C4C26 = D_8018F1A2; + break; + case 2: + D_800C4C26 = 0x8012; + break; + case 3: + D_800C4C26 = 0x17; + break; + case 4: + switch(D_8018FB34) { + case 0: + D_800C4C26 = 0xB; + break; + + case 1: + D_800C4C26 = 0xC; + break; + } + + D_8018FB34 = (D_8018FB34 + 1) % 2; + break; + } +} + + +INCLUDE_ASM(const s32, "4D5C0", func_80177B40); + +INCLUDE_ASM(const s32, "4D5C0", func_80177B5C); + +INCLUDE_ASM(const s32, "4D5C0", func_80177B78); + +INCLUDE_ASM(const s32, "4D5C0", func_80177B84); + +INCLUDE_ASM(const s32, "4D5C0", func_80177CC0); + +INCLUDE_ASM(const s32, "4D5C0", func_80177D04); + +INCLUDE_ASM(const s32, "4D5C0", func_80177D20); + +INCLUDE_ASM(const s32, "4D5C0", func_80177D74); + +INCLUDE_ASM(const s32, "4D5C0", func_80177D80); + +INCLUDE_ASM(const s32, "4D5C0", func_80177DAC); + +INCLUDE_ASM(const s32, "4D5C0", func_80177DE8); + +INCLUDE_ASM(const s32, "4D5C0", func_80177E20); + +INCLUDE_ASM(const s32, "4D5C0", func_80177E4C); + +INCLUDE_ASM(const s32, "4D5C0", func_80177E58); + +INCLUDE_ASM(const s32, "4D5C0", func_80177E74); + +INCLUDE_ASM(const s32, "4D5C0", func_80177EA0); + +INCLUDE_ASM(const s32, "4D5C0", func_80177EBC); + +INCLUDE_ASM(const s32, "4D5C0", func_80177ED8); + +INCLUDE_ASM(const s32, "4D5C0", func_80177EE4); + +INCLUDE_ASM(const s32, "4D5C0", func_80177F00); + +INCLUDE_ASM(const s32, "4D5C0", func_80177F1C); + +INCLUDE_ASM(const s32, "4D5C0", func_80177F38); + +INCLUDE_ASM(const s32, "4D5C0", func_80177F54); + +INCLUDE_ASM(const s32, "4D5C0", func_80177F60); + +INCLUDE_ASM(const s32, "4D5C0", func_80177F7C); + +INCLUDE_ASM(const s32, "4D5C0", func_80177FB4); + +INCLUDE_ASM(const s32, "4D5C0", func_80177FD0); + +INCLUDE_ASM(const s32, "4D5C0", func_80178014); + +INCLUDE_ASM(const s32, "4D5C0", func_80178038); + +INCLUDE_ASM(const s32, "4D5C0", func_80178054); + +INCLUDE_ASM(const s32, "4D5C0", func_80178060); + +INCLUDE_ASM(const s32, "4D5C0", func_8017806C); + +INCLUDE_ASM(const s32, "4D5C0", func_8017809C); + +INCLUDE_ASM(const s32, "4D5C0", func_801780CC); + +INCLUDE_ASM(const s32, "4D5C0", func_801780E8); + +INCLUDE_ASM(const s32, "4D5C0", func_80178104); + +INCLUDE_ASM(const s32, "4D5C0", func_80178110); + +INCLUDE_ASM(const s32, "4D5C0", func_80178250); + +INCLUDE_ASM(const s32, "4D5C0", func_80178280); + +INCLUDE_ASM(const s32, "4D5C0", func_8017829C); + +INCLUDE_ASM(const s32, "4D5C0", func_801782B8); + +INCLUDE_ASM(const s32, "4D5C0", func_801782C4); + +INCLUDE_ASM(const s32, "4D5C0", func_801783A8); + +INCLUDE_ASM(const s32, "4D5C0", func_801783D8); + +INCLUDE_ASM(const s32, "4D5C0", func_801783F4); + +INCLUDE_ASM(const s32, "4D5C0", func_80178410); + +INCLUDE_ASM(const s32, "4D5C0", func_80178444); + +INCLUDE_ASM(const s32, "4D5C0", func_80178460); + +INCLUDE_ASM(const s32, "4D5C0", func_8017846C); + +INCLUDE_ASM(const s32, "4D5C0", func_801784BC); + +INCLUDE_ASM(const s32, "4D5C0", func_8017850C); + +INCLUDE_ASM(const s32, "4D5C0", func_80178534); + +INCLUDE_ASM(const s32, "4D5C0", func_80178548); + +INCLUDE_ASM(const s32, "4D5C0", func_80178898); + +INCLUDE_ASM(const s32, "4D5C0", func_80178900); + +void func_8017892C(void) { } + +INCLUDE_ASM(const s32, "4D5C0", func_80178934); + +INCLUDE_ASM(const s32, "4D5C0", func_80178B20); + +INCLUDE_ASM(const s32, "4D5C0", func_80178B5C); + +INCLUDE_ASM(const s32, "4D5C0", func_80178BF4); + +INCLUDE_ASM(const s32, "4D5C0", func_80178C64); + +INCLUDE_ASM(const s32, "4D5C0", func_80178C90); + +INCLUDE_ASM(const s32, "4D5C0", func_80178CCC); + +INCLUDE_ASM(const s32, "4D5C0", func_80178D10); + +INCLUDE_ASM(const s32, "4D5C0", func_80178D3C); + +INCLUDE_ASM(const s32, "4D5C0", func_80178DFC); + +INCLUDE_ASM(const s32, "4D5C0", func_80178E30); + +INCLUDE_ASM(const s32, "4D5C0", func_80178E60); diff --git a/src/overlays/overlay1/5C060.c b/src/5C060.c similarity index 100% rename from src/overlays/overlay1/5C060.c rename to src/5C060.c diff --git a/src/item.c b/src/item.c new file mode 100644 index 0000000..fb29627 --- /dev/null +++ b/src/item.c @@ -0,0 +1,307 @@ +#include "common.h" + +INCLUDE_ASM(const s32, "item", func_8016D200); + +INCLUDE_ASM(const s32, "item", func_8016D254); + +INCLUDE_ASM(const s32, "item", func_8016D2A8); + +INCLUDE_ASM(const s32, "item", func_8016D2FC); + +INCLUDE_ASM(const s32, "item", func_8016D350); + +INCLUDE_ASM(const s32, "item", func_8016D3A4); + +INCLUDE_ASM(const s32, "item", func_8016D3F8); + +INCLUDE_ASM(const s32, "item", func_8016D44C); + +INCLUDE_ASM(const s32, "item", func_8016D4A0); + +INCLUDE_ASM(const s32, "item", func_8016D4F4); + +INCLUDE_ASM(const s32, "item", func_8016D548); + +INCLUDE_ASM(const s32, "item", func_8016D59C); + +INCLUDE_ASM(const s32, "item", func_8016D5F0); + +INCLUDE_ASM(const s32, "item", func_8016D644); + +INCLUDE_ASM(const s32, "item", func_8016D698); + +INCLUDE_ASM(const s32, "item", func_8016D6EC); + +INCLUDE_ASM(const s32, "item", func_8016D740); + +INCLUDE_ASM(const s32, "item", func_8016D794); + +INCLUDE_ASM(const s32, "item", func_8016D7E8); + +INCLUDE_ASM(const s32, "item", func_8016D83C); + +INCLUDE_ASM(const s32, "item", func_8016D890); + +INCLUDE_ASM(const s32, "item", func_8016D8E4); + +INCLUDE_ASM(const s32, "item", func_8016D938); + +INCLUDE_ASM(const s32, "item", func_8016D98C); + +INCLUDE_ASM(const s32, "item", func_8016D9E0); + +INCLUDE_ASM(const s32, "item", func_8016DA34); + +INCLUDE_ASM(const s32, "item", func_8016DA88); + +INCLUDE_ASM(const s32, "item", func_8016DADC); + +INCLUDE_ASM(const s32, "item", func_8016DB30); + +INCLUDE_ASM(const s32, "item", func_8016DB84); + +INCLUDE_ASM(const s32, "item", func_8016DBD8); + +INCLUDE_ASM(const s32, "item", func_8016DC2C); + +INCLUDE_ASM(const s32, "item", func_8016DC80); + +INCLUDE_ASM(const s32, "item", func_8016DCD4); + +INCLUDE_ASM(const s32, "item", func_8016DD20); + +INCLUDE_ASM(const s32, "item", func_8016DD74); + +INCLUDE_ASM(const s32, "item", func_8016DDC8); + +INCLUDE_ASM(const s32, "item", func_8016DE1C); + +INCLUDE_ASM(const s32, "item", func_8016DE70); + +INCLUDE_ASM(const s32, "item", func_8016DEC4); + +INCLUDE_ASM(const s32, "item", func_8016DF18); + +INCLUDE_ASM(const s32, "item", func_8016DF88); + +INCLUDE_ASM(const s32, "item", func_8016DFDC); + +INCLUDE_ASM(const s32, "item", func_8016E030); + +INCLUDE_ASM(const s32, "item", func_8016E084); + +INCLUDE_ASM(const s32, "item", func_8016E0D8); + +INCLUDE_ASM(const s32, "item", func_8016E140); + +INCLUDE_ASM(const s32, "item", func_8016E174); + +INCLUDE_ASM(const s32, "item", func_8016E1DC); + +INCLUDE_ASM(const s32, "item", func_8016E230); + +INCLUDE_ASM(const s32, "item", func_8016E338); + +INCLUDE_ASM(const s32, "item", func_8016E440); + +INCLUDE_ASM(const s32, "item", func_8016E458); + +INCLUDE_ASM(const s32, "item", func_8016E470); + +INCLUDE_ASM(const s32, "item", func_8016E50C); + +INCLUDE_ASM(const s32, "item", func_8016EA34); + +INCLUDE_ASM(const s32, "item", func_8016EAEC); + +INCLUDE_ASM(const s32, "item", func_8016EBA4); + +INCLUDE_ASM(const s32, "item", func_8016F11C); + +INCLUDE_ASM(const s32, "item", func_8016F4E0); + +INCLUDE_ASM(const s32, "item", func_8016F500); + +INCLUDE_ASM(const s32, "item", func_8016F520); + +INCLUDE_ASM(const s32, "item", func_8016F540); + +INCLUDE_ASM(const s32, "item", func_8016F560); + +INCLUDE_ASM(const s32, "item", func_8016F580); + +INCLUDE_ASM(const s32, "item", func_8016F598); + +INCLUDE_ASM(const s32, "item", func_8016F5B0); + +/* 454C8 8016F5C8 */ +u8 item_get_field_0x0(u16 index) { + return ITEM_DATA[index].field_0x0; +} + +/* 454E0 8016F5E0 */ +Element item_get_element(u16 index) { + Element element; + + element = ITEM_DATA[index].element; + if (element == ELEMENT_UNKNOWN_0x10) { + element = CHARACTER_SLOT_MAGNUS->field_0x1a; + } + return element; +} + +/* 45514 8016F614 */ +u8 item_get_field_0x2(u16 index) { + return ITEM_DATA[index].field_0x2; +} + +/* 4552C 8016F62C */ +u16 item_get_field_0x4(u16 index) { + return ITEM_DATA[index].field_0x4; +} + +/* 45544 8016F644 */ +s8 item_get_field_0xc(u16 index) { + return ITEM_DATA[index].field_0xc; +} + +/* 4555C 8016F65C */ +s8 item_get_strength(u16 index) { + s8 ret; + if (index == 132) { + ret = CHARACTER_SLOT_MAGNUS[0].strength / 20; + } else { + ret = ITEM_DATA[index].strength; + } + return ret; +} + +/* 455AC 8016F6AC */ +s8 item_get_vitality(u16 index) { + s8 ret; + if (index == 132) { + ret = CHARACTER_SLOT_MAGNUS[0].vitality / 20; + } else { + ret = ITEM_DATA[index].vitality; + } + return ret; +} + +/* 455FC 8016F6FC */ +s8 item_get_intelligence(u16 index) { + s8 ret; + if (index == 132) { + ret = CHARACTER_SLOT_MAGNUS[0].intelligence / 20; + } else { + ret = ITEM_DATA[index].intelligence; + } + return ret; +} + +/* 4564C 8016F74C */ +s8 item_get_mentality(u16 index) { + s8 ret; + if (index == 132) { + ret = CHARACTER_SLOT_MAGNUS[0].mentality / 20; + } else { + ret = ITEM_DATA[index].mentality; + } + return ret; +} + +/* 4569C 8016F79C */ +s8 item_get_agility(u16 index) { + s8 ret; + if (index == 132) { + ret = CHARACTER_SLOT_MAGNUS[0].agility / 20; + } else { + ret = ITEM_DATA[index].agility; + } + return ret; +} + +/* 456EC 8016F7EC */ +s8 item_get_dexterity(u16 index) { + s8 ret; + if (index == 132) { + ret = CHARACTER_SLOT_MAGNUS[0].dexterity / 20; + } else { + ret = ITEM_DATA[index].dexterity; + } + return ret; +} + +/* 4573C 8016F83C */ +s8 item_get_resistance_strike(u16 index) { + return ITEM_DATA[index].res_strike; +} + +/* 45754 8016F854 */ +s8 item_get_resistance_wind(u16 index) { + return ITEM_DATA[index].res_wind; +} + +/* 4576C 8016F86C */ +s8 item_get_resistance_fire(u16 index) { + return ITEM_DATA[index].res_fire; +} + +/* 45784 8016F884 */ +s8 item_get_resistance_earth(u16 index) { + return ITEM_DATA[index].res_earth; +} + +/* 4579C 8016F89C */ +s8 item_get_resistance_water(u16 index) { + return ITEM_DATA[index].res_water; +} + +/* 457B4 8016F8B4 */ +s8 item_get_resistance_holy(u16 index) { + return ITEM_DATA[index].res_holy; +} + +/* 457CC 8016F8CC */ +s8 item_get_resistance_dark(u16 index) { + return ITEM_DATA[index].res_dark; +} + +/* 457E4 8016F8E4 */ +u32 item_get_field_0x14_b68(u16 index) { + return ITEM_DATA[index].field_0x14 >> 6; +} + +/* 45800 8016F900 */ +u32 item_get_field_0x14_b46(u16 index) { + return (ITEM_DATA[index].field_0x14 >> 4) & 3; +} + +/* 45820 8016F920 */ +u32 item_get_field_0x14_b24(u16 index) { + return (ITEM_DATA[index].field_0x14 >> 2) & 3; +} + +/* 45840 8016F940 */ +u32 item_get_field_0x14_b12(u16 index) { + return ITEM_DATA[index].field_0x14 & 3; +} + +INCLUDE_ASM(const s32, "item", func_8016F95C); + +INCLUDE_ASM(const s32, "item", func_8016F978); + +INCLUDE_ASM(const s32, "item", func_8016F998); + +INCLUDE_ASM(const s32, "item", func_8016F9B8); + +INCLUDE_ASM(const s32, "item", func_8016F9D4); + +INCLUDE_ASM(const s32, "item", func_8016F9F0); + +INCLUDE_ASM(const s32, "item", func_8016FA34); + +INCLUDE_ASM(const s32, "item", func_8016FB50); + +INCLUDE_ASM(const s32, "item", func_8016FBE0); + +INCLUDE_ASM(const s32, "item", func_8016FCEC); diff --git a/src/overlays/overlay0/3FE70.c b/src/overlays/overlay0/3FE70.c deleted file mode 100644 index de9eba6..0000000 --- a/src/overlays/overlay0/3FE70.c +++ /dev/null @@ -1,15 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(const s32, "overlays/overlay0/3FE70", func_800EA8E0); - -INCLUDE_ASM(const s32, "overlays/overlay0/3FE70", func_800EA924); - -INCLUDE_ASM(const s32, "overlays/overlay0/3FE70", func_800EA9BC); - -INCLUDE_ASM(const s32, "overlays/overlay0/3FE70", func_800EAB40); - -INCLUDE_ASM(const s32, "overlays/overlay0/3FE70", func_800EAC24); - -INCLUDE_ASM(const s32, "overlays/overlay0/3FE70", func_800EAF1C); - -INCLUDE_ASM(const s32, "overlays/overlay0/3FE70", func_800EB028); diff --git a/src/overlays/overlay1/43100.c b/src/overlays/overlay1/43100.c deleted file mode 100644 index 2494e07..0000000 --- a/src/overlays/overlay1/43100.c +++ /dev/null @@ -1,307 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D200); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D254); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D2A8); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D2FC); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D350); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D3A4); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D3F8); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D44C); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D4A0); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D4F4); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D548); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D59C); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D5F0); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D644); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D698); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D6EC); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D740); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D794); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D7E8); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D83C); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D890); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D8E4); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D938); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D98C); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016D9E0); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016DA34); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016DA88); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016DADC); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016DB30); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016DB84); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016DBD8); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016DC2C); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016DC80); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016DCD4); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016DD20); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016DD74); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016DDC8); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016DE1C); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016DE70); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016DEC4); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016DF18); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016DF88); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016DFDC); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016E030); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016E084); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016E0D8); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016E140); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016E174); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016E1DC); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016E230); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016E338); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016E440); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016E458); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016E470); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016E50C); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016EA34); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016EAEC); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016EBA4); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F11C); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F4E0); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F500); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F520); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F540); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F560); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F580); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F598); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F5B0); - -/* 454C8 8016F5C8 */ -u8 item_get_field_0x0(u16 arg0) { - return ITEM_DATA[arg0].field_0x0; -} - -/* 454E0 8016F5E0 */ -Element item_get_element(u16 arg0) { - Element element; - - element = ITEM_DATA[arg0].element; - if (element == ELEMENT_UNKNOWN_0x10) { - element = CHARACTER_SLOT_MAGNUS->field_0x1a; - } - return element; -} - -/* 45514 8016F614 */ -u8 item_get_field_0x2(u16 arg0) { - return ITEM_DATA[arg0].field_0x2; -} - -/* 4552C 8016F62C */ -u16 item_get_field_0x4(u16 arg0) { - return ITEM_DATA[arg0].field_0x4; -} - -/* 45544 8016F644 */ -s8 item_get_field_0xc(u16 arg0) { - return ITEM_DATA[arg0].field_0xc; -} - -/* 4555C 8016F65C */ -s8 item_get_strength(u16 arg0) { - s8 ret; - if (arg0 == 132) { - ret = CHARACTER_SLOT_MAGNUS[0].strength / 20; - } else { - ret = ITEM_DATA[arg0].strength; - } - return ret; -} - -/* 455AC 8016F6AC */ -s8 item_get_vitality(u16 arg0) { - s8 ret; - if (arg0 == 132) { - ret = CHARACTER_SLOT_MAGNUS[0].vitality / 20; - } else { - ret = ITEM_DATA[arg0].vitality; - } - return ret; -} - -/* 455FC 8016F6FC */ -s8 item_get_intelligence(u16 arg0) { - s8 ret; - if (arg0 == 132) { - ret = CHARACTER_SLOT_MAGNUS[0].intelligence / 20; - } else { - ret = ITEM_DATA[arg0].intelligence; - } - return ret; -} - -/* 4564C 8016F74C */ -s8 item_get_mentality(u16 arg0) { - s8 ret; - if (arg0 == 132) { - ret = CHARACTER_SLOT_MAGNUS[0].mentality / 20; - } else { - ret = ITEM_DATA[arg0].mentality; - } - return ret; -} - -/* 4569C 8016F79C */ -s8 item_get_agility(u16 arg0) { - s8 ret; - if (arg0 == 132) { - ret = CHARACTER_SLOT_MAGNUS[0].agility / 20; - } else { - ret = ITEM_DATA[arg0].agility; - } - return ret; -} - -/* 456EC 8016F7EC */ -s8 item_get_dexterity(u16 arg0) { - s8 ret; - if (arg0 == 132) { - ret = CHARACTER_SLOT_MAGNUS[0].dexterity / 20; - } else { - ret = ITEM_DATA[arg0].dexterity; - } - return ret; -} - -/* 4573C 8016F83C */ -s8 item_get_resistance_strike(u16 arg0) { - return ITEM_DATA[arg0].res_strike; -} - -/* 45754 8016F854 */ -s8 item_get_resistance_wind(u16 arg0) { - return ITEM_DATA[arg0].res_wind; -} - -/* 4576C 8016F86C */ -s8 item_get_resistance_fire(u16 arg0) { - return ITEM_DATA[arg0].res_fire; -} - -/* 45784 8016F884 */ -s8 item_get_resistance_earth(u16 arg0) { - return ITEM_DATA[arg0].res_earth; -} - -/* 4579C 8016F89C */ -s8 item_get_resistance_water(u16 arg0) { - return ITEM_DATA[arg0].res_water; -} - -/* 457B4 8016F8B4 */ -s8 item_get_resistance_holy(u16 arg0) { - return ITEM_DATA[arg0].res_holy; -} - -/* 457CC 8016F8CC */ -s8 item_get_resistance_dark(u16 arg0) { - return ITEM_DATA[arg0].res_dark; -} - -/* 457E4 8016F8E4 */ -u32 item_get_field_0x14_b68(u16 arg0) { - return ITEM_DATA[arg0].field_0x14 >> 6; -} - -/* 45800 8016F900 */ -u32 item_get_field_0x14_b46(u16 arg0) { - return (ITEM_DATA[arg0].field_0x14 >> 4) & 3; -} - -/* 45820 8016F920 */ -u32 item_get_field_0x14_b24(u16 arg0) { - return (ITEM_DATA[arg0].field_0x14 >> 2) & 3; -} - -/* 45840 8016F940 */ -u32 item_get_field_0x14_b12(u16 arg0) { - return ITEM_DATA[arg0].field_0x14 & 3; -} - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F95C); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F978); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F998); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F9B8); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F9D4); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F9F0); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016FA34); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016FB50); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016FBE0); - -INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016FCEC); diff --git a/src/overlays/overlay1/4D5C0.c b/src/overlays/overlay1/4D5C0.c deleted file mode 100644 index df5ed70..0000000 --- a/src/overlays/overlay1/4D5C0.c +++ /dev/null @@ -1,228 +0,0 @@ -#include "common.h" - -/* 4D5C0 801776C0 */ -void** func_801776C0(void) { - return D_8018FAE4; -} - -/* 4D5CC 801776CC */ -void func_801776CC(void) { - func_80198080(-1); - D_800C4C26 = 0x800E; -} - -/* 4D5F4 801776F4 */ -void** func_801776F4(void) { - return D_8018FAF8; -} - -/* 4D600 80177700 */ -void func_80177700(void) { - func_80198080(0x29); - D_800C4C26 = 0x8014; -} - -/* 4D628 80177728 */ -void** func_80177728(void) { - return D_8018FB0C; -} - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177734); - -/* 4D88C 8017798C */ -void func_8017798C(void) { - func_8007337C(); - func_801C8864(); -} - -/* 4D8B0 801779B0 */ -void func_801779B0(s32 arg0) { - func_8016C814(); - func_801C889C(arg0); -} - -/* 4D8DC 801779DC */ -void func_801779DC(void) { - func_801B00B0(); -} - -/* 4D8F8 801779F8 */ -void** func_801779F8(void) { - func_80173610(); - return __GLOBAL_WITH__inc_menu_timer; -} - -/* 4D91C 80177A1C */ -void func_80177A1C(void) { - func_8019B2E0(); -} - -/* 4D938 80177A38 */ -void __calls_inc_menu_timer(void) { - switch (__inc_menu_timer()) - { - case 1: - func_80172368(); - func_80172394(); - func_8017223C(1); - func_801707F4(); - D_800C4C26 = D_8018F1A2; - break; - case 2: - D_800C4C26 = 0x8012; - break; - case 3: - D_800C4C26 = 0x17; - break; - case 4: - switch(D_8018FB34) { - case 0: - D_800C4C26 = 0xB; - break; - - case 1: - D_800C4C26 = 0xC; - break; - } - - D_8018FB34 = (D_8018FB34 + 1) % 2; - break; - } -} - - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177B40); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177B5C); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177B78); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177B84); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177CC0); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177D04); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177D20); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177D74); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177D80); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177DAC); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177DE8); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177E20); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177E4C); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177E58); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177E74); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177EA0); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177EBC); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177ED8); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177EE4); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177F00); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177F1C); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177F38); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177F54); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177F60); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177F7C); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177FB4); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80177FD0); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178014); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178038); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178054); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178060); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_8017806C); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_8017809C); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_801780CC); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_801780E8); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178104); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178110); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178250); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178280); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_8017829C); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_801782B8); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_801782C4); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_801783A8); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_801783D8); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_801783F4); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178410); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178444); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178460); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_8017846C); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_801784BC); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_8017850C); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178534); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178548); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178898); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178900); - -void func_8017892C(void) { } - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178934); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178B20); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178B5C); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178BF4); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178C64); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178C90); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178CCC); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178D10); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178D3C); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178DFC); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178E30); - -INCLUDE_ASM(const s32, "overlays/overlay1/4D5C0", func_80178E60); diff --git a/symbol_addrs.txt b/symbol_addrs.txt index 5b75871..a07ebab 100644 --- a/symbol_addrs.txt +++ b/symbol_addrs.txt @@ -24,6 +24,8 @@ item_get_field_0x14_b46 = 0x8016F900; item_get_field_0x14_b24 = 0x8016F920; item_get_field_0x14_b12 = 0x8016F940; +FP_ITEM_GET_RESISTANCE = 0x801EF2B0; + __setup_overlay5 = 0x8017B5EC; __setup_overlay3 = 0x8017B774; __setup_overlay6 = 0x8017B6B0;