Asylum Grounds (#38)

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

View File

@ -4,6 +4,7 @@
# Binaries
MAIN := main
GAME := game
OVL_AG := ag
OVL_CH := ch
OVL_CR := cr
OVL_DC := dc
@ -108,7 +109,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: ch cr dc gy1 gy2 landmap pg sf sv
overlays: ag ch cr dc gy1 gy2 landmap pg sf sv
ag: ovlag_dirs $(BUILD_DIR)/AG.BIN
$(BUILD_DIR)/AG.BIN: $(BUILD_DIR)/ovlag.elf
$(OBJCOPY) -O binary $< $@
ch: ovlch_dirs $(BUILD_DIR)/CH.BIN
$(BUILD_DIR)/CH.BIN: $(BUILD_DIR)/ovlch.elf
@ -173,7 +178,7 @@ expected: check
# Assembly extraction
extract: extract_main extract_game extract_ovlch extract_ovlcr extract_ovldc extract_ovlgy1 extract_ovlgy2 extract_ovllandmap extract_ovlpg extract_ovlsf extract_ovlsv
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
## Main
extract_main:
@ -209,6 +214,6 @@ checkformat:
# Phony
.PHONY: init, all, clean, format, checkformat, check, expected
.PHONY: list_src_files, list_o_files, link
.PHONY: main game ch cr dc gy1 gy2 landmap pg sf sv
.PHONY: main game 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
06bf5b6b52e1d4242b406d1fe4684b331c0d5354 build/AG.BIN
87fd421e4990c34075e901b4d658ca51f24ff2c7 build/CH.BIN
b52e73eea027f2a517be47b6f2133e3a6ac73a15 build/CR.BIN
9451b3cfe3be9930ebee96e6790e2e6ec4aa22c8 build/DC.BIN

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

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

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

195
src/ovl/ag/118.c Normal file
View File

@ -0,0 +1,195 @@
#include "common.h"
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80010118);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80010390);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80010594);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800106AC);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80010764);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_8001078C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800107C4);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80010840);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80010870);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800108F4);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_8001092C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_8001093C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80010F38);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80010F6C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80010FC4);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80011074);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800110DC);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800111E4);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_8001121C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80011260);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800112EC);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80011320);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80011428);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800114A4);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800115F4);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800118F0);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800119B4);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80011A38);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80011AC4);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80011CFC);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80011D6C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80011F58);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80011FB4);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_8001245C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800125B8);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800125F8);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_8001279C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_8001283C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80012B3C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80012B8C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80012BD8);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80012DE4);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80013048);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80013274);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800132D8);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80013328);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_8001337C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800133CC);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_8001340C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80013458);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80013618);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800136BC);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80013764);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800137A4);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_8001380C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80013840);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800138B0);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80013984);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80013AFC);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80013C24);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80013CA8);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80013D5C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80013DFC);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80013F14);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80014004);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80014184);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_8001437C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80014578);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800145CC);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800146F0);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800148C8);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80014988);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80014BAC);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80014E1C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80014EA4);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80014F4C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80015000);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80015064);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_8001512C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80015160);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800151F0);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80015368);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800156D0);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80015718);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80015888);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800158D8);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80015918);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80015A5C);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80015C14);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80015CB0);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80015D08);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80015F24);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800160E4);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80016144);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_80016170);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800162F0);
INCLUDE_ASM("asm/ovl/ag/nonmatchings/118", func_800163F4);