Added SHIFT-JIS encoding to splat

Added `iconv` to build commands to support SHIFT-JIS
Removed `rodata` from `main`
This commit is contained in:
gijs 2023-09-26 19:11:25 +02:00
parent 27d9014398
commit feafad101d
4 changed files with 49 additions and 391 deletions

View File

@ -48,6 +48,8 @@ LD := $(CROSS)ld
OBJDUMP := $(CROSS)objdump
AS := $(CROSS)as
ICONV := iconv
OBJCOPY := $(CROSS)objcopy
STRIP := $(CROSS)strip
@ -74,6 +76,7 @@ ASFLAGS := -I include -EB -mtune=vr4300 -march=vr4300
CPPFLAGS := $(IINC) -DBUILD_VERSION=VERSION_J -D_LANGUAGE_C -D_FINALROM -DF3DEX_GBI_2 -D_MIPS_SZLONG=32 -nostdinc -mgp32 -mfp32 -mips2
CFLAGS := -c -G0 -mgp32 -mfp32 -mips2
LDFLAGS := -T undefined_syms.txt -T undefined_syms_auto.txt -T undefined_funcs_auto.txt -T undefined_funcs.txt -T $(LD_SCRIPT) -Map $(LD_MAP) --no-check-sections
ICONV_FLAGS := --from-code=UTF-8 --to-code=Shift-JIS
OPTFLAGS := -O2
@ -142,13 +145,13 @@ $(BUILD_DIR):
$(BUILD_DIR)/src/%.c.o: src/%.c $(SPLAT_TIMESTAMP) | $(BUILD_DIR)
@$(P)$(PRINT)$(GREEN)Compiling C file: $(ENDGREEN)$(BLUE)$<$(ENDBLUE)$(ENDLINE)
@mkdir -p $(shell dirname $@)
$(V)$(CC) $(CFLAGS) $(OPTFLAGS) $(CPPFLAGS) -o $@ $<
$(V)$(CC) $(CFLAGS) $(OPTFLAGS) $(CPPFLAGS) -E $< | $(ICONV) $(ICONV_FLAGS) | $(CC) -x c $(CFLAGS) $(OPTFLAGS) $(CPPFLAGS) -c -o $@ -
# Assemble .s files with modern gnu as
$(BUILD_DIR)/asm/%.s.o: asm/%.s | $(BUILD_DIR)
@$(P)$(PRINT)$(GREEN)Assembling asm file: $(ENDGREEN)$(BLUE)$<$(ENDBLUE)$(ENDLINE)
@mkdir -p $(shell dirname $@)
$(V)$(AS) $(ASFLAGS) -o $@ $<
$(V)$(ICONV) $(ICONV_FLAGS) $< | $(AS) $(ASFLAGS) -o $@
# Create .o files from .bin files.
$(BUILD_DIR)/%.bin.o: %.bin | $(BUILD_DIR)

View File

