Identified more symbols
Decompiled more functions Improved .gitignore Before I do something stupid...
This commit is contained in:
parent
2df8bc6570
commit
d5f043ed1c
|
|
@ -7,3 +7,8 @@ build
|
|||
.vscode
|
||||
|
||||
tools/build
|
||||
|
||||
ogrebattle64.ld
|
||||
undefined_funcs_auto.txt
|
||||
undefined_syms_auto.txt
|
||||
ctx.c
|
||||
|
|
|
|||
|
|
@ -18,12 +18,14 @@ typedef struct {
|
|||
/* 0x14 */ u8 field_0x14[0x2];
|
||||
/* 0x16 */ u16 max_hp;
|
||||
/* 0x18 */ u16 cur_hp;
|
||||
/* 0x1A */ u8 field_0x1a[0x2];
|
||||
/* 0x1A */ u8 field_0x1a;
|
||||
/* 0x1B */ u8 field_0x1b;
|
||||
/* 0x1C */ u16 strength;
|
||||
/* 0x1E */ u16 vitality;
|
||||
/* 0x20 */ u16 intelligence;
|
||||
/* 0x22 */ u16 mem;
|
||||
/* 0x24 */ u16 agility;
|
||||
// DEX affects melee and special attacks, as well as accuracy.
|
||||
/* 0x26 */ u16 dexterity;
|
||||
/* 0x28 */ u8 field_0x28[0x10];
|
||||
} CharacterSlot; // size:0x38
|
||||
|
|
|
|||
|
|
@ -295,4 +295,48 @@ extern u8 D_800A872C;
|
|||
|
||||
extern CharacterSlot CHARACTER_SLOT_MAGNUS[];
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 field_0x0;
|
||||
/* 0x01 */ u8 field_0x1;
|
||||
/* 0x02 */ u8 field_0x2;
|
||||
/* 0x03 */ u8 field_0x3;
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ u8 field_0x5;
|
||||
/* 0x06 */ u8 field_0x6;
|
||||
/* 0x07 */ u8 field_0x7;
|
||||
/* 0x08 */ u8 field_0x8;
|
||||
/* 0x09 */ u8 field_0x9;
|
||||
/* 0x10 */ u8 field_0xa;
|
||||
/* 0x11 */ u8 field_0xb;
|
||||
/* 0x12 */ u8 field_0xc;
|
||||
/* 0x13 */ u8 field_0xd;
|
||||
/* 0x14 */ u8 field_0xe;
|
||||
/* 0x15 */ u8 field_0xf;
|
||||
/* 0x10 */ u8 field_0x10;
|
||||
/* 0x11 */ u8 field_0x11;
|
||||
/* 0x12 */ u8 field_0x12;
|
||||
/* 0x13 */ u8 field_0x13;
|
||||
/* 0x14 */ u8 field_0x14;
|
||||
/* 0x15 */ u8 field_0x15;
|
||||
/* 0x16 */ u8 field_0x16;
|
||||
/* 0x17 */ u8 field_0x17;
|
||||
/* 0x18 */ u8 field_0x18;
|
||||
/* 0x19 */ u8 field_0x19;
|
||||
/* 0x1a */ u8 field_0x1a;
|
||||
/* 0x1b */ u8 field_0x1b;
|
||||
/* 0x1c */ u8 field_0x1c;
|
||||
/* 0x1d */ u8 field_0x1d;
|
||||
/* 0x1e */ u8 field_0x1e;
|
||||
/* 0x1f */ u8 field_0x1f;
|
||||
} __UnkCharacterStats; // size:0x20
|
||||
|
||||
extern u8 D_8018C410[];
|
||||
extern u8 D_8018C411[];
|
||||
extern u8 D_8018C416[];
|
||||
extern u8 D_8018C417[];
|
||||
extern u8 D_8018C41A[];
|
||||
|
||||
extern s8 __magnus_get_vitality(u16 arg0);
|
||||
extern s8 __magnus_get_intelligence(u16 arg0);
|
||||
|
||||
#endif
|
||||
|
|
@ -373,7 +373,7 @@ segments:
|
|||
- [0x420D0, asm]
|
||||
- [0x42C30, c]
|
||||
- [0x42C90, asm]
|
||||
- [0x43100, asm]
|
||||
- [0x43100, c]
|
||||
- [0x45CB0, asm]
|
||||
- [0x46090, asm]
|
||||
- [0x49510, asm]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,238 @@
|
|||
#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 func_8016F5C8(u16 arg0) {
|
||||
return D_8018C410[arg0 * 32];
|
||||
}
|
||||
|
||||
/* 454E0 8016F5E0 */
|
||||
u8 func_8016F5E0(u16 arg0) {
|
||||
u8 var_a0;
|
||||
|
||||
var_a0 = D_8018C411[arg0 * 32];
|
||||
if (var_a0 == 0x10) {
|
||||
var_a0 = CHARACTER_SLOT_MAGNUS->field_0x1a;
|
||||
}
|
||||
return var_a0;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F614);
|
||||
|
||||
INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F62C);
|
||||
|
||||
INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F644);
|
||||
|
||||
/* 4555C 8016F65C */
|
||||
s8 __magnus_get_strength(u16 arg0) {
|
||||
s8 ret;
|
||||
if (arg0 == 132) {
|
||||
ret = CHARACTER_SLOT_MAGNUS[0].strength / 20;
|
||||
} else {
|
||||
ret = D_8018C416[arg0 * 32];
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 455AC 8016F6AC */
|
||||
s8 __magnus_get_vitality(u16 arg0) {
|
||||
s8 ret;
|
||||
if (arg0 == 132) {
|
||||
ret = CHARACTER_SLOT_MAGNUS[0].vitality / 20;
|
||||
} else {
|
||||
ret = D_8018C41A[arg0 * 32];
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 455FC 8016F6FC */
|
||||
s8 __magnus_get_intelligence(u16 arg0) {
|
||||
s8 ret;
|
||||
if (arg0 == 132) {
|
||||
ret = CHARACTER_SLOT_MAGNUS[0].intelligence / 20;
|
||||
} else {
|
||||
ret = D_8018C417[arg0 * 32];
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(const s32, "overlays/overlay1/43100", __magnus_get_mem);
|
||||
|
||||
INCLUDE_ASM(const s32, "overlays/overlay1/43100", __magnus_get_agility);
|
||||
|
||||
INCLUDE_ASM(const s32, "overlays/overlay1/43100", __magnus_get_dexterity);
|
||||
|
||||
INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F83C);
|
||||
|
||||
INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F854);
|
||||
|
||||
INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F86C);
|
||||
|
||||
INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F884);
|
||||
|
||||
INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F89C);
|
||||
|
||||
INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F8B4);
|
||||
|
||||
INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F8CC);
|
||||
|
||||
INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F8E4);
|
||||
|
||||
INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F900);
|
||||
|
||||
INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F920);
|
||||
|
||||
INCLUDE_ASM(const s32, "overlays/overlay1/43100", func_8016F940);
|
||||
|
||||
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);
|
||||
|
|
@ -1,11 +1,19 @@
|
|||
__magnus_get_vitality = 0x8016F6AC;
|
||||
__magnus_get_strength = 0x8016F65C;
|
||||
__magnus_get_intelligence = 0x8016F6FC;
|
||||
__magnus_get_mem = 0x8016F74C;
|
||||
__magnus_get_agility = 0x8016F79C;
|
||||
__magnus_get_dexterity = 0x8016F7EC;
|
||||
|
||||
|
||||
__setup_overlay5 = 0x8017B5EC;
|
||||
__setup_overlay3 = 0x8017B774;
|
||||
__setup_overlay6 = 0x8017B6B0;
|
||||
|
||||
MakeRouteList = 0x801B3620; // rom:0x107D60
|
||||
STR_VALUE_CANNOT_BE_REACHED_MAKE_ROUTE_LIST = 0x801EE0A0;
|
||||
STR_VALUE_CANNOT_BE_REACHED_MAKE_ROUTE_LIST = 0x801EE0A0; // type:asciz
|
||||
Magnetic = 0x801B44DC; // rom:0x108C1C
|
||||
STR_MEM_ERROR_MAGNETIC = 0x801EE0F0;
|
||||
STR_MEM_ERROR_MAGNETIC = 0x801EE0F0; // type:asciz
|
||||
// Obviously wrong translated but whatevs..
|
||||
STR_FAILED_TO_CONTROL_THE_HEATER = 0x800ADE78;
|
||||
STR_EMPTY = 0x800AE334; // type:asciz
|
||||
|
|
@ -22,6 +30,12 @@ NAME_SHEEN = 0x8018E9FC; // type:asciz size:0x6
|
|||
|
||||
CLASS_NAME_DRAGON_MASTER = 0x80190230; // type:asciz
|
||||
|
||||
ITEM_NAME_SWORD = 0x80212E50; // type:asciz rom:0x163FC0
|
||||
ITEM_NAME_GREAT_SWORD = 0x80212E58; // type:asciz rom:0x163FC8
|
||||
ITEM_NAME_THRUSTING_SWORD = 0x80212E64; // type:asciz rom:0x163FC8
|
||||
ITEM_NAME_1HANDED = 0x80212E74; // type:asciz rom:0x163FE4
|
||||
ITEM_NAME_SHORT_SPEAR = 0x80212EA4; // type:asciz rom:0x164014
|
||||
|
||||
__PTR_BIG_STRUCT = 0x80196AF8; // type:u32
|
||||
|
||||
__maybe_get_used_character_slots = 0x8016C048;
|
||||
|
|
@ -57,7 +71,7 @@ STR_CREATING_NEW_DATA = 0x800ADEE8;
|
|||
STR_CREATING_A_NEW_FILE = 0x800ADEC8;
|
||||
STR_ADDING_NEW_DATA = 0x800ADEA4;
|
||||
STR_buSave_SAVING = 0x800ADF08;
|
||||
STR_UNUSEDMALLOCNO_INSUFFICIENT_MEMORY = 0x800ADF88;
|
||||
STR_UNUSEDMALLOCNO_INSUFFICIENT_MEMORY = 0x800ADF88; // type:asciz
|
||||
STR_FILE_NOT_FOUND = 0x800AE2AC;
|
||||
|
||||
D_800A86B8 = 0x800A86B8; // size:0x3 type:u8
|
||||
|
|
|
|||
Loading…
Reference in New Issue