Symbols fix (#16)

This commit is contained in:
Alejandro Asenjo Nitti 2023-09-13 18:26:59 -03:00 committed by GitHub
parent 627102e9ae
commit 10dc8a4b90
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 12 additions and 9 deletions

2
.gitignore vendored
View File

@ -6,5 +6,5 @@ build
disk
generated.symbols*
undefined*
*auto.*.txt
*.ld

View File

@ -61,12 +61,12 @@ define link
$(LD) $(LD_FLAGS) -o $(2) \
-Map $(BUILD_DIR)/$(1).map \
-T $(CONFIG_DIR)/ld/$(1).ld \
-T $(CONFIG_DIR)/undefined_syms.txt \
-T $(CONFIG_DIR)/undefined_syms_auto.$(1).txt \
-T $(CONFIG_DIR)/undefined_funcs_auto.$(1).txt
endef
######################### Build system #########################
all: build check
@ -122,11 +122,11 @@ expected: check
# Assembly extraction
extract: extract_ovlcr extract_ovlch extract_game
extract_game:
cat $(CONFIG_DIR)/symbols/symbols.txt $(CONFIG_DIR)/symbols/symbols.game.txt > $(CONFIG_DIR)/symbols/generated.symbols.txt
cat $(CONFIG_DIR)/symbols.txt $(CONFIG_DIR)/symbols.game.txt > $(CONFIG_DIR)/generated.symbols.txt
$(SPLAT) $(CONFIG_DIR)/splat.game.yaml
extract_ovl%:
cat $(CONFIG_DIR)/symbols/symbols.txt $(CONFIG_DIR)/symbols/symbols.ovlcr.txt > $(CONFIG_DIR)/symbols/generated.symbols.ovlcr.txt
cat $(CONFIG_DIR)/symbols.txt $(CONFIG_DIR)/symbols.ovl$*.txt > $(CONFIG_DIR)/generated.symbols.ovl$*.txt
$(SPLAT) $(CONFIG_DIR)/splat.ovl$*.yaml

View File

@ -22,7 +22,7 @@ options:
section_order: [".rodata", ".text", ".data", ".bss"]
symbol_addrs_path: config/symbols/symbols.game.txt
symbol_addrs_path: config/symbols.game.txt
undefined_funcs_auto_path: config/undefined_funcs_auto.game.txt
undefined_syms_auto_path: config/undefined_syms_auto.game.txt
ld_script_path: config/ld/game.ld

1
config/symbols.txt Normal file
View File

@ -0,0 +1 @@
g_CurrentEntity = 0x1F8000A4;

View File

@ -6,3 +6,5 @@ typedef struct Entity {
/* 0x94 */ char pad_94[0x10];
/* 0xA4 */ s32 unkA4;
} Entity;
extern Entity* g_CurrentEntity;

View File

@ -18,7 +18,7 @@ INCLUDE_ASM("asm/ovl/ch/nonmatchings/B0", func_80010E50);
INCLUDE_ASM("asm/ovl/ch/nonmatchings/B0", func_800110C0);
void func_80011128(void) {
void BoulderDestroy(void) {
Entity* currentEntity = *(s32*)0x1F8000A4;
Boulder* temp_s0 = (Boulder*)currentEntity->unk90;
@ -35,9 +35,9 @@ void func_80011128(void) {
}
#ifndef NON_MATCHING
INCLUDE_ASM("asm/ovl/ch/nonmatchings/B0", func_8001119C);
INCLUDE_ASM("asm/ovl/ch/nonmatchings/B0", BoulderSmash);
#else
bool func_8001119C(void) {
bool BoulderSmash(void) {
Entity* currentEntity = *(s32*)0x1F8000A4;
Boulder* boulder = (Boulder*)currentEntity->unk90;