Extract Return to the Graveyard (#31)

This commit is contained in:
Allison Mackenzie 2023-09-25 18:30:15 -05:00 committed by GitHub
parent 8e0c186b8f
commit 422bf4103a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 227 additions and 3 deletions

View File

@ -8,6 +8,7 @@ OVL_CH := ch
OVL_CR := cr
OVL_DC := dc
OVL_GY1 := gy1
OVL_GY2 := gy2
# Compiler
CC1PSX := ./bin/cc1-2.8.1
@ -103,7 +104,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: ch cr dc gy1
overlays: ch cr dc gy1 gy2
ch: ovlch_dirs $(BUILD_DIR)/CH.BIN
$(BUILD_DIR)/CH.BIN: $(BUILD_DIR)/ovlch.elf
@ -121,6 +122,10 @@ gy1: ovlgy1_dirs $(BUILD_DIR)/GY1.BIN
$(BUILD_DIR)/GY1.BIN: $(BUILD_DIR)/ovlgy1.elf
$(OBJCOPY) -O binary $< $@
gy2: ovlgy2_dirs $(BUILD_DIR)/GY2.BIN
$(BUILD_DIR)/GY2.BIN: $(BUILD_DIR)/ovlgy2.elf
$(OBJCOPY) -O binary $< $@
ovl%_dirs:
$(foreach dir,$(ASM_DIR)/ovl/$* $(ASM_DIR)/ovl/$*/data $(SRC_DIR)/ovl/$* $(ASSETS_DIR)/ovl/$*,$(shell mkdir -p $(BUILD_DIR)/$(dir)))
@ -148,7 +153,7 @@ expected: check
# Assembly extraction
extract: extract_main extract_game extract_ovlch extract_ovlcr extract_ovldc extract_ovlgy1
extract: extract_main extract_game extract_ovlch extract_ovlcr extract_ovldc extract_ovlgy1 extract_ovlgy2
## Main
extract_main:
@ -184,6 +189,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
.PHONY: main game ch cr dc gy1 gy2
.PHONY: %_dirs
.PHONY: extract, extract_%

View File

@ -4,3 +4,4 @@
b52e73eea027f2a517be47b6f2133e3a6ac73a15 build/CR.BIN
9451b3cfe3be9930ebee96e6790e2e6ec4aa22c8 build/DC.BIN
8fc50a18dab3e4fc53fd6927ff00e4e9ead449e0 build/GY1.BIN
0de8a92afb3823b56b7818083ba75b9f6d98e015 build/GY2.BIN

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

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

View File

178
src/ovl/gy2/128.c Normal file
View File

@ -0,0 +1,178 @@
#include "common.h"
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80010128);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800101C4);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_8001032C);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_8001058C);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800105B8);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80010AF4);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80010B34);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80010C2C);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80010C6C);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80010D30);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80011054);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800112D0);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80011388);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800115A4);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80011B0C);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80011C5C);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80011EA4);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80012170);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80012278);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800122B4);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800125A0);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800125E0);
void func_80012620(void) {
}
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80012628);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80012630);
void func_8001272C(void) {
}
void func_80012734(void) {
}
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_8001273C);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80012898);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80012E48);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80012EA0);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80012F14);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80012F5C);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80012F94);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80012FC0);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80012FE4);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80013008);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800130F8);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800131E0);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80013268);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800132FC);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800134E0);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80013674);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80013B18);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80013C0C);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80013D74);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800140E0);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800141A4);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80014200);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80014350);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800143D4);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80014444);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80014484);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_8001465C);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_8001485C);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800148E4);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80014924);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80014B8C);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80014C38);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80014FF8);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80015130);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80015220);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800152D8);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_8001537C);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80015408);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_8001556C);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800158A8);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80015AD4);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80015D14);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80015DA8);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80015E74);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80015F18);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800160FC);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800161A0);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80016284);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800162F8);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80016340);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800164D4);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800166D8);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80016A64);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80016BC4);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80016DC4);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80016EE8);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80016F78);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80017008);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_80017090);
INCLUDE_ASM("asm/ovl/gy2/nonmatchings/128", func_800172B4);