Ant Caves (#39)

This commit is contained in:
Allison Mackenzie 2023-10-09 19:50:45 -05:00 committed by GitHub
parent 5b61e98314
commit 23101f1541
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 311 additions and 3 deletions

View File

@ -4,6 +4,7 @@
# Binaries
MAIN := main
GAME := game
OVL_AC := ac
OVL_AG := ag
OVL_CH := ch
OVL_CR := cr
@ -109,7 +110,11 @@ $(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: ag ch cr dc gy1 gy2 landmap pg sf sv
overlays: ac ag ch cr dc gy1 gy2 landmap pg sf sv
ac: ovlac_dirs $(BUILD_DIR)/AC.BIN
$(BUILD_DIR)/AC.BIN: $(BUILD_DIR)/ovlac.elf
$(OBJCOPY) -O binary $< $@
ag: ovlag_dirs $(BUILD_DIR)/AG.BIN
$(BUILD_DIR)/AG.BIN: $(BUILD_DIR)/ovlag.elf
@ -178,7 +183,7 @@ expected: check
# Assembly extraction
extract: extract_main extract_game extract_ovlag extract_ovlch extract_ovlcr extract_ovldc extract_ovlgy1 extract_ovlgy2 extract_ovllandmap extract_ovlpg extract_ovlsf extract_ovlsv
extract: extract_main extract_game extract_ovlac extract_ovlag extract_ovlch extract_ovlcr extract_ovldc extract_ovlgy1 extract_ovlgy2 extract_ovllandmap extract_ovlpg extract_ovlsf extract_ovlsv
## Main
extract_main:
@ -214,6 +219,6 @@ checkformat:
# Phony
.PHONY: init, all, clean, format, checkformat, check, expected
.PHONY: list_src_files, list_o_files, link
.PHONY: main game ag ch cr dc gy1 gy2 landmap pg sf sv
.PHONY: main game ac ag ch cr dc gy1 gy2 landmap pg sf sv
.PHONY: %_dirs
.PHONY: extract, extract_%

View File

@ -1,5 +1,6 @@
6e59ebb243fcb41152c29406c7f6d30629a1b8c9 build/SCUS_942.27
265ce5dc508002a339ae535e49a5b1b4e683b732 build/MEDIEVIL.EXE
fd900ccbc8940620563e60cb47c7124908fbbce0 build/AC.BIN
06bf5b6b52e1d4242b406d1fe4684b331c0d5354 build/AG.BIN
87fd421e4990c34075e901b4d658ca51f24ff2c7 build/CH.BIN
b52e73eea027f2a517be47b6f2133e3a6ac73a15 build/CR.BIN

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

@ -0,0 +1,40 @@
name: AC.BIN
sha1: fd900ccbc8940620563e60cb47c7124908fbbce0
options:
platform: psx
basename: ovlac
base_path: ..
build_path: build/
target_path: disk/OVERLAYS/AC.BIN
asm_path: asm/ovl/ac
asset_path: assets/ovl/ac
src_path: src/ovl/ac
compiler: GCC
symbol_addrs_path: config/symbols.ovlac.txt
undefined_funcs_auto_path: config/undefined_funcs_auto.ovlac.txt
undefined_syms_auto_path: config/undefined_syms_auto.ovlac.txt
ld_script_path: config/ld/ovlac.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: ovlac
type: code
start: 0x00000000
vram: 0x80010000
subsegments:
- [0x0, rodata]
- [0x138, c]
- [0x97D8, data]
- [0xCB60]

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

262
src/ovl/ac/138.c Normal file
View File

@ -0,0 +1,262 @@
#include "common.h"
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80010138);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80010234);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80010344);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_8001037C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80010400);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80010560);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_8001059C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80010620);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800106AC);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80010808);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80010CA8);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80010DD4);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80010E88);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80010EC8);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80010F64);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_8001119C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80011550);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_8001171C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800119B8);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80011A70);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80011B10);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80011BF4);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80011C44);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80011E2C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80011F48);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80012018);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_8001215C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800122A0);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80012320);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800126D8);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_8001293C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800129DC);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80012BC0);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80012ECC);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80012F78);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800131C4);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_8001349C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_8001358C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80013678);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800137C4);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80013860);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80013A14);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80013A84);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80013ADC);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80013BB4);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80013BF4);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80013D2C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80013D6C);
void func_80013DFC(void) {
}
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80013E04);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80013EC4);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80013FD4);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80014144);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80014448);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800144AC);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_8001450C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80014550);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80014690);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800147E0);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_8001494C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80014C80);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80014CA0);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80014E10);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80015250);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800152A4);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80015338);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_8001550C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80015578);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80015890);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80015AD8);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80015B78);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80015CD8);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80015E30);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80015F40);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800162AC);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_8001639C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80016404);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80016444);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80016494);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800165B4);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800165F4);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80016644);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800166FC);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80016744);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800168B4);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80016904);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800169AC);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80016BA4);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80016DDC);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80016EF0);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80016FC4);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80017064);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800172C0);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80017638);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800178B0);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80017AA4);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80017C68);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80017C88);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80017CA8);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80017DDC);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80017E1C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80017E94);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80017F14);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80017F1C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80017F5C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80018160);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800181B8);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80018200);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_8001825C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80018710);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_8001874C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800187AC);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80018A80);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80018B2C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80018B8C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80018C40);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80018E2C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80018E54);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80018EE8);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80018F3C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80018FC4);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80019038);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80019118);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_8001915C);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80019230);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80019270);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80019528);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80019578);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_800195C4);
INCLUDE_ASM("asm/ovl/ac/nonmatchings/138", func_80019728);