Crystal Caves (#44)
This commit is contained in:
parent
76c552f950
commit
05433f30b9
11
Makefile
11
Makefile
|
|
@ -6,6 +6,7 @@ MAIN := main
|
|||
GAME := game
|
||||
OVL_AC := ac
|
||||
OVL_AG := ag
|
||||
OVL_CC := cc
|
||||
OVL_CH := ch
|
||||
OVL_CR := cr
|
||||
OVL_CREDITS := credits
|
||||
|
|
@ -113,7 +114,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 ch cr credits dc gg gy1 gy2 landmap pg sf sv zl
|
||||
overlays: ac ag cc ch cr credits dc gg gy1 gy2 landmap pg sf sv zl
|
||||
|
||||
ac: ovlac_dirs $(BUILD_DIR)/AC.BIN
|
||||
$(BUILD_DIR)/AC.BIN: $(BUILD_DIR)/ovlac.elf
|
||||
|
|
@ -123,6 +124,10 @@ ag: ovlag_dirs $(BUILD_DIR)/AG.BIN
|
|||
$(BUILD_DIR)/AG.BIN: $(BUILD_DIR)/ovlag.elf
|
||||
$(OBJCOPY) -O binary $< $@
|
||||
|
||||
cc: ovlcc_dirs $(BUILD_DIR)/CC.BIN
|
||||
$(BUILD_DIR)/CC.BIN: $(BUILD_DIR)/ovlcc.elf
|
||||
$(OBJCOPY) -O binary $< $@
|
||||
|
||||
ch: ovlch_dirs $(BUILD_DIR)/CH.BIN
|
||||
$(BUILD_DIR)/CH.BIN: $(BUILD_DIR)/ovlch.elf
|
||||
$(OBJCOPY) -O binary $< $@
|
||||
|
|
@ -198,7 +203,7 @@ expected: check
|
|||
|
||||
|
||||
# Assembly extraction
|
||||
extract: extract_main extract_game extract_ovlac extract_ovlag extract_ovlch extract_ovlcr extract_ovlcredits extract_ovldc extract_ovlgg extract_ovlgy1 extract_ovlgy2 extract_ovllandmap extract_ovlpg 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_ovlgg extract_ovlgy1 extract_ovlgy2 extract_ovllandmap extract_ovlpg extract_ovlsf extract_ovlsv extract_ovlzl
|
||||
|
||||
## Main
|
||||
extract_main:
|
||||
|
|
@ -234,6 +239,6 @@ checkformat:
|
|||
# Phony
|
||||
.PHONY: init, all, clean, format, checkformat, check, expected
|
||||
.PHONY: list_src_files, list_o_files, link
|
||||
.PHONY: main game ac ag ch cr credits dc gg gy1 gy2 landmap pg sf sv zl
|
||||
.PHONY: main game ac ag cc ch cr credits dc gg gy1 gy2 landmap pg sf sv zl
|
||||
.PHONY: %_dirs
|
||||
.PHONY: extract, extract_%
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
265ce5dc508002a339ae535e49a5b1b4e683b732 build/MEDIEVIL.EXE
|
||||
fd900ccbc8940620563e60cb47c7124908fbbce0 build/AC.BIN
|
||||
06bf5b6b52e1d4242b406d1fe4684b331c0d5354 build/AG.BIN
|
||||
554cee5a0a2b2160de8818513aecc5f67db219f5 build/CC.BIN
|
||||
87fd421e4990c34075e901b4d658ca51f24ff2c7 build/CH.BIN
|
||||
b52e73eea027f2a517be47b6f2133e3a6ac73a15 build/CR.BIN
|
||||
4ac994ab3ff91dab30cb199e73320c6751965c53 build/CREDITS.BIN
|
||||
|
|
|
|||
|
|
@ -0,0 +1,40 @@
|
|||
name: CC.BIN
|
||||
sha1: 554cee5a0a2b2160de8818513aecc5f67db219f5
|
||||
options:
|
||||
platform: psx
|
||||
basename: ovlcc
|
||||
base_path: ..
|
||||
build_path: build/
|
||||
target_path: disk/OVERLAYS/CC.BIN
|
||||
asm_path: asm/ovl/cc
|
||||
asset_path: assets/ovl/cc
|
||||
src_path: src/ovl/cc
|
||||
compiler: GCC
|
||||
symbol_addrs_path: config/symbols.ovlcc.txt
|
||||
undefined_funcs_auto_path: config/undefined_funcs_auto.ovlcc.txt
|
||||
undefined_syms_auto_path: config/undefined_syms_auto.ovlcc.txt
|
||||
ld_script_path: config/ld/ovlcc.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: ovlcc
|
||||
type: code
|
||||
start: 0x00000000
|
||||
vram: 0x80010000
|
||||
subsegments:
|
||||
- [0x0, rodata]
|
||||
- [0x160, c]
|
||||
- [0x7198, data]
|
||||
- [0xA0A0]
|
||||
|
|
@ -0,0 +1,199 @@
|
|||
#include "common.h"
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80010160);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_8001028C);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800103E4);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80010450);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80010598);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800105E4);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80010630);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_8001067C);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800106C8);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80010888);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80010AA8);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80010C1C);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80010D8C);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80010ECC);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80010F80);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80011110);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80011160);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80011278);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800112F4);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80011390);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800114A0);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_8001162C);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80011688);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800116F4);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80011820);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80011884);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800118B8);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80011A40);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80011E2C);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800121D4);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80012264);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_8001229C);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800123A8);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800125EC);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800126F0);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800127F4);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80012968);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800129AC);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80012A80);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80012AAC);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80012BD4);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80012D08);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80012EE8);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80013070);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80013150);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80013190);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80013330);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80013428);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800134C8);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80013518);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800135EC);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80013640);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80013748);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_8001379C);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80013878);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_8001390C);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800139A0);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80013A68);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80013BD4);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80013CDC);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80013DCC);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80013EF4);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800140A4);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80014100);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80014424);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800145C8);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80014690);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800146E4);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80014A7C);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80014BF4);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80014C38);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80014CAC);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80014EE8);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80015334);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_8001547C);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800156EC);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80015A64);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80015BA8);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80015D54);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80015E5C);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80015EC0);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80015F7C);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80015FC8);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_8001604C);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80016114);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80016258);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800163A8);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80016488);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80016528);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800166F4);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800167C4);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_800168B4);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80016914);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80016B34);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80016D2C);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80016E04);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80016E68);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80016F94);
|
||||
|
||||
INCLUDE_ASM("asm/ovl/cc/nonmatchings/160", func_80017048);
|
||||
Loading…
Reference in New Issue