@ -22,11 +22,11 @@ options:
# src_path: src
# build_path: build
extensions_path: tools/splat_ext
# string_encoding: SHIFT-JIS
# data_string_encoding: SHIFT-JIS
string_encoding: SHIFT-JIS
data_string_encoding: SHIFT-JIS
# mips_abi_float_regs: o32
# section_order: [".text", ".data", ".rodata", ".bss"]
# auto_all_sections: [".data", ".rodata", ".bss"]
# section_order: [".text", ".data", "rodata", ".bss"]
# auto_all_sections: [".data", "rodata", ".bss"]
# libultra_symbols: True
# hardware_regs: True
segments:
@ -59,11 +59,11 @@ segments:
# - [0x68E0, asm]
# - [0x8700, asm]
# - [0xA370, asm, "lha"]
- [0xFC80, c, "boot"]
- [0xFDC0, c, "_ob_spooky_degree"]
- [0xFF10, c, "_ob_offbeat_discovery"]
- [0x10110, c, "_ob_ambitious_fold"]
- [0x10190, c, "_ob_rebel_pull"]
- [0xFC80, asm, "boot"]
- [0xFDC0, asm, "_ob_spooky_degree"]
- [0xFF10, asm, "_ob_offbeat_discovery"]
- [0x10110, asm, "_ob_ambitious_fold"]
- [0x10190, asm, "_ob_rebel_pull"]
- [0x10250, asm]
- [0x102E0, asm]
- [0x10340, asm]
@ -116,14 +116,14 @@ segments:
- [0x19E10, asm]
- [0x19E30, asm]
- [0x19EB0, asm]
- [0x19FC0, c, "black"]
- [0x1A050, c, "_ob_icy_coast"]
- [0x1A4F0, c, "rom_copy"]
- [0x1A5B0, c, "_ob_unusual_spiders"]
- [0x1A660, c, "_ob_prized_reading"]
- [0x1A9A0, c, "_ob_silly_cactus"]
- [0x1AA00, c, "_ob_classy_fold"]
- [0x1AAA0, c, "_ob_dull_silver"]
- [0x19FC0, asm, "black"]
- [0x1A050, asm, "_ob_icy_coast"]
- [0x1A4F0, asm, "rom_copy"]
- [0x1A5B0, asm, "_ob_unusual_spiders"]
- [0x1A660, asm, "_ob_prized_reading"]
- [0x1A9A0, asm, "_ob_silly_cactus"]
- [0x1AA00, asm, "_ob_classy_fold"]
- [0x1AAA0, asm, "_ob_dull_silver"]
- [0x1AD10, asm]
- [0x1AFD0, asm]
- [0x1B030, asm]
@ -134,9 +134,9 @@ segments:
- [0x1B2E0, asm]
- [0x1B320, asm]
- [0x1B360, asm]
- [0x1B3A0, c, "_ob_electric_zephyr"]
- [0x1B3E0, c, "_ob_grumpy_island"]
- [0x1B510, c, "_ob_painful_roll"]
- [0x1B3A0, asm, "_ob_electric_zephyr"]
- [0x1B3E0, asm, "_ob_grumpy_island"]
- [0x1B510, asm, "_ob_painful_roll"]
- [0x1B530, asm]
- [0x1B650, asm]
- [0x1B7A0, asm]
@ -318,14 +318,14 @@ segments:
- [0x3A2F0, .data, "gfx/ob_saucy_hose"]
- [0x3A3E0, data]
- [0x3E100, .rodata, "main"]
- [0x3E100, data]
- [0x3E330, rodata, "_ob_overconfident_mother"]
# - [0x3E460, rodata]
- [0x3E7A0, .rodata, "_ob_spooky_degree"]
- [0x3E7C0, .rodata, "_ob_ambitious_fold"]
- [0x3E7D0, .rodata, "_ob_rebel_pull"]
- [0x3E7A0, rodata, "_ob_spooky_degree"]
- [0x3E7C0, rodata, "_ob_ambitious_fold"]
- [0x3E7D0, rodata, "_ob_rebel_pull"]
- [0x3E7F0, rodata, "10CF0"]
- [0x3E800, rodata, "11170"]
- [0x3E810, rodata, "libmus/player"]
@ -368,12 +368,12 @@ segments:
# Complete
find_file_boundaries: False
subsegments:
- [0x3F1B0, c, "ob_knotty_chess"]
- [0x3F1B0, asm, "ob_knotty_chess"]
- [0x3FE70, asm, "ob_voracious_expansion"]
- [0x40640, data]
- [0x40E10, .rodata, "ob_knotty_chess"]
- [0x40E10, rodata, "ob_knotty_chess"]
- { start: 0x40E80, type: bss, vram: 0x800EB8F0 }
@ -385,7 +385,7 @@ segments:
# Complete
find_file_boundaries: False
subsegments:
- [0x40E80, c, "segment_obdata/_ob_blushing_ship"]
- [0x40E80, asm, "segment_obdata/_ob_blushing_ship"]
- [0x41C20, asm, "segment_obdata/_ob_hard_hands"]
- [0x420D0, asm, "segment_obdata/_ob_awful_bells"]
- [0x42C30, asm, "segment_obdata/_ob_ugliest_snow"]
@ -395,13 +395,13 @@ segments:
# - [0x44340, c, "ability"]
# - [0x45480, c, "equipment"]
- [0x45CB0, asm, "segment_obdata/_ob_tall_hill"]
- [0x46090, c, "segment_obdata/_ob_hunky_silver"]
- [0x46090, asm, "segment_obdata/_ob_hunky_silver"]
- [0x49510, asm, "segment_obdata/_ob_safe_songs"]
- [0x495E0, asm, "segment_obdata/_ob_abandoned_shape"]
- [0x49820, asm, "segment_obdata/_ob_hardy_thrill"]
- [0x49A30, c, "segment_obdata/_ob_worthless_drawer"]
- [0x514B0, c, "segment_obdata/_ob_squeamish_mask"]
- [0x5A030, c, "segment_obdata/_ob_utopian_queen"]
- [0x49A30, asm, "segment_obdata/_ob_worthless_drawer"]
- [0x514B0, asm, "segment_obdata/_ob_squeamish_mask"]
- [0x5A030, asm, "segment_obdata/_ob_utopian_queen"]
- [0x5AFF0, asm, "segment_obdata/_ob_pithy_collar"]
- [0x5C060, asm, "segment_obdata/_ob_hallowed_class"]
- [0x5C1D0, asm, "segment_obdata/_ob_driven_channel"]
@ -417,7 +417,7 @@ segments:
- [0x5CCD0, .data, "gfx/_ob_aspiring_shade"]
- [0x5CD20, .data, "gfx/_ob_exciting_skirt"]
- [0x5CD70, .data, "gfx/_ob_shy_yak"]
- [0x5CE70, .data, "data/strategy"]
- [0x5CE70, data, "data/strategy"]
- [0x5CEF0, data]
- [0x5CF00, data]
- [0x5CF20, data]
@ -440,13 +440,13 @@ segments:
- [0x65C50, data]
- [0x65CC0, data]
- [0x65D60, .rodata, "segment_obdata/_ob_blushing_ship"]
- [0x65D60, rodata, "segment_obdata/_ob_blushing_ship"]
- [0x65DD0, rodata, "data/class_ability"]
- [0x66310, rodata, "data/item"]
- [0x665C0, .rodata, "segment_obdata/_ob_hunky_silver"]
- [0x66B60, .rodata, "segment_obdata/_ob_worthless_drawer"]
- [0x66D00, .rodata, "segment_obdata/_ob_squeamish_mask"]
- [0x66DA0, .rodata, "segment_obdata/_ob_utopian_queen"]
- [0x665C0, rodata, "segment_obdata/_ob_hunky_silver"]
- [0x66B60, rodata, "segment_obdata/_ob_worthless_drawer"]
- [0x66D00, rodata, "segment_obdata/_ob_squeamish_mask"]
- [0x66DA0, rodata, "segment_obdata/_ob_utopian_queen"]
- { start: 0x66E10, type: bss, vram: 0x80190F10 }
@ -587,9 +587,9 @@ segments:
# Complete
find_file_boundaries: False
subsegments:
- [0xE48F0, c, "speech"]
- [0xE48F0, asm, "speech"]
- [0xEAF00, .rodata, "speech"]
- [0xEAF00, rodata, "speech"]
- { start: 0xEBBB0, type: bss, vram: 0x8019EE30 }
@ -604,9 +604,9 @@ segments:
# Complete
find_file_boundaries: False
subsegments:
- [0xEBBB0, c, "overlay_EBBB0/ob_noble_cabbage"]
- [0xED530, c, "overlay_EBBB0/ob_overrated_spoon"]
- [0xF6340, c, "overlay_EBBB0/ob_used_shop"]
- [0xEBBB0, asm, "overlay_EBBB0/ob_noble_cabbage"]
- [0xED530, asm, "overlay_EBBB0/ob_overrated_spoon"]
- [0xF6340, asm, "overlay_EBBB0/ob_used_shop"]
- [0xF8550, data]
- [0xF9A70, data, "gfx/ob_macho_spoon"]
@ -614,8 +614,8 @@ segments:
- [0xF9D90, data, "gfx/ob_terrible_curve"]
- [0xF9E60, data]
- [0xF9E70, .rodata, "overlay_EBBB0/ob_noble_cabbage"]
- [0xF9EA0, .rodata, "overlay_EBBB0/ob_overrated_spoon"]
- [0xF9E70, rodata, "overlay_EBBB0/ob_noble_cabbage"]
- [0xF9EA0, rodata, "overlay_EBBB0/ob_overrated_spoon"]
- { start: 0xF9FF0, type: bss, vram: 0x801AD290 }

