diff --git a/include/common.h b/include/common.h index 2581617..a4e05da 100644 --- a/include/common.h +++ b/include/common.h @@ -1,6 +1,7 @@ #ifndef __COMMON_H__ #define __COMMON_H__ +#include "assert.h" #include "include_asm.h" #include "ultratypes.h" @@ -229,6 +230,21 @@ typedef struct { /* 0x24 */ u8* data_end; } OverlayEntry; // size:0x28 +ASSERT_SIZE(OverlayEntry, 0x28); + +typedef struct { + /* 0x00 */ u32 field_0x0; + /* 0x04 */ u32 field_0x4; + /* 0x08 */ u32 field_0x8; + /* 0x0c */ u32 field_0xc; + /* 0x10 */ u32 field_0x10; +} OverlaySomething; // size:0x14 + +ASSERT_SIZE(OverlaySomething, 0x14); + +extern OverlaySomething* (*D_800AF028[])(void); +extern OverlaySomething* D_800E8294; + extern u8* __SOME_OVERLAY_ID_ARRAY[11]; extern OverlayEntry __SOME_OVERLAY_TABLE[11]; diff --git a/splat.yaml b/splat.yaml index 56803e6..155696b 100644 --- a/splat.yaml +++ b/splat.yaml @@ -9,7 +9,8 @@ options: header_encoding: ASCII platform: n64 asm_inc_header: "" - include_macro_inc: no # don't write macro.inc to rodata files + # Don't write macro.inc to rodata files + include_macro_inc: no # undefined_funcs_auto: True # undefined_funcs_auto_path: undefined_funcs_auto.txt # undefined_syms_auto: True @@ -46,6 +47,7 @@ segments: vram: 0x80070C60 follows_vram: entry bss_size: 0x3AE70 + find_file_boundaries: False subsegments: - [0x1060, asm, "main"] - [0x4AC0, asm] @@ -174,9 +176,11 @@ segments: - [0x224A0, asm, "libultra/gu/ortho"] - [0x22720, asm, "libultra/gu/perspective"] - [0x22AA0, asm, "libultra/gu/position"] - - [0x22E60, asm] + - [0x22E60, asm, "libultra/gu/random"] - [0x22E90, asm, "libultra/gu/rotateRPY"] - [0x231B0, asm, "libultra/gu/sinf"] + - [0x23350, asm, "libc/bcmp"] + - [0x23460, asm, "libc/bcopy"] - [0x23780, asm, "libc/bzero"] - [0x238B0, asm, "libc/sprintf"] - [0x23940, asm, "libc/syncprintf"] @@ -328,7 +332,7 @@ segments: - [0x3EDF0, rodata, "libultra/sched/sched"] - [0x3EE10, rodata, "libultra/io/viswapcontext"] - [0x3EE20, rodata, "libultra/os/exceptasm"] - - [0x3EE70, rodata] + - [0x3EE70, rodata, "libultra/gu/libm_vals"] - [0x3EE80, rodata, "29FE0"] - [0x3F000, rodata, "libc/xlitob"] @@ -360,13 +364,16 @@ segments: start: 0x40E80 vram: 0x8016AF80 bss_size: 0x6C60 + find_file_boundaries: False subsegments: - [0x40E80, asm] - [0x420D0, asm] - [0x42C30, asm] - [0x42C90, asm] - - [0x43100, asm] - - [0x45CB0, asm] + - [0x43100, c, "class"] + - [0x44340, c, "ability"] + - [0x45480, c, "equipment"] + - [0x45AE0, asm] - [0x46090, asm] - [0x49510, asm] - [0x495E0, asm] @@ -380,26 +387,21 @@ segments: - [0x5C060, asm] - [0x5C1D0, asm] - # - [0x43100, c, "class"] - # - [0x44340, c, "ability"] - # - [0x45480, c, "equipment"] - - - [0x5C210, data] - # - [0x5C210, .data, "dl"] - - # - [0x5CE70, .data, "strategy.data"] - # - [0x5D560, .data, "5D560.data"] - # - [0x5DB10, .data, "class_ability.data"] + - type: code + start: 0x5C210 + subsegments: + - [0x5C210, .data, "dl"] + - [0x5CE70, .data, "strategy.data"] + - [0x5CEF0, data] + - [0x5D560, .data, "5D560.data"] + - [0x5DB10, data] - [0x65D60, rodata, "40E80"] - - [0x65DD0, rodata] - - [0x66310, rodata] - - [0x663C0, rodata] + - [0x65DD0, rodata, "lots_of_data"] - [0x66570, rodata, "46090"] - [0x66B60, rodata, "49A30"] - [0x66B80, rodata, "4EF10"] - [0x66D00, rodata, "514B0"] - # - [0x66D30, rodata] - { start: 0x66E10, type: bss, vram: 0x80190F10 } diff --git a/src/class_ability.data.c b/src/class_ability.data.c deleted file mode 100644 index d0cf6d6..0000000 --- a/src/class_ability.data.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "common.h" - -extern void D_8018FEB8; - -/* 5DB10 80187C10 */ -void* D_80187C10 = &D_8018FEB8; \ No newline at end of file diff --git a/symbol_addrs.txt b/symbol_addrs.txt index e9970ab..979b07c 100644 --- a/symbol_addrs.txt +++ b/symbol_addrs.txt @@ -1,5 +1,21 @@ +__OVERLAY_INFO_resets_menu_timer = 0x8018FB20; +__returns_GLOBAL_with_inc_timer = 0x801779F8; // rom:0x4D8F8 + +__OVERLAY_INFO_23B220 = 0x8018FB38; +__get_overlay_info_23B220 = 0x80177B78; + +__OVERLAY_INFO_213B10 = 0x8018FBC8; +__get_overlay_info_213B10 = 0x80178104; + +__OVERLAY_INFO_2447A0 = 0x8018FBE0; +__get_overlay_info_2447A0 = 0x801782B8; + +__libm_qnan_f = 0x800AEA70; // type:f32 +zero = 0x800AE9D0; // type:f32 +dtor = 0x800AA730; // type:f32 +xseed = 0x800AA740; // type:u32 __MAYBE_VERTICES_801FD350 = 0x801FD350; // rom:0x14E530 __MAYBE_VERTICES_801FD558 = 0x801FD558; // rom:0x14E738 @@ -591,7 +607,6 @@ __inc_menu_timer = 0x8019BCEC; // type:func rom:0x1D21EC __calls_inc_menu_timer = 0x80177A38; // rom:0x4D938 __resets_menu_timer = 0x8019B2E0; // rom:0x1D17E0 __calls_resets_menu_timer = 0x80177A1C; // rom:0x4D91C -__returns_GLOBAL_with_inc_timer = 0x801779F8; // rom:0x4D8F8 __MENU_INDEX = 0x801BA94C; __GLOBAL_WITH__inc_menu_timer = 0x8018FB20; diff --git a/tools/splat b/tools/splat index b9a0298..c6e925f 160000 --- a/tools/splat +++ b/tools/splat @@ -1 +1 @@ -Subproject commit b9a0298609be7598ee35db76e51f108d046c5b30 +Subproject commit c6e925fc9b610a4b0a76f16773595ccaa67d2ffe