Title Level (#54)

This commit is contained in:
Allison Mackenzie 2023-10-15 21:16:44 -05:00 committed by GitHub
parent 91ce5afcb0
commit d54bb89972
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 240 additions and 3 deletions

View File

@ -125,7 +125,7 @@ $(BUILD_DIR)/$(GAME).elf: $(call list_o_files,game)
$(foreach dir,$(ASM_DIR)/$* $(ASM_DIR)/$*/data $(SRC_DIR)/$* $(ASSETS_DIR)/$*,$(shell mkdir -p $(BUILD_DIR)/$(dir)))
### Overlays ###
overlays: ac ag cc ch cr credits dc ee eh gg gs gy1 gy2 hh hr ia la landmap pd pg ps sf sv zl
overlays: ac ag cc ch cr credits dc ee eh gg gs gy1 gy2 hh hr ia la landmap pd pg ps sf sv tl zl
ac: ovlac_dirs $(BUILD_DIR)/AC.BIN
$(BUILD_DIR)/AC.BIN: $(BUILD_DIR)/ovlac.elf
@ -219,6 +219,10 @@ sv: ovlsv_dirs $(BUILD_DIR)/SV.BIN
$(BUILD_DIR)/SV.BIN: $(BUILD_DIR)/ovlsv.elf
$(OBJCOPY) -O binary $< $@
tl: ovltl_dirs $(BUILD_DIR)/TL.BIN
$(BUILD_DIR)/TL.BIN: $(BUILD_DIR)/ovltl.elf
$(OBJCOPY) -O binary $< $@
zl: ovlzl_dirs $(BUILD_DIR)/ZL.BIN
$(BUILD_DIR)/ZL.BIN: $(BUILD_DIR)/ovlzl.elf
$(OBJCOPY) -O binary $< $@
@ -250,7 +254,7 @@ expected: check
# Assembly extraction
extract: extract_main extract_game extract_ovlac extract_ovlag extract_ovlcc extract_ovlch extract_ovlcr extract_ovlcredits extract_ovldc extract_ovlee extract_ovleh extract_ovlgg extract_ovlgs extract_ovlgy1 extract_ovlgy2 extract_ovlhh extract_ovlhr extract_ovlia extract_ovlla extract_ovllandmap extract_ovlpd extract_ovlpg extract_ovlps extract_ovlsf extract_ovlsv extract_ovlzl
extract: extract_main extract_game extract_ovlac extract_ovlag extract_ovlcc extract_ovlch extract_ovlcr extract_ovlcredits extract_ovldc extract_ovlee extract_ovleh extract_ovlgg extract_ovlgs extract_ovlgy1 extract_ovlgy2 extract_ovlhh extract_ovlhr extract_ovlia extract_ovlla extract_ovllandmap extract_ovlpd extract_ovlpg extract_ovlps extract_ovlsf extract_ovlsv extract_ovltl extract_ovlzl
## Main
extract_main:
@ -286,6 +290,6 @@ checkformat:
# Phony
.PHONY: init, all, clean, format, checkformat, check, expected
.PHONY: list_src_files, list_o_files, link
.PHONY: main game ac ag cc ch cr credits dc ee eh gg gs gy1 gy2 hh hr ia la landmap pd pg ps sf sv zl
.PHONY: main game ac ag cc ch cr credits dc ee eh gg gs gy1 gy2 hh hr ia la landmap pd pg ps sf sv tl zl
.PHONY: %_dirs
.PHONY: extract, extract_%

View File

@ -23,4 +23,5 @@ ab7967451c8395c76bdc683b78d42bd60e47405d build/PG.BIN
92c871bee68855dad4229da6d15fbaaa00b802cf build/PS.BIN
3a9943f5922c2bcd8a5960bf29c738a705d15eac build/SF.BIN
7a5b3a3f15a61ebb69e1fe98893a7fa9e3289407 build/SV.BIN
b511b56db83862ed017fc72cdbb833f2e06de58e build/TL.BIN
37bbf2910f86cb3629d9dac3576017a9aac63433 build/ZL.BIN

40
config/splat.ovltl.yaml Normal file
View File

@ -0,0 +1,40 @@
name: TL.BIN
sha1: b511b56db83862ed017fc72cdbb833f2e06de58e
options:
platform: psx
basename: ovltl
base_path: ..
build_path: build/
target_path: disk/OVERLAYS/TL.BIN
asm_path: asm/ovl/tl
asset_path: assets/ovl/tl
src_path: src/ovl/tl
compiler: GCC
symbol_addrs_path: config/symbols.ovltl.txt
undefined_funcs_auto_path: config/undefined_funcs_auto.ovltl.txt
undefined_syms_auto_path: config/undefined_syms_auto.ovltl.txt
ld_script_path: config/ld/ovltl.ld
find_file_boundaries: yes
use_legacy_include_asm: no
migrate_rodata_to_functions: yes
asm_jtbl_label_macro: jlabel
section_order:
- ".rodata"
- ".text"
- ".data"
subalign: 2
rodata_string_guesser_level: 2
data_string_guesser_level: 2
segments:
- name: ovltl
type: code
start: 0x00000000
vram: 0x80010000
subsegments:
- [0x0, rodata]
- [0x80, c]
- [0x8120, data]
- [0x8F24]

0
config/symbols.ovltl.txt Normal file
View File

192
src/ovl/tl/80.c Normal file
View File

@ -0,0 +1,192 @@
#include "common.h"
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80010080);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800104C4);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800105C0);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80010808);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800110AC);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800110CC);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800113A4);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800113D8);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80011730);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80011750);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80011DB8);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_8001203C);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80012284);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80012300);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_8001233C);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_8001236C);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_8001262C);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_8001268C);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_8001279C);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80012840);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800128BC);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80012908);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80012944);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800129B0);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800136F0);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80013CB4);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80013D24);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80013D8C);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80013E58);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80013EC4);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800140F0);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80014138);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800142A8);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80014630);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_8001466C);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80014788);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80014F64);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80014FE0);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800152AC);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80015368);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800153D0);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800153F8);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80015454);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800154A0);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80015664);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80015968);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800159FC);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80015AA4);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80015CC0);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80015CE0);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80015D10);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80015D94);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80015DB4);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80015E68);
void func_80015EDC(void) {
}
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80015EE4);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80015F70);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80016058);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800160BC);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80016408);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80016434);
void func_8001643C(void) {
}
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80016444);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80016480);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800164B8);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800164F0);
void func_80016594(void) {
}
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_8001659C);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800165D4);
void func_800165F8(void) {
}
void func_80016600(void) {
}
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80016608);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800167C4);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_8001680C);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80016844);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80016878);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800168B4);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800168E4);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80016938);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80016970);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800169B0);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80016D34);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80016F3C);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_800173D0);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80017428);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80017518);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_8001763C);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80017B24);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80017C94);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80017CD8);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80017E54);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80017FA4);
INCLUDE_ASM("asm/ovl/tl/nonmatchings/80", func_80018094);