View File

@ -278,12 +278,3 @@ INCLUDE_ASM(const s32, "main", func_800742F4);
INCLUDE_ASM(const s32, "main", func_80074494);
INCLUDE_RODATA(const s32, "main", STR_FAILED_TO_CONTROL_THE_HEATER);
INCLUDE_RODATA(const s32, "main", STR_ADDING_NEW_DATA);
INCLUDE_RODATA(const s32, "main", STR_CREATING_A_NEW_FILE);
INCLUDE_RODATA(const s32, "main", STR_CREATING_NEW_DATA);
INCLUDE_RODATA(const s32, "main", STR_buSave_SAVING);

View File

@ -1,336 +0,0 @@
#include "common.h"
void func_800746C0(void) {
}
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800746C8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80074834);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", buSave);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800749C0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80074AD4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80074BF0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80074C58);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", romCopy_256);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80074DA0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80074F9C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007513C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80075224);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80075360);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007541C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80075578);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80075688);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007578C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80075858);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800758FC);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007599C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80075A84);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80075AC4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80075B00);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80075B60);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __calls_loads_overlay_array);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076150);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076188);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076194);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800761A4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __loads_overlay_array);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076324);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __get_overlay_index);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800764E0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800765D8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076AE8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076DC8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076E00);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076E2C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076E58);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076EAC);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076F00);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80076F5C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007705C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80077160);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80077200);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80077288);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80077314);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", UnusedMallocNo);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800773D4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007740C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007745C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80077494);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800775EC);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80077BF8);
void func_80077F80(void) {
}
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80077F88);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800780D4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80078164);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007819C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800782EC);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80078300);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007834C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80078658);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80078674);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007896C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80078C6C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079028);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007913C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079358);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079380);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007938C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079618);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079850);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_800798AC);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079950);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079AFC);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079BD8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079CB4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079D60);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079D98);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079DF8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079E50);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079E9C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079EF4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_80079F70);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007A070);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", Unpack);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __read_u32_le);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007A80C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007AB30);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007AB7C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007ABAC);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", UnpackProc);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007ACB0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007AE9C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007AF3C);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE060);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE068);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE070);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE078);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE080);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE088);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE090);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE098);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE0A0);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", STR_rb);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE0AC);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", D_800AE0C8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007AFE4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007B710);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007B744);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007B7A8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007B83C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", can_log_crc_error);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", STR_FILE_NOT_FOUND);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007BA98);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007BB48);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __log_lha_error);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __log_fatal_error_desc);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __log_fatal_error);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", STR_LHa___s_s__s);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", STR_Error);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", STR_Fatal_error);
INCLUDE_RODATA(const s32, "ro_ob_overconfident_mother", STR_EMPTY);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007BC24);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007BF10);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007C204);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007C25C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007C378);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007C438);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007C538);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __logs_read_error);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007C74C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007CAB8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007CE48);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007D200);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007D594);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007D5B8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007D7BC);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007D8A8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007DBF4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007DDF0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007DFF0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007E2F8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007E698);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007E6DC);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007E800);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007E8F0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007EE2C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F1A0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F1F8);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F218);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F234);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F314);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F334);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F408);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F450);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F47C);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F4B0);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F4E4);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __file_read);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", __file_write);
void func_8007F640(void) {
}
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F648);
INCLUDE_ASM(const s32, "ro_ob_overconfident_mother", func_8007F